careadlinkat: stop exporting careadlinkatcwd
[gnulib.git] / ChangeLog
1 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2
3         careadlinkat: stop exporting careadlinkatcwd
4         Only Emacs used it directly, and Emacs no longer needs it.
5         * NEWS: Document this simplification.
6         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
7         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
8         for readlink.
9         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
10         Don't include stdlib.h; no longer needed.
11         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
12         * lib/relocwrapper.c: Adjust comment to match new dependencies.
13         * modules/areadlink (Depends-on): Add readlink.
14         (Maintainer): Add self.
15         * modules/careadlinkat (Depends-on): Remove readlink.
16
17         extensions: port better to HP-UX
18         This is merged from git Autoconf.
19         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
20         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
21         so that it's compatible with the value used when compiling.
22
23         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
24         Problem reported by Mats Erik Andersson in
25         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
26         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
27         openpty function exists, not merely when we intend to replace it.
28         This corrects the 2013-01-31 patch, which mistakenly defined
29         HAVE_OPENPTY even on hosts that lacked it.
30
31 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
32
33         secure_getenv: fix include typo
34         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
35
36         secure_getenv: port better to FreeBSD and Solaris
37         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
38         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
39         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
40         This works better on BSDish platforms.
41         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
42         Test for issetugid if __secure_getenv is missing.
43
44 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
45
46         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
47         Some of these changes are merged in from git Autoconf.
48         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
49         When deciding whether to define _XOPEN_SOURCE, inspect the
50         preprocessor macro __hpux instead of the more-heavyweight
51         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
52         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
53         as the key for __EXTENSIONS__.
54
55         unistd: avoid namespace pollution on non-glibc systems
56         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
57         This avoids namespace pollution on non-glibc systems, by causing
58         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
59         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
60         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
61
62 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63
64         tmpdir: use secure_getenv
65         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
66         Define to secure_getenv, not getenv.
67         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
68         as that's now secure_getenv's job.
69         * modules/tmpdir (Depends-on): Add secure_getenv.
70
71         tempname: use secure_getenv
72         * lib/tempname.c (__secure_getenv) [!_LIBC]:
73         Define to secure_getenv, not getenv.
74         * modules/tempname (Depends-on):
75         Add secure_getenv.
76
77         secure_getenv: new module
78         * MODULES.html.sh (Extra functions based on ANSI C 89):
79         Add secure_getenv.
80         * doc/glibc-functions/secure_getenv.texi: New file.
81         * doc/gnulib.texi: Include it.
82         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
83         New files.
84         * lib/stdlib.in.h (secure_getenv): New decl.
85         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
86         * modules/stdlib (stdlib.h):
87         Add secure_getenv checks.
88
89 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
90
91         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
92         Reported for OS X 10.8.2 by Assaf Gordon in
93         <http://bugs.gnu.org/13516>.
94         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
95         !HAVE_OPENAT && !HAVE_FDOPENDIR.
96         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
97         so that they can be kept in sync more easily.  Avoid PATH_MAX
98         test on the Hurd.  Sync from test-getcwd.c for errno tests after
99         mkdir or chdir failure.
100         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
101         lib/getcwd.c.
102         (test_abort_bug): Do not test for the deep directory bug unless we
103         have openat support.  Avoid PATH_MAX test on the Hurd.
104
105         regex-tests, regex: fix bug: memset undeclared
106         * tests/test-regex.c: Don't include regex.h twice.  Include
107         string.h, to declare memset.  Christensen's report also mentioned
108         this issue.
109         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
110         test-regex.c, to avoid future problems like this.  Remove
111         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
112         twice.
113
114         regex-tests: fix link errors on older Solaris
115         These need to link with @LIBINTL@ to get libintl_gettext.
116         Problem reported by Tom G. Christensen in
117         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
118         * modules/regex-tests (test_regex_LDADD): New macro.
119
120 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
121
122         regex-tests: new module
123         * modules/regex-tests, tests/test-regex.c: New files.
124
125         regex: fix off-by-one error in configure test
126         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
127
128 2013-01-31  Eric Blake  <eblake@redhat.com>
129
130         regex: avoid infinite configure test
131         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
132
133 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
134
135         openpty: fix bug where HAVE_OPENPTY wasn't defined
136         See the thread starting at:
137         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
138         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
139         openpty function exists, not merely when we intend to replace it.
140
141 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
142
143         sys_time: port to Solaris 2.6
144         There is a circularity problem on Solaris 2.6, where <time.h> includes
145         <sys/time.h> for struct timespec.  The include nesting is gnulib
146         <time.h>, system <time.h>, gnulib <sys/time.h>, system
147         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
148         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
149         <sys/siginfo.h>; the last, innermost file needs struct
150         timestruc_t, which is defined in <sys/time.h>, which has not been
151         fully parsed.  Problem reported by Tom G. Christensen in
152         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
153         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
154         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
155         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
156         uses split double-inclusion guards.
157
158 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
159
160         regex: test for buffer overrun
161         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
162         for the just-fixed regex bug.
163
164 2013-01-29  Andreas Schwab  <schwab@suse.de>
165
166         regex: fix buffer overrun in regexp matcher
167         * lib/regexec.c (extend_buffers): Add parameter min_len.
168         (check_matching): Pass minimum needed length.
169         (clean_state_log_if_needed): Likewise.
170         (get_subexp): Likewise.
171
172 2013-01-28  Pádraig Brady  <P@draigBrady.com>
173
174         mountlist: don't consider "devtmpfs" as dummy
175         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
176         as there is storage associcated with it.
177
178 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
179
180         futimens-tests, utimens-tests: Depend on gettext.
181         This works around a problem introduced in my 2013-01-12 patch,
182         which added @LIBINTL@ to these modules.
183         * modules/futimens-tests (Depends-on):
184         * modules/utimens-tests (Depends-on): Add gettext.
185
186 2013-01-26  Eric Blake  <eblake@redhat.com>
187
188         test-getpeername: fix typo
189         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
190
191 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
192
193         bootstrap: remove the need for a sorted .gitignore file
194         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
195         rename to insert_if_absent(), so that we don't need or generate
196         a sorted .gitignore file.  We do require a .gitignore with no
197         existing duplicate entries and enforce that.
198         (sort_patterns): Remove this function as we now use the simpler
199         technigue of inserting blacklist entries at the top of the file,
200         assuming gnulib won't be inserting !whitelist entries.
201
202 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
203
204         readlinkat: don't depend on gl_FUNC_OPENAT
205         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
206         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
207         renameat.m4, symlinkat.m4; but one thing at a time.
208
209         statat: new module, split out from fstatat
210         GNU Emacs needs the POSIX-specified fstatat, but not the
211         gnulib-specified statat and lstat.  Split the latter two into a
212         new module 'statat'.
213         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
214         * lib/openat.h, lib/statat.c (STATAT_INLINE):
215         Rename from FSTATAT_INLINE. All uses changed.
216         * modules/fstatat (Files): Remove lib/statat.c.
217         (gl_MODULE_INDICATOR([fstatat])): Remove.
218         (lib_SOURCES): Remove.
219         (Maintainer): Add self.
220         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
221         * tests/test-fstatat.c (BASE): Don't define if already defined.
222         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
223
224 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
225
226         tests: don't assume fd 99 is closed
227         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
228         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
229         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
230         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
231         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
232         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
233         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
234         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
235         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
236         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
237         * tests/test-fwrite.c, tests/test-getpeername.c:
238         * tests/test-getsockname.c, tests/test-getsockopt.c:
239         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
240         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
241         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
242         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
243         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
244         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
245         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
246         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
247         * tests/test-unlinkat.c, tests/test-unlockpt.c:
248         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
249         Close file descriptor 99, instead of assuming it's already closed.
250
251 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
252
253         stpncpy: port to OS X 10.8
254         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
255         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
256
257 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
258
259         unistd: port to recent mingw
260         * lib/unistd.in.h: Remove special invocation convention for mingw,
261         which breaks for the latest mingw version.  See John W. Eaton in
262         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
263
264         largefile: port better to Mac OS X 10.5
265         This patch is backported from Autoconf git.
266         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
267         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
268         with ino_t size being different for configuration time versus
269         build/run time.  Problem reported by PHO in
270         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
271
272 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
273
274         doc: clarify -Werror
275         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
276         clarify that it's intended for developers, not for ordinary builds,
277         and mention --enable-gcc-warnings as one possible use.
278
279 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
280
281         stdint: fix build with Android's Bionic fox x86
282         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
283         was already included as _SSIZE_T_DEFINED_ might also be defined
284         in include/machine/_types.h, which is included by stdio.h
285
286 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
287
288         net_if-tests: port to Solaris 7 + GCC 3.4.6
289         Problem reported by Tom G. Christensen in
290         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
291         * tests/test-net_if.c (ni): Move to next the code that uses it,
292         so that it's declared only if needed.
293
294 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
295
296         net_if-tests: port to older Solaris
297         Problem reported by Tom G. Christensen in
298         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
299         * modules/net_if-tests (NET_IF_LIB): New substitution.
300         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
301         (HAVE_IF_NAMEINDEX): New C macro.
302         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
303
304         system-quote-tests: port to older Solaris
305         Problem reported by Tom G. Christensen in
306         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
307         * tests/test-system-quote-child.c (fopen, fread): Undef.
308
309         c-xvasprintf etc.: fix link errors on older Solaris
310         These need to link with @LIBINTL@ to get libintl_gettext.
311         Problem reported by Tom G. Christensen in
312         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
313         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
314         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
315         * modules/futimens-tests (test_futimens_LDADD):
316         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
317
318 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
319
320         locale: port to Solaris 2.6 and 7 + GNU gettext
321         * lib/locale.in.h: Just include_next <locale.h> when
322         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
323         when combining the localename module with GNU gettext 0.18.2.
324         Problem reported by Tom G. Christensen in
325         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
326
327 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
328
329         stdlib: port to Solaris 2.6
330         Also, the code worked on Solaris 7 through 9 only by accident.
331         Problem reported by Tom G. Christensen in
332         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
333         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
334         simply include the system stdlib.h.
335         * lib/getopt.in.h (__need_system_stdlib_h):
336         * lib/pthread.in.h (__need_system_stdlib_h):
337         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
338         Define when including <stdlib.h>, to avoid problems at least for
339         the pthread case on Solaris 2.6 and 7.  These .h files can get by
340         with the system stdlib.h.
341
342 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
343
344         doc: update main copyright year
345         * doc/gnulib.texi: Update copyright date.
346
347         doc: improve ISO 8601 discussion
348         * doc/parse-datetime.texi (Combined date and time of day items):
349         Specify more carefully what formats are supported and what is
350         done with excess precision.
351
352 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
353
354         doc: avoid small caps
355         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
356         they're more trouble than they're worth.  Suggested by Karl Berry
357         in <http://bugs.gnu.org/13360>.
358
359         regex: conform to strict C
360         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
361         From Aharon Robbins.
362
363         gnulib-tool: fix incompatibility with autopoint 0.18.2
364         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
365         Problem reported by Tom G. Christensen in
366         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
367
368 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
369
370         fprintftime: bring back and reword fwrite comment
371         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
372
373         stdio: remove now-unnecessary stdio.c
374         Since stdio.in.h no longer uses inline functions, we no longer
375         need to compile the extern versions.
376         * lib/stdio.c: Remove.
377         * modules/stdio (Files): Remove lib/stdio.c.
378         (lib_SOURCES): Remove.
379
380         unicodeio: depend on stdio, not ignore-value
381         * lib/unicodeio.c: Do not include ignore-value.h.
382         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
383         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
384
385         fprintftime: depend on stdio, not ignore-value
386         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
387         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
388         since the stdio module arranges to silence that warning now.
389         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
390
391 2012-10-04  Simon Josefsson  <simon@josefsson.org>
392
393         stdint-tests: Fix expanded-before-required-warning.
394         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
395
396 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
397
398         fwrite: silence __wur only for older glibc versions
399         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
400         This will help us remove this workaround some time in the far future.
401
402 2013-01-03  Eric Blake  <eblake@redhat.com>
403
404         fwrite: silence __wur without using inline
405         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
406         just gcc, and in a way that avoids inline issues.
407         * modules/stdio (Depends-on): Drop extern-inline.
408
409 2013-01-03  Jim Meyering  <jim@meyering.net>
410
411         update-copyright: avoid copyright notice date corruption
412         Given a sequence of copyright year numbers in which the final
413         one was a two-digit number that happened to be a substring of
414         a preceding four-digit year number, we would mistakenly update
415         the substring (from two- to four-digit) rather than the two-digit
416         number at the end, which, combined with the addition of the current
417         4-digit year number would yield two 5-digit year numbers, e.g.,
418         here, it would convert the first "99" to "1999, 2013" rather than
419         the final one:
420           1991, 99
421           11999, 20131, 1999
422         * build-aux/update-copyright: Tighten a regexp.
423         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
424         Reported by Joseph Myers in
425         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
426
427 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
428
429         regex: omit needless signed-pointer casts
430         * lib/regcomp.c (build_charclass, build_charclass_op):
431         Use char *, not unsigned char *, for class name and extra.
432         The char values are always nonnegative so there's no need to
433         insist on unsigned char * here, and using char * removes the need
434         for casts.  Reported by Aharon Robbins in
435         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
436
437         regex: support Gawk, which never uses alloca
438         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
439         Do not include in this case.  Gawk doesn't supply a substitute
440         alloca.h and doesn't need one.
441
442         regex: port __libc_lock_define usage to C89
443         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
444         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
445         does not conform to C89, as it has an empty macro argument.
446         Reported by Aharon Robbins in
447         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
448
449 2013-01-01  Eric Blake  <eblake@redhat.com>
450
451         maint: update all copyright year number ranges
452         Run "make update-copyright".
453
454         version-etc: bump copyright year reported in --version
455         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
456
457 2012-12-31  Eric Blake  <eblake@redhat.com>
458
459         sigprocmask-tests: skip test if pid is unexpectedly large
460         * tests/test-sigprocmask.c (main): Add range check.
461
462         git-version-gen: avoid test -z portability glitch
463         * build-aux/git-version-gen: Prefer portable test spelling, since
464         git-version-gen is run on more than just developer machines.
465
466 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
467
468         git-version-gen: add --fallback option to use if git is not present
469         * build-aux/git-version-gen: Add support for the new option --fallback,
470         which comes into play when there is no $tarball_version_file and
471         git is not working.
472         (scriptversion): Update.
473
474         maint.mk: handle missing git with more grace
475         * top/maint.mk (no-submodule-changes, public-submodule-commit):
476         Quietly proceed if git is not present.
477
478 2012-12-31  Eric Blake  <eblake@redhat.com>
479
480         dup2: work around cygwin bug
481         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
482         * lib/dup2.c (rpl_dup2): Work around it.
483         * doc/posix-functions/dup2.texi (dup2): Document it.
484
485 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
486
487         regex: remove unnecessary dependency on localcharset.h
488         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
489         hasn't been needed for years.
490         * modules/regex (Depends-on): Remove localcharset.
491
492         regex: revert single-byte change
493         * lib/regexec.c (check_node_accept_bytes): Revert previous change
494         to this function.  This was alredy fixed in a different way, at
495         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
496         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
497         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
498
499         regex: simplify based on Gawk version
500         * lib/regex_internal.c (re_dfa_add_node): Simplify.
501         Reported by Aharon Robbins in
502         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
503
504 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
505
506         regex: check that pattern char is single-byte
507         Reported by Aharon Robbins in
508         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
509         * lib/regexec.c (check_node_accept_bytes):
510         Return 0 if the pattern string has a multibyte character here.
511
512         regex: implement rational ranges
513         Reported by Aharon Robbins in
514         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
515         * lib/regcomp.c (build_range_exp) [!_LIBC]:
516         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
517         Implement rational ranges.
518
519         regex: avoid redefining __wctype
520         Reported by Aharon Robbins in
521         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
522         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
523         #undef before defining.
524
525         regex: port to hosts where malloc (0) == NULL
526         Reported by Aharon Robbins in
527         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
528         * lib/regex_internal.c (re_node_set_alloc):
529         Don't assume that malloc (0) yields nonnull.
530         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
531         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
532         * modules/regex (Files): Add m4/eealloc.m4.
533
534         regex: port to C89
535         Reported by Aharon Robbins in
536         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
537         * lib/regcomp.c (init_word_char): Declaration before statement.
538
539         regex: merge glibc changes
540         Also, copy the license wording from glibc.  This simplifies
541         merging changes.  gnulib-tool will change the wording to GPL as
542         appropriate, when importing it to other packages.  The only
543         glibc change made since the last merge, which needs merging, is:
544         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
545         * lib/regex_internal.h (gettext): Remove use of INTUSE.
546
547         * users.txt: Add Emacs.
548
549         doc: omit mention of version when not needed
550         * doc/gnulib-intro.texi (Portability and Application Code):
551         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
552         Don't mention particular dates or versions when not necessary, so
553         that the documentation won't go out of date so quickly.
554
555         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
556
557 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
558
559         bootstrap: pass --force to autoreconf.
560         * build-aux/bootstrap (AUTORECONFFLAGS): New.
561         Add "--force" so that Automake's ylwrap and other such tools
562         be updated at each bootstrap invocation.
563         Use it.
564
565 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
566
567         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
568         The earlier patch forgot to update one of the #if conditions, causing
569         a problem on Debian testing i386 reported by Mats Erik Andersson
570         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
571         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
572         (__argp_fmtstream_puts, argp_fmtstream_puts)
573         (__argp_fmtstream_write, argp_fmtstream_write)
574         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
575
576         * doc/gnulib-readme.texi: Minor fixups.
577         (Portability guidelines): Modernize URLs.  Remove some repetition.
578         (Indent with spaces not TABs): Reword to avoid too-long lines.
579         Remove some '@ifset standalone' stuff that isn't used.
580
581         * doc/gnulib-readme.texi (Portability guidelines):
582         ctype.h, not ctime.h.
583
584         Correct name of POSIX.1-2001.
585         * doc/posix-functions/fgetc.texi (fgetc):
586         * doc/posix-functions/fgets.texi (fgets):
587         * doc/posix-functions/fread.texi (fread):
588         * doc/posix-functions/fscanf.texi (fscanf):
589         * doc/posix-functions/getc.texi (getc):
590         * doc/posix-functions/getchar.texi (getchar):
591         * doc/posix-functions/scanf.texi (scanf):
592         POSIX.1-2001, not POSIX-2001.
593
594         doc: move README into manual
595         * README: Move contents to new file doc/gnulib-readme.texi.
596         Replace with a one-line summary.
597         * doc/gnulib.texi (Brief Overview): New section,
598         with old intro preface.  Include gnulib-readme.texi for contents.
599         (Philosophy): Rename from "Introduction", since this
600         section no longer introduces the rest.  Write a new preface.
601         * doc/gnulib-readme.texi: New file, with the old contents of
602         README texinfo-ized.  This way, the README info appears
603         in the online and printed manual.
604
605 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
606
607         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
608         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
609         c_vasprintf() prototype.
610
611 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
612
613         c-vasprintf: Fix "empty declaration" warning reported by GCC.
614         * lib/c-vasprintf.h: Remove stray semicolon.
615
616 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
617
618         gettext: avoid obsolete macro AM_PROG_MKDIR_P
619         It is obsolete and is planned to be removed from Automake 1.14; see
620         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
621         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
622         (installdirs-data, installdirs-data-yes):
623         Use $(MKDIR_P), not $(mkdir_p).
624         * m4/intl.m4 (AM_INTL_SUBDIR):
625         * m4/po.m4 (AM_PO_SUBDIRS):
626         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
627
628 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
629
630         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
631         On this platform, we are not optimizing but we are using
632         the substitute for extern inlines, so compile as if
633         C99-style extern inline, or a substitute, is available.
634         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
635         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
636         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
637         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
638         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
639         Declare as ARGP_FS_EI, not as extern.
640         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
641         (__option_is_short, _option_is_end, __option_is_end)
642         [!_LIBC && __USE_EXTERN_INLINES]:
643         Declare as ARGP_EI, not as extern.
644
645 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
646
647         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
648         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
649         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
650         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
651         ...), as the latter is fatal with older Autoconfs.
652         Problem reported and fix suggested by Eric Blake in thread starting at
653         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
654
655 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
656
657         AC_PROG_MKDIR_P: don't workaround if not buggy
658         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
659         Define only for Autoconf versions before 2.62.
660         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
661         undocumented m4_PACKAGE_VERSION, for consistency with the
662         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
663         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
664         was introduced in 2.62.
665
666 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
667
668         New 'c-*printf' modules for formatted output in C locale.
669
670         New module 'c-vasnprintf'.
671         * modules/c-vasnprintf: New file.
672         * lib/c-vasnprintf.c: New file.
673         * lib/c-vasnprintf.h: New file.
674
675         New module 'c-snprintf'.
676         * modules/c-snprintf: New file.
677         * modules/c-snprintf-tests: New file.
678         * lib/c-snprintf.c: New file.
679         * lib/c-snprintf.h: New file.
680         * tests/test-c-snprintf.c: New file.
681         * tests/test-c-snprintf.sh: New file.
682
683         New module 'c-vsnprintf'.
684         * modules/c-vsnprintf: New file.
685         * modules/c-vsnprintf-tests: New file.
686         * lib/c-vsnprintf.c: New file.
687         * lib/c-vsnprintf.h: New file.
688         * tests/test-c-vsnprintf.c: New file.
689         * tests/test-c-vsnprintf.sh: New file.
690
691         New module 'c-vasprintf'.
692         * modules/c-vasprintf: New file.
693         * modules/c-vasprintf-tests: New file.
694         * lib/c-asprintf.c: New file.
695         * lib/c-vasprintf.c: New file.
696         * lib/c-vasprintf.h: New file.
697         * tests/test-c-vasprintf.c  +: New file.
698         * tests/test-c-vasprintf.sh: New file.
699
700         New module 'c-xvasprintf'.
701         * modules/c-xvasprintf: New file.
702         * modules/c-xvasprintf-tests: New file.
703         * lib/c-xasprintf.c: New file.
704         * lib/c-xvasprintf.c: New file.
705         * lib/c-xvasprintf.h: New file.
706         * tests/test-c-xvasprintf.c: New file.
707         * tests/test-c-xvasprintf.sh: New file.
708
709 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
710
711         argp: better 'inline'
712         Use extern-inline module to declare extern inline functions.
713         This avoids some bogus warning diagnostics.  Problem discovered
714         when modifying GNU tar to use the manywarnings module.
715         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
716         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
717         Define based on extern-inline.
718         * modules/argp (Depends-on): Add extern-inline.
719
720 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
721
722         filemode, sys_stat: Handle MPX files a la AIX.
723         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
724         * lib/sys_stat.in.h (S_ISMPX): New macro.
725         * tests/test-sys_stat.c: Add tests for MPX files.
726
727 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
728
729         x-to-1: honor $PERL
730         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
731         a chance to use his preferred version of Perl.  This is typically
732         required by Darwin users whose default /usr/bin/perl does not have all
733         the libraries required by help2man, and who need to use their MacPorts
734         installation of Perl instead.
735
736 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
737
738         gnu-web-doc-update: add all the new files, even in new directories
739         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
740         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
741         Use it.
742         (main): Don't use cvsutils to get the list of unknown files,
743         just add all the existing files and directories.
744
745 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
746
747         gnu-web-doc-update: improve --help
748         * build-aux/gnu-web-doc-update: Move comments into --help.
749
750 2012-12-07  Eric Wong  <normalperson@yhbt.net>
751
752         mountlist: recognize more "dummy" file systems
753         * lib/mountlist.c (ME_DUMMY_0):
754         Add these dummy FS names to the list:
755         - "debugfs" virtual filesystem for kernel debugging
756         - "devpts" PTY slave filesystem
757         - "devtmpfs" device filesystem on top of tmpfs/ramfs
758         - "fusectl" control filesystem for FUSE
759         - "mqueue" enumerates POSIX message queues
760         - "rpc_pipefs" kernel <-> userspace bridge for NFS
761         - "sysfs" is for exporting kernel objects
762         - "devfs" device filesystem for Linux 2.4 and FreeBSD
763
764 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
765
766         extern-inline: avoid incompatibility with Darwin Libc
767         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
768         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
769         Problem reported by Akim Demaille in
770         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
771
772 2012-12-11  Simon Josefsson  <simon@josefsson.org>
773
774         gnupload: Work with GnuPG using gpg-agent (for smartcards).
775         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
776         let it handle password prompting.
777
778 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
779
780         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
781         * lib/canonicalize.c (canonicalize_filename_mode):
782         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
783         fetching the current directory.  Don't overrun the beginning of
784         rpath if there's no slashes after the MS-Windows drive letter.
785
786 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
787
788         maint.mk: avoid extra forks
789         * top/maint.mk (_cfg_mk): The GNU make manual documents that
790         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
791         So use that instead of "$(shell test -f FILE && echo FILE)".
792
793 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
794
795         vasnprintf: fix ASCII_ONLY typo
796         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
797         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
798         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
799         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
800         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
801
802 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
803
804         list, oset, xlist, xoset: fix extern inline issue with C99
805         This was introduced by my recent changes for 'inline'.
806         Problem reported for gettext by Daiki Ueno in
807         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
808         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
809         (gl_list_nx_create, gl_list_size, gl_list_node_value)
810         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
811         (gl_list_previous_node, gl_list_get_at)
812         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
813         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
814         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
815         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
816         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
817         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
818         (gl_list_iterator_free, gl_sortedlist_search)
819         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
820         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
821         (gl_sortedlist_remove):
822         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
823         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
824         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
825         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
826         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
827         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
828         (gl_list_add_at, gl_sortedlist_add):
829         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
830         Wrap these extern decls inside "#if 0", because they are implemented
831         as inline functions, and extern inline is not what's wanted here.
832         It would simplify these .h files to remove the extern decls entirely,
833         although a downside would be less-clear separation between
834         specification and implementation.
835
836 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
837
838         sys_stat: no 'static inline'
839         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
840         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
841
842         extern-inline: no 'static inline'
843         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
844         Do not require AC_C_INLINE.
845         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
846         'static inline', for older compilers.
847
848         snippet/warn-on-use: no 'static inline'
849         * build-aux/snippet/warn-on-use.h:
850         Remove unnecessary 'inline' in comment.
851
852         rbtree-list, rbtreehash-list: no 'static inline'
853         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
854         * lib/gl_anytree_list2.h (node_at):
855         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
856         (gl_oset_first, add_nodes_to_buckets):
857         Now static, not static inline.
858
859         regex: no 'static inline'
860         * lib/regex_internal.c (calc_state_hash):
861         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
862         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
863         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
864         Now static, not static inline.
865         (inline) [__GNUC__ < 3 && _LIBC]:
866         Remove macro; no longer needed.
867
868         xvasprintf: no 'static inline'
869         * lib/xvasprintf.c (xstrcat):
870         Now static, not static inline.
871         * m4/xvasprintf.m4 (gl_XVASPRINTF):
872         Do not require AC_C_INLINE.
873
874         parse-datetime, parse-duration: no 'static inline'
875         * lib/parse-datetime.y (to_uchar):
876         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
877         (scale_n_add):
878         Now static, not static inline.
879         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
880         * modules/parse-duration (configure.ac):
881         Do not require AC_C_INLINE.
882
883         getaddrinfo: no 'static inline'
884         * lib/getaddrinfo.c (validate_family):
885         Now static, not static inline.
886         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
887         Do not require AC_C_INLINE.
888
889         ftruncate, fts, lstat, openat, raise: no 'static inline'
890         * lib/ftruncate.c (chsize_nothrow):
891         * lib/fts.c (opendirat, diropen):
892         * lib/lstat.c (orig_lstat):
893         * lib/openat.c (orig_openat):
894         * lib/raise.c (raise_nothrow):
895         Now static, not static inline.
896         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
897         * m4/fts.m4 (gl_FUNC_FTS_CORE):
898         * m4/lstat.m4 (gl_PREREQ_LSTAT):
899         * m4/openat.m4 (gl_PREREQ_OPENAT):
900         * m4/raise.m4 (gl_PREREQ_RAISE):
901         Do not require AC_C_INLINE.
902
903         fflush, stat: no 'static inline'
904         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
905         (clear_ungetc_buffer, disable_seek_optimization)
906         (restore_seek_optimization, update_fpos_cache):
907         * lib/stat.c (orig_stat):
908         Now static, not static inline.
909         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
910         (update_fpos_cache):
911         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
912         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
913         * m4/stat.m4 (gl_PREREQ_STAT):
914         Do not require AC_C_INLINE.
915
916         error, filevercmp: no 'static inline'
917         * lib/error.c (is_open, flush_stdout):
918         * lib/filevercmp.c (order):
919         Now static, not static inline.
920         * m4/error.m4 (gl_PREREQ_ERROR):
921         * modules/filevercmp (configure.ac):
922         Do not require AC_C_INLINE.
923
924         dup, execute, fatal-signal, etc.: no 'static inline'
925         * lib/dup.c (dup_nothrow):
926         * lib/execute.c (nonintr_close, nonintr_open):
927         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
928         * lib/fopen.c (orig_fopen):
929         * lib/freadseek.c (freadptrinc):
930         * lib/freopen.c (orig_freopen):
931         * lib/fstat.c (orig_fstat, fstat_nothrow):
932         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
933         (get_rusage_as_via_iterator):
934         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
935         * lib/getdtablesize.c (_setmaxstdio_nothrow):
936         * lib/isatty.c (_isatty_nothrow):
937         * lib/open.c (orig_open):
938         * lib/read.c (read_nothrow):
939         * lib/sigprocmask.c (signal_nothrow):
940         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
941         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
942         * lib/wait-process.c (unregister_slave_subprocess):
943         * lib/write.c (write_nothrow):
944         Now static, not static inline.
945         * lib/spawn-pipe.c (nonintr_open): Define only if
946         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
947         * m4/dup.m4 (gl_PREREQ_DUP):
948         * m4/execute.m4 (gl_EXECUTE):
949         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
950         * m4/fopen.m4 (gl_PREREQ_FOPEN):
951         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
952         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
953         * m4/fstat.m4 (gl_PREREQ_FSTAT):
954         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
955         * m4/isatty.m4 (gl_PREREQ_ISATTY):
956         * m4/open.m4 (gl_PREREQ_OPEN):
957         * m4/read.m4 (gl_PREREQ_READ):
958         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
959         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
960         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
961         * m4/wait-process.m4 (gl_WAIT_PROCESS):
962         * m4/write.m4 (gl_PREREQ_WRITE):
963         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
964         Do not require AC_C_INLINE.
965
966         c-strtod, memcoll, readutmp: no 'static inline'
967         * lib/c-strtod.c (c_locale):
968         * lib/memcoll.c (strcoll_loop):
969         * lib/readutmp.c (desirable_utmp_entry):
970         Now static, not static inline.
971         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
972         * m4/memcoll.m4 (gl_MEMCOLL):
973         * m4/readutmp.m4 (gl_READUTMP):
974         Do not require AC_C_INLINE.
975
976         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
977         * lib/arctwo.c (to_uchar):
978         * lib/md4.c (set_uint32):
979         * lib/md5.c (set_uint32):
980         * lib/sha1.c (set_uint32):
981         * lib/sha256.c (set_uint32):
982         * lib/sha512.c (set_uint64):
983         Now static, not static inline.  This is a bit simpler, and doesn't
984         affect performance with GCC and default optimization.
985         * m4/arctwo.m4 (gl_ARCTWO):
986         * m4/md4.m4 (gl_MD4):
987         * m4/md5.m4 (gl_MD5):
988         * m4/sha1.m4 (gl_SHA1):
989         * m4/sha256.m4 (gl_SHA256):
990         * m4/sha512.m4 (gl_SHA512):
991         Do not require AC_C_INLINE.
992
993         cond, lock, thread: better 'inline'
994         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
995         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
996         New macros.  Use them instead of static inline, for header functions.
997         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
998         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
999         * lib/glthread/lock.c (gl_waitqueue_init)
1000         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1001         * lib/glthread/thread.c (get_current_thread_handle):
1002         Change 'static inline' to 'inline'.
1003         * lib/glthread/cond.h, lib/glthread/thread.h:
1004         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1005         * m4/cond.m4 (gl_COND):
1006         * m4/lock.m4 (gl_PREREQ_LOCK):
1007         * m4/thread.m4 (gl_THREAD):
1008         Do not require AC_C_INLINE.
1009         * modules/cond, modules/thread (Depends-on): Add extern-inline.
1010
1011         chdir-long, cycle-check, savewd: better 'inline'
1012         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
1013         (find_non_slash):
1014         * lib/cycle-check.c (is_zero_or_power_of_two):
1015         * lib/savewd.c (savewd_delegating):
1016         Change 'static inline' to 'inline'.
1017         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
1018         Replace all remaining uses of 'static inline' with it.
1019         * lib/savewd.h:
1020         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1021         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
1022         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
1023         * m4/savewd.m4 (gl_SAVEWD):
1024         Do not require AC_C_INLINE.
1025         * modules/savewd (Depends-on): Add extern-inline.
1026
1027         base32, base64: no need for 'inline'
1028         * lib/base32.c (to_uchar, get_8, decode_8):
1029         * lib/base64.c (to_uchar, get_4, decode_4):
1030         Change 'static inline' to 'inline'.
1031         * m4/base32.m4 (gl_PREREQ_BASE32):
1032         * m4/base64.m4 (gl_PREREQ_BASE64):
1033         Do not require AC_C_INLINE.
1034
1035         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
1036         * lib/gl_array_oset.c (gl_array_nx_add_at):
1037         (gl_array_remove_at):
1038         * lib/gl_linkedhash_list.c (hash_resize_after_add)
1039         (add_to_bucket, remove_from_bucket):
1040         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
1041         Change 'static inline' to 'static', as it's simpler to omit
1042         'inline' unless there's a significant performance advantage.
1043
1044         list, oset, xlist, xoset, xsublist: simplify via extern inline
1045         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
1046         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
1047         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
1048         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
1049         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
1050         New macro.  Replace all uses of 'static inline' with it.
1051         [HAVE_INLINE]: Implement functions as *_INLINE functions,
1052         instead of as macros FOO that are defined to static inline
1053         functions FOO_inline.
1054         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
1055         * lib/gl_xsublist.c:
1056         Reimplement from scratch, by defining the corresponding *_INLINE
1057         macro and including the corresponding .h file.  This is simpler.
1058         * modules/list, modules/oset, modules/xlist, modules/xoset:
1059         (Files): Remove m4/gl_list.m4.
1060         (configure.ac): Remove gl_LIST.
1061         * m4/gl_list.m4: Remove.
1062         * modules/list, modules/oset, modules/xlist, modules/xoset:
1063         * modules/xsublist:
1064         (Depends-on): Depend on extern-inline, not inline.
1065
1066         xalloc: better 'inline'
1067         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
1068         New macro.  Replace all uses of 'static inline' with it.
1069         (static_inline): Remove.
1070         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
1071         Let 'extern inline' do the work automatically, instead of doing
1072         it by hand.
1073         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
1074         Remove.  All uses removed.
1075         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
1076
1077         gethrxtime: better 'inline'
1078         * lib/xtime.c: New file.
1079         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
1080         * lib/xtime.h (XTIME_INCLUDE):
1081         New macros.  Replace all uses of 'static inline' with them.
1082         * lib/gethrxtime.c (gethrxtime): Define only if
1083         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
1084         this source file is now always compiled, because of the extern inline.
1085         * lib/gethrxtime.h, lib/xtime.h:
1086         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1087         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
1088         if gethrtime works, as they're not needed in that case.
1089         (gl_XTIME): Do not require AC_C_INLINE.
1090         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
1091         compiled now.  Move the check into gl_GETHRXTIME.
1092         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
1093         (Depends-on): Add extern-inline.
1094         (configure.ac): gethrxtime is always compiled now.
1095         (lib_SOURCES): Add gethrxtime.c.
1096
1097         wctype-h: better 'inline'
1098         * lib/wctype-h.c: New file.
1099         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
1100         New macro.  Replace all uses of 'static inline' with it.
1101         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1102         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
1103         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
1104         (Depends-on): Add extern-inline.
1105
1106         unistd: better 'inline'
1107         * lib/unistd.c: New file.
1108         * lib/unistd.in.h (_GL_UNISTD_INLINE):
1109         New macro.  Replace all uses of 'static inline' with it.
1110         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1111         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
1112         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
1113         (Depends-on): Add extern-inline.
1114
1115         sys_socket: better 'inline'
1116         * lib/sys_socket.c: New file.
1117         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
1118         New macro.  Replace all uses of 'static inline' with it.
1119         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1120         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
1121         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
1122         (Depends-on): Add extern-inline.
1123
1124         stdio: better 'inline'
1125         * lib/stdio.c: New file.
1126         * lib/stdio.in.h (_GL_STDIO_INLINE):
1127         New macro.  Replace all uses of 'static inline' with it.
1128         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1129         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
1130         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
1131         (Depends-on): Add extern-inline.
1132
1133         sigaction: better 'inline'
1134         * lib/sig-handler.c: New file.
1135         * lib/sig-handler.h (SIG_HANDLER_INLINE):
1136         New macro.  Replace all uses of 'static inline' with it.
1137         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1138         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
1139         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
1140         (Depends-on): Add extern-inline.
1141
1142         selinux-h: better 'inline'
1143         * lib/se-context.c, lib/se-selinux.c: New files.
1144         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
1145         * lib/se-context.in.h (SE_CONTEXT_INLINE):
1146         New macro.  Replace all uses of 'static inline' with it.
1147         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1148         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
1149         New macro.  Replace all uses of 'static inline' with it.
1150         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1151         * modules/selinux-h (Files, lib_SOURCES):
1152         Add lib/se-context.c, lib/se-selinux.c.
1153         (Depends-on): Add extern-inline.
1154         (configure.ac): Do not require AC_C_INLINE.
1155
1156         pthread: better 'inline'
1157         * lib/pthread.c: New file.
1158         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
1159         New macro.  Replace all uses of 'static inline' with it.
1160         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1161         * m4/pthread.m4 (gl_PTHREAD_CHECK):
1162         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
1163         * modules/pthread (Files): Add lib/pthread.c.
1164         (Depends-on): Add extern-inline.
1165
1166         math: better 'inline'
1167         * lib/math.c: New file.
1168         * lib/math.in.h (_GL_MATH_INLINE):
1169         New macro.  Replace all uses of 'static inline' with it.
1170         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1171         * m4/math_h.m4 (gl_MATH_H):
1172         Do not require AC_C_INLINE.
1173         * modules/math (Files, lib_SOURCES):
1174         Add lib/math.c.
1175         (Depends-on): Add extern-inline.
1176
1177         count-one-bits: better 'inline'
1178         * lib/count-one-bits.c: New file.
1179         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
1180         New macro.  Replace all uses of 'static inline' with it.
1181         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1182         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
1183         Do not require AC_C_INLINE.
1184         * modules/count-one-bits (Files, lib_SOURCES):
1185         Add lib/count-one-bits.c.
1186         (Depends-on): Add extern-inline.
1187
1188         count-leading-zeros: better 'inline'
1189         * lib/count-leading-zeros.c: New file.
1190         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
1191         New macro.  Replace all uses of 'static inline' with it.
1192         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1193         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
1194         Do not require AC_C_INLINE.
1195         * modules/count-leading-zeros (Files, lib_SOURCES):
1196         Add lib/count-leading-zeros.c.
1197         (Depends-on): Add extern-inline.
1198
1199         bitrotate: better 'inline'
1200         * lib/bitrotate.c: New file.
1201         * lib/bitrotate.h (BITROTATE_INLINE):
1202         New macros.
1203         Replace all uses of 'static inline' with them.
1204         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1205         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
1206         (Depends-on): Add extern-inline.
1207         (configure.ac): Do not require AC_C_INLINE.
1208
1209 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
1210
1211         maint.mk: avoid gratuitous failure
1212         Reported by Stefano Lattarini in
1213         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
1214         * top/maint.mk (public-submodule-commit): Quote more safely.
1215
1216 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
1217
1218         canonicalize, canonicalize-lgpl: support MS-Windows file names
1219         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
1220         for test cases, which it'd be nice to add at some point.
1221         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
1222         * lib/canonicalize.c (canonicalize_filename_mode):
1223         * lib/canonicalize-lgpl.c (__realpath):
1224         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
1225         slash is at the beginning of the file name.  Use ISSLASH, instead
1226         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
1227         the first character with '/'.  Test for
1228         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
1229         with a drive letter.
1230         * lib/canonicalize.c (SLASHES): New macro.
1231         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
1232
1233 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
1234
1235         fts: introduce FTS_VERBATIM
1236         * lib/fts_.h (FTS_VERBATIM): New bit flag.
1237         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
1238         * lib/fts.c (fts_open): Honor it.
1239
1240 2012-11-09  Pádraig Brady  <P@draigBrady.com>
1241
1242         getlogin-tests: allow errno == ENXIO
1243         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1244         with errno == ENXIO (No controlling tty).
1245         getlogin_r-tests: Likewise. Also allow errno == ENOENT
1246         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
1247         with errno == ENOENT.  This was reported to happen in various
1248         situations on GNU/Linux.
1249
1250 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1251
1252         getlogin-tests: allow errno == ENOENT
1253         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1254         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
1255         when running a test in an Emacs shell buffer.
1256
1257 2012-11-08  Jim Meyering  <jim@meyering.net>
1258
1259         tests/nap.h: avoid warning about unused variable
1260         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
1261
1262         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
1263         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
1264         white space before each of the special-cased file names, to avoid
1265         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
1266         in http://bugs.gnu.org/12830.
1267
1268 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
1269
1270         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
1271         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
1272         fails with errno == EBADF when fd is opened with O_PATH.
1273         Reported by Jim Meyering in
1274         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
1275         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1276         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
1277
1278 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1279
1280         test-utimens: speed up by taking shorter naps
1281         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
1282         New functions.
1283         (nap): Use them, to do a better job of guessing the delay.
1284         On Fedora 17 with ext4 atop md atop hard disks, this made
1285         test-utimens run 10x faster, because the test napped for
1286         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
1287         <http://bugs.gnu.org/12820#11>.
1288
1289 2012-11-07  Jim Meyering  <jim@meyering.net>
1290
1291         mountlist.c: fix a compilation failure
1292         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
1293         I introduced while transforming commit v0.0-7683-g613bcb6
1294
1295 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1296
1297         errno: port to LynxOS 178 2.2.2
1298         Problem reported by Joel Brobecker in
1299         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
1300         * doc/posix-headers/errno.texi (errno.h): Document this.
1301         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
1302         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
1303         Supply a string for EILSEQ.
1304         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
1305
1306 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1307
1308         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
1309         Linux kernel 2.6.39 introduced O_PATH (see
1310         <http://lwn.net/Articles/433854/>) and this is a better fallback
1311         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
1312         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1313         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
1314         * lib/fcntl.in.h (O_ACCMODE):
1315         * tests/test-fcntl-h.c (main):
1316         Do not reject O_ACCMODE merely because it has more than the
1317         minimal number of bits, as POSIX allows extensions here.
1318
1319 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
1320
1321         mountlist: do not classify a bind-mounted dir entry as "dummy"
1322         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
1323         the "none"-testing clause.
1324         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
1325         exception for bind-mounted directories.
1326
1327 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
1328
1329         quote: provide a means to escape strings with nul characters
1330         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
1331         (quote, quote_n): Rename formal arguments for consistency with
1332         quotearg.
1333
1334 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
1335
1336         test-raise: don't assume 199 is an invalid signal
1337         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
1338
1339         sh-quote-tests: port to Solaris 9
1340         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
1341         Problem reported by Dagobert Michelsen in
1342         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
1343
1344 2012-10-28  Jim Meyering  <jim@meyering.net>
1345
1346         maint.mk: rename a new configurable variable
1347         * top/maint.mk (_gl_translatable_string_re): Rename from
1348         translation-markers: _gl_ prefix to insulate from user Makefile code,
1349         and the _re suffix to inform that it's a regular expression.
1350
1351 2012-10-26  Eric Blake  <eblake@redhat.com>
1352
1353         maint.mk: let packages tweak sc_po_check pattern
1354         * top/maint.mk (sc_po_check): Add translation-markers, to allow
1355         finding files with other translation markers.
1356
1357 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
1358
1359         euidaccess: speed up 'configure' on GNU hosts
1360         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
1361         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
1362         it's needed only in this case.  Use AC_CHECK_DECLS, not
1363         AC_CHECK_DECLS_ONCE.
1364         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
1365         or AC_REQUIRE for AC_FUNC_GETGROUPS.
1366
1367         * lib/regexec.c (re_search_internal): Fix grammar in comment.
1368
1369 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1370
1371         fchmodat, fchownat, fstatat: port to non-inlining compilers
1372         Problem reported for FreeBSD 9 by Jim Meyering in
1373         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
1374         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
1375         New files, which define FCHMODAT_INLINE etc.
1376         * lib/fchmodat.c (FCHMODAT_INLINE):
1377         * lib/fchownat.c (FCHOWNAT_INLINE):
1378         * lib/fstatat.c (FSTATAT_INLINE):
1379         Remove, as chmodat.c etc. now do this.
1380         * modules/fchmodat (Files): Add lib/chmodat.c.
1381         * modules/fchownat (Files): Add lib/chownat.c.
1382         * modules/fstatat (Files): Add lib/statat.c.
1383
1384 2012-10-15  Jim Meyering  <jim@meyering.net>
1385
1386         fchmodat.c, fchownat.c: compile-impeding typos
1387         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
1388         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
1389         Introduced in commit v0.0-7636-gd202279.
1390
1391 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1392
1393         fcntl-h: support GNU flags like O_IGNORE_CTTY
1394         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
1395         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
1396         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
1397         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
1398         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
1399         Define to 0 if not already defined.
1400         * tests/test-fcntl-h.c: Test these new flags.
1401
1402 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
1403
1404         faccessat, etc.: support AT_FDCWD-only use
1405         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
1406         this function only if its first argument is AT_FDCWD.
1407         Emacs wants faccessat for AT_EACCESS but not for any first-arg
1408         values other than AT_FDCWD, so it doesn't want all the openat
1409         machinery with fchdir etc.
1410         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
1411         * modules/fstatat, modules/mkdirat, modules/openat (Files):
1412         * modules/unlinkat (Files):
1413         Remove lib/openat-priv.h, as at-internal supplies this file.
1414         Removing this file here allows us to support programs like Emacs
1415         that avoid at-internal.
1416
1417         faccessat: speed up 'configure' on mainstream hosts
1418         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
1419         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
1420         since it's only on unusual platforms that we need to check for
1421         'access', and it's better not to slow 'configure' down on all
1422         platforms.
1423
1424         faccessat: port to Solaris 10
1425         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
1426         Needed on Solaris 10, which doesn't have AT_EACCESS,
1427         so we need the Gnulib fcntl.h, which defines it.
1428
1429 2012-10-14  Pádraig Brady  <P@draigBrady.com>
1430         canonicalize: fix C89 compilation
1431         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
1432         declarations so C89 is supported.  Also remove the comment
1433         referencing memorty allocation as the suggested feature could
1434         not be implemented as suggested.
1435         Reported by Michael Goffioul.
1436
1437 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1438
1439         group-member: omit unnecessary dependencies
1440         This is for Emacs, which has its own allocator and where we
1441         don't want to use xalloc.
1442         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
1443         since we no longer use xmalloc.  Do not include stdbool.h, since
1444         the changes below happen to remove the only use of bool.
1445         (GROUPBUF_SIZE): New constant.
1446         (struct group_info): Remove n_groups member.  Add groupbuf member.
1447         This lets us get the groups without using malloc, usually.
1448         (free_group_info, get_group_info): Adjust to this.
1449         (get_group_info): Return the number of groups found, or -1 on error.
1450         Use plain malloc not xmalloc, and treat its failure as if there
1451         are no groups, as the user already loses in case of error.
1452         (group_member): Simplify, based on changes to get_group_info.
1453         * modules/group-member (Depends-on): Remove dependencies on
1454         xalloc and stdbool.  Add dependency on xalloc-oversized.
1455
1456 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
1457
1458         gethrxtime: port to C++
1459         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
1460
1461 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
1462
1463         ptsname: fix macro-name typo
1464         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
1465
1466 2012-10-03  Simon Josefsson  <simon@josefsson.org>
1467
1468         inttostr: Relax license.
1469         * modules/inttostr (License): Change from LGPL to LGPLv2+.
1470
1471 2012-10-03  Eric Blake  <eblake@redhat.com>
1472
1473         ptsname_r: support ptys returned by FreeBSD posix_openpt
1474         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
1475         lives in /dev/pts/.
1476
1477 2012-10-02  Eric Blake  <eblake@redhat.com>
1478
1479         pselect: reject invalid file descriptors
1480         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
1481         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
1482         * modules/pselect (Depends-on): Add dup2.
1483         * doc/posix-functions/pselect.texi (pselect): Document this.
1484
1485         select: reject invalid file descriptors
1486         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
1487         * lib/select.c (rpl_select) [!win32]: Work around it.
1488         * modules/select (Depends-on): Add dup2.
1489         * doc/posix-functions/select.texi (select): Document this.
1490
1491         select: enhance test
1492         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
1493         New functions.
1494         (test_function): Enhance test.
1495         (do_select_bad_fd): Avoid any stale errno values.
1496
1497         ptsname: reject invalid file descriptors
1498         http://www.austingroupbugs.net/view.php?id=503
1499         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
1500         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
1501         * modules/stdlib (Makefile.am): Replace witness.
1502         * lib/stdlib.in.h (ptsname): Allow for replacement.
1503         * modules/ptsname (configure.ac): Trigger replacement.
1504         * doc/posix-functions/ptsname.texi (ptsname): Document this.
1505
1506 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
1507
1508         hash-pjw-bare: new module
1509         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
1510         * lib/hash-pjw-bare.h: Likewise.
1511         * modules/hash-pjw-bare: New file.
1512         * MODULES.html.sh (Misc): Add it.
1513
1514 2012-10-02  Eric Blake  <eblake@redhat.com>
1515
1516         manywarnings: cater to more gcc infelicities
1517         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
1518         -Wuninitialized without -O.
1519
1520 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
1521
1522         select, poll tests: Make setsockopt invocation effective.
1523         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
1524         the bind() call.
1525         * tests/test-select.h (open_server_socket): Likewise.
1526
1527 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
1528
1529         sockets, sys_stat: restore AC_C_INLINE
1530         This undoes the 2012-09-22 patch.
1531         * m4/sockets.m4 (gl_SOCKETS):
1532         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
1533         Restore AC_C_INLINE, since MSVC requires __inline or _inline
1534         and does not support plain 'inline'.  Reported by Bruno Haible in
1535         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
1536
1537 2012-09-30  Bruno Haible  <bruno@clisp.org>
1538
1539         localeconv tests: Avoid test failure on OpenIndiana.
1540         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
1541         skip the 'grouping' and 'mon_grouping' tests.
1542         Reported by Jim Meyering.
1543
1544 2012-09-30  Bruno Haible  <bruno@clisp.org>
1545
1546         havelib: Follow libtool developments.
1547         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
1548         Suggested by Simon Josefsson.
1549
1550 2012-09-29  Jim Meyering  <meyering@redhat.com>
1551
1552         fstatat.c: fix a compile-impeding typo
1553         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
1554         Introduced in commit v0.0-7636-gd202279.
1555         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
1556
1557 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
1558
1559         extern-inline: provide a -Wundef safe config.h
1560         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
1561         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
1562         to produce a -Wundef warning free config.h.
1563
1564 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
1565
1566         hash-pjw: relax license to LGPLv2+
1567         * modules/hash-pjw (License): Relax, with consent of author.
1568
1569 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
1570
1571         maint.mk: fix strict vs. lazy variable issues with RELEASE
1572         * top/maint.mk (_equal): New function.
1573         (member_check): Strip the result to avoid spurious spaces.
1574         (url_dir_list): Do not use ifeq, which is strict, as it will
1575         require RELEASE_TYPE to be defined.
1576         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
1577         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
1578         (announcement_Cc_alpha,announcement_mail_headers_alpha)
1579         (announcement_Cc_beta,announcement_mail_headers_beta)
1580         (announcement_Cc_stable,announcement_mail_headers_stable): these.
1581         (release): Do not depend on $(release-type), as it forces its
1582         evaluation.  Bounce to it.
1583
1584 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
1585
1586         maint.mk: formatting changes
1587         * top/maint.mk: Indent bodies of if's.
1588
1589 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
1590
1591         maint.mk: factor the validation of RELEASE_TYPE
1592         With help from Jim Meyering.
1593         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
1594         * top/maint.mk (_empty, _sp): Move their definition earlier.
1595         (member-check, release-type): New.
1596         Use the latter instead of $(RELEASE_TYPE).
1597         Remove now useless local checks.
1598
1599 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
1600
1601         maint.mk: provide "make upload" to ease uploading
1602         See
1603         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
1604         Do not depend simply on the current $(VERSION), as there may have been
1605         new commits since the tarball generation.  Rather, rely on $(RELEASE),
1606         as "make release-commit" already does.
1607
1608         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
1609         "make TYPE".
1610
1611         * top/maint.mk (upload_command, upload, release): New.
1612         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
1613         (VERSION): first word of $(RELEASE) is always right.
1614         (emit_upload_commands): Adjust.
1615         * top/README-release: Update.
1616
1617 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
1618
1619         maint.mk: silent rules
1620         With help from Stefano Lattarini.
1621         * top/maint.mk (writable-files): Use $(AM_V_GEN).
1622         (announcement): Use $(AM_V_at).
1623
1624 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
1625
1626         localename: port gl_locale_name_thread_unsafe to FreeBSD
1627         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
1628         and use the simpler FreeBSD implementation on Mac OS X as well.
1629         Original idea suggested by Ed Maste in
1630         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
1631
1632 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
1633
1634         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
1635         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
1636         * lib/mbuiter.c, lib/xsize.c: New files.
1637         * lib/binary-io.h (BINARY_IO_INLINE):
1638         * lib/eealloc.h (EEALLOC_INLINE):
1639         * lib/mbfile.h (MBFILE_INLINE):
1640         * lib/mbiter.h (MBITER_INLINE):
1641         * lib/mbuiter.h (MBUITER_INLINE):
1642         * lib/xsize.h (XSIZE_INLINE):
1643         New macros.
1644         Replace all uses of 'static inline' with them.
1645         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1646         * m4/eealloc.m4 (gl_EEALLOC):
1647         * m4/mbfile.m4 (gl_MBFILE):
1648         * m4/mbiter.m4 (gl_MBITER):
1649         * m4/xsize.m4 (gl_XSIZE):
1650         Do not require AC_C_INLINE.
1651         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
1652         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
1653         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
1654         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
1655         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
1656         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
1657         * modules/binary-io, modules/eealloc, modules/mbfile:
1658         * modules/mbiter, modules/mbuiter:
1659         (Depends-on): Add extern-inline.
1660
1661         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
1662         * lib/pipe-filter-aux.c: New file.
1663         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
1664         Replace all uses of 'static inline' with it.
1665         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1666         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
1667         (filter_retcode): No real need for inline here.
1668         * modules/pipe-filter-gi, modules/pipe-filter-ii:
1669         (Files): Add lib/pipe-filter-aux.c.
1670         (Depends-on): Add extern-inline.
1671         (configure.ac): Do not require AC_C_INLINE.
1672         (lib_SOURCES): Add pipe-filter-aux.c.
1673
1674         fdutimensat: omit unnecessary AC_C_INLINE
1675         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
1676
1677         fchmodat, fchownat, fstatat: use extern-inline
1678         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
1679         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
1680         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
1681         New macros.
1682         * lib/openat.h:
1683         Replace all uses of 'static inline' with them.
1684         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1685         * modules/fchmodat, modules/fchownat, modules/fstatat:
1686         * modules/openat-h:
1687         (Depends-on):
1688         Add extern-inline.
1689         (configure.ac): Remove AC_C_INLINE.
1690
1691         acl, mbchar, priv-set: use extern-inline
1692         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
1693         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
1694         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
1695         New macros.
1696         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
1697         Replace all uses of 'static inline' with it.
1698         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1699         * m4/acl.m4 (gl_FUNC_ACL):
1700         * m4/mbchar.m4 (gl_MBCHAR):
1701         * m4/priv-set.m4 (gl_PRIV_SET):
1702         Remove AC_C_INLINE, since 'inline' is no longer used directly.
1703         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
1704         Add extern-inline.
1705
1706         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
1707         * m4/sockets.m4 (gl_SOCKETS):
1708         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
1709         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
1710         environments where it's already guaranteed to work, so we needn't
1711         check for it at 'configure'-time.
1712
1713         tls-tests: omit unnecessary 'inline'
1714         * tests/test-tls.c (perhaps_yield): No longer inline.
1715         Simplicity and portability trump efficiency in test cases.
1716
1717         utimens-tests: avoid unnecessary 'inline'
1718         * modules/fdutimensat-tests (configure.ac):
1719         * modules/futimens-tests (configure.ac):
1720         * modules/utimens-tests (configure.ac):
1721         * modules/utimensat-tests (configure.ac):
1722         Remove AC_C_INLINE.
1723         * tests/test-utimens-common.h (ctime_compare):
1724         No longer inline.  Simplicity and portability trump efficiency here.
1725
1726         misc: don't limit commentary to inline functions
1727         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
1728         * lib/xalloc-oversized.h, lib/xsize.h:
1729         Contrast macros to functions in general, not just to inline functions,
1730         when the commentary does not apply only to inline functions.
1731
1732 2012-09-20  Jim Meyering  <meyering@redhat.com>
1733
1734         non-recursive-gnulib-prefix-hack: new module
1735         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
1736         the file that originated in Bison.
1737         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
1738         largely copied from a snippet that resided in bison's configure.ac.
1739         * modules/non-recursive-gnulib-prefix-hack: New file.
1740         * MODULES.html.sh (Support for maintaining and releasing projects):
1741         Add it.
1742
1743 2012-09-18  Jim Meyering  <meyering@redhat.com>
1744
1745         maint.mk: generalize _gl_tight_scope for non-recursive make
1746         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
1747         that *.h would describe additional .h files in the directory
1748         specified by $(_gl_TS_dir).  I.e., add this...
1749         (_gl_TS_other_headers): New variable.
1750
1751         maint.mk: exempt trailing blanks found in "binary" files
1752         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
1753         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
1754         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
1755
1756 2012-09-17  Jim Meyering  <meyering@redhat.com>
1757
1758         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
1759         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
1760         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
1761         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
1762
1763 2012-09-17  Jim Meyering  <meyering@redhat.com>
1764
1765         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
1766         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
1767         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
1768         It is not in the same category as "exit (0)" or "exit (1)", and
1769         besides, I know of no symbolic name for that 77.  Reported by
1770         Richard W.M. Jones in
1771         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
1772
1773 2012-09-17  Jim Meyering  <meyering@redhat.com>
1774
1775         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
1776         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
1777         all uses of #define, not just those that start in column 1.
1778         Richard W.M. Jones reported a false positive in
1779         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
1780
1781 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
1782
1783         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
1784         * lib/localcharset.c (locale_charset) [DARWIN7]:
1785         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
1786         as these two values are incompatible.  Problem reported by Max Horn.
1787         For more discussion, please see
1788         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
1789
1790         doc: document sticky-EOF issue
1791         * doc/posix-functions/fgetc.texi (fgetc):
1792         * doc/posix-functions/fgets.texi (fgets):
1793         * doc/posix-functions/fread.texi (fread):
1794         * doc/posix-functions/fscanf.texi (fscanf):
1795         * doc/posix-functions/getc.texi (getc):
1796         * doc/posix-functions/getchar.texi (getchar):
1797         * doc/posix-functions/scanf.texi (scanf):
1798         Mention that glibc and default Solaris do not conform to
1799         C99 and POSIX-2001 or later, with respect to how getchar
1800         etc. behave when feof reports nonzero.
1801
1802 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
1803
1804         poll: fix poll(0, NULL, msec)
1805         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
1806         but nfd is 0.  In that case poll should behave like select.
1807
1808 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
1809             Paolo Bonzini <bonzini@gnu.org>
1810
1811         poll: fix for systems that can't recv() on a non-socket
1812         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
1813         is readable.  In this case POLLHUP will not be supported.
1814         * doc/posix-functions/poll.texi: Document this.
1815
1816 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
1817
1818         poll/select: document portability problems not fixed by Gnulib.
1819         * doc/posix-functions/poll.texi: poll does not work well on
1820         pipes under Windows.  It has the same limitations as select on
1821         BeOS.
1822         * doc/posix-functions/select.texi: select does not work well
1823         on pipes under Windows.
1824
1825 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
1826
1827         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
1828         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
1829         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
1830         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
1831
1832 2012-09-06  Eric Blake  <eblake@redhat.com>
1833
1834         net_if: give more details about the bug being fixed
1835         * doc/posix-headers/net_if.texi: Add clarification.
1836
1837 2012-09-05  Eric Blake  <eblake@redhat.com>
1838
1839         net_if: new module
1840         * modules/net_if: New module, borrowing ideas from netinet_in.
1841         * m4/net_if_h.m4: New file.
1842         * lib/net_if.in.h: Likewise.
1843         * doc/posix-headers/net_if.texi (net/if.h): Document it.
1844         * MODULES.html.sh (lacking POSIX:2008): Likewise.
1845         * tests/test-net_if.c: Make function checks conditional.
1846         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
1847
1848 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
1849
1850         readutmp: fix non-portable UT_PID use
1851         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
1852         Use `UT_PID (u) > 0' as absolute condition.
1853
1854 2012-09-04  Jim Meyering  <meyering@redhat.com>
1855
1856         fts: reduce two or more trailing spaces to just one, usually
1857         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
1858         or more slashes, trim all but the final one.  But if a name consists
1859         solely of two slashes, don't modify it.  If it consists solely of
1860         three or more slashes, strip all but one.
1861
1862         This is part of the solution to a minor problem with rm:
1863         it would print a bogus ELOOP diagnostic when failing to remove
1864         the slash-decorated name of a symlink-to-directory:
1865
1866             $ mkdir d && ln -s d s && env rm -r s/
1867             rm: cannot remove 's': Too many levels of symbolic links
1868
1869         With the change below and a trivial don't-trim-trailing-slashes
1870         adjustment to remove.c, it does this:
1871
1872             $ env rm -r s/
1873             rm: cannot remove 's/': Not a directory
1874
1875         Improved by: Eric Blake
1876
1877         fts: when there is no risk of overlap, use memcpy, not memmove
1878         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
1879
1880 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
1881
1882         stdbool: be more compatible with mixed C/C++ compiles
1883         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
1884         Define to bool, true, false, respectively, as GCC's builtin
1885         stdbool.h does.  Problem reported by Michael Goffioul in
1886         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
1887
1888 2012-08-28  Jim Meyering  <meyering@redhat.com>
1889
1890         revert last change: it was not needed
1891         * tests/test-vc-list-files-git.sh: There's already a test for
1892         a working git, just below.
1893
1894 2012-08-28  Jim Meyering  <meyering@redhat.com>
1895
1896         tests: test-vc-list-files-git.sh: skip if git is not available
1897         * tests/test-vc-list-files-git.sh: Skip this test when git is
1898         not available.
1899
1900 2012-08-26  Bruno Haible  <bruno@clisp.org>
1901
1902         gnulib-tool: Remove no-op option --no-changelog.
1903         * gnulib-tool (func_usage): Don't mention --no-changelog.
1904         (do_changelog): Remove variable.
1905         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1906
1907 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1908
1909         doc: remove fdl-1.2.texi
1910         It is no longer used or maintained, and its use of @acronym
1911         is problematic.  See the thread containing
1912         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
1913         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
1914         * doc/old-licenses/fdl-1.2.texi: Remove.
1915
1916         execinfo: port to FreeBSD
1917         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
1918         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
1919         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
1920         * modules/execinfo (Link): Add $(LIB_EXECINFO).
1921
1922 2012-08-23  Jim Meyering  <meyering@redhat.com>
1923
1924         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
1925         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
1926         to placate gcc's -Wold-style-declaration.
1927
1928 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1929
1930         doc: do not use @acronym
1931         * doc/inet_ntoa.texi (inet_ntoa):
1932         * doc/parse-datetime.texi (Seconds since the Epoch)
1933         (Specifying time zone rules):
1934         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
1935         Don't use @acronym.  Problem reported by John Darlington in
1936         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
1937
1938 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
1939
1940         stdnoreturn: port to newer GCCs
1941         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
1942         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
1943         Problem reported by Jim Meyering in
1944         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
1945         Also, rename the 'test' function to a void a clash with the
1946         already-supplied 'main' function; this fixes a bug that incorrectly
1947         rejected GCC 4.7.1's <stdnoreturn.h>.
1948         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
1949         Document GCC problem.
1950
1951 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
1952
1953         pipe-filter: fix comment typo
1954         * lib/pipe-filter.h: Mention correct function.
1955
1956 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
1957
1958         execinfo: new module
1959         This is for Emacs.  Currently, it provides a no-effect stub
1960         on all platforms where it does not already work.
1961         It already works on glibc-based systems, and on Solaris 11.
1962         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
1963         New files.
1964         * doc/glibc-headers/execinfo.texi (execinfo.h):
1965         * MODULES.html.sh (Misc): Document it.
1966
1967 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
1968
1969         extern-inline: support old GCC 'inline'
1970         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
1971         if available.  This applies to GCC versions 2.7 through 4.2, or
1972         when newer GCC is using -fgnu89-inline.  The goal is to address
1973         some of the performance issues mentioned by Bruno Haible in
1974         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
1975
1976 2012-08-20  Eric Blake  <eblake@redhat.com>
1977
1978         maint.mk: avoid redundant file name in message
1979         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
1980         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
1981         (sc_makefile_path_separator_check): Remove bogus $(ME).
1982
1983 2012-08-20  Mike Frysinger <vapier@gentoo.org>
1984
1985         timer-time: fix link order when static linking on glibc
1986         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
1987         _after_ -lrt so that it's significant.
1988
1989 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
1990
1991         timespec: omit unnecessary AC_C_INLINE
1992         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
1993
1994         stat-time: omit unnecessary AC_C_INLINE
1995         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
1996         Do not require AC_C_INLINE.
1997
1998         ignore-value: omit unnecessary AC_C_INLINE
1999         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
2000
2001         sys_select: avoid 'static inline'
2002         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
2003
2004         mktime: avoid 'static inline'
2005         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
2006         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
2007
2008 2012-08-19  Bruno Haible  <bruno@clisp.org>
2009
2010         gnulib-tool: Improve coding style.
2011         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
2012         func_emit_lib_Makefile_am.
2013         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2014
2015 2012-08-19  Bruno Haible  <bruno@clisp.org>
2016
2017         gnulib-tool: Fix indentation.
2018         * gnulib-tool (func_import): Fix indentation.
2019
2020 2012-08-19  Bruno Haible  <bruno@clisp.org>
2021
2022         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
2023         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
2024         on the list of removed files.
2025
2026 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2027
2028         test-parse-datetime: avoid glibc leap-second glitch
2029         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
2030         with the 2012 rules.  Problem reported by Bruce Dubbs in
2031         <http://bugs.gnu.org/12206>.
2032
2033 2012-08-14  Bruno Haible  <bruno@clisp.org>
2034
2035         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
2036         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
2037         from argument.
2038         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2039
2040 2012-08-14  Eric Blake  <eblake@redhat.com>
2041
2042         ldexp: relax license
2043         * modules/ldexp (License): Trivial relax, since the module only
2044         provides a permissively licensed m4 file.
2045
2046 2012-08-13  Bruno Haible  <bruno@clisp.org>
2047
2048         gnulib-tool: Fix persistence of --witness-c-macro option.
2049         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
2050         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2051
2052 2012-08-11  Eric Blake  <eblake@redhat.com>
2053
2054         count-leading-zeros: use a lookup table on non-gcc compilers
2055         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
2056         alternate implementation, suggested by Jim Meyering.
2057
2058 2012-08-10  Eric Blake  <eblake@redhat.com>
2059
2060         count-leading-zeros: new module
2061         * modules/count-leading-zeros: New module.
2062         * m4/count-leading-zeros.m4: New file.
2063         * lib/count-leading-zeros.h: Likewise.
2064         * modules/count-leading-zeros-tests: New test.
2065         * tests/test-count-leading-zeros.c: New file.
2066         * MODULES.html.sh (Integer arithmetic functions): Document it.
2067
2068 2012-08-07  Simon Josefsson  <simon@josefsson.org>
2069             Jim Meyering  <meyering@redhat.com>
2070
2071         maintainer-makefile: Fix syntax error with dash.
2072         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
2073         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
2074
2075 2012-08-05  Jim Meyering  <meyering@redhat.com>
2076
2077         extern-inline: also ignore -Wmissing-declarations
2078         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
2079         required with gcc-4.8.0-to-be.
2080
2081         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
2082         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
2083         for /error ?([^,]*)/.  This avoids false-positives for strings like
2084         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
2085
2086 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2087
2088         gnumakefile: better interaction with Automake-NG
2089         * modules/gnumakefile [Makefile.am]: The makefiles generated by
2090         Automake-NG always contain a definition of VPATH, even in non-VPATH
2091         builds (its value being simply '.' in that case).  So, in the
2092         'clean-GNUmakefile' rule, to determine whether running under a
2093         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
2094         '$(VPATH)' expands to the empty string.
2095
2096 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
2097
2098         base64: Use extern C scope in header file, for C++.
2099         * lib/base64.h: Add C++ namespace protection.
2100
2101 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
2102
2103         stat-time, timespec, u64: support naive out-of-dir builds
2104         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
2105         Use '#include "foo.h"', not '#include <foo.h>', when including
2106         one's own interface.  This works better when configuring with
2107         out-of-directory builds, since packages need not add an
2108         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
2109
2110 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
2111
2112         utimens: use extern-inline
2113         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
2114         * lib/utimens.h: Add copyright notice, since this is now large enough
2115         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2116         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
2117         * modules/utimens (Depends-on): Add extern-inline.
2118
2119         u64: use extern-inline
2120         * lib/u64.c: New file.
2121         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2122         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
2123         * modules/u64 (Files): Add lib/u64.c.
2124         (Depends-on): Add extern-inline.
2125         (configure.ac): No need to require AC_C_INLINE, since extern-inline
2126         does that now.
2127         (lib_SOURCES): Add u64.c.
2128
2129         timespec: use extern-inline
2130         * lib/timespec.c: New file.
2131         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2132         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
2133         * modules/timespec (Files): Add lib/timespec.c.
2134         (Depends-on): Add extern-inline.
2135         (lib_SOURCES): Add timespec.c.
2136
2137         stat-time: use extern-inline
2138         * lib/stat-time.c: New file.
2139         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2140         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
2141         * modules/stat-time (Files): Add lib/stat-time.c.
2142         (Depends-on): Add extern-inline.
2143         (lib_SOURCES): Add stat-time.c.
2144
2145         extern-inline: new module
2146         * modules/extern-inline, m4/extern-inline.m4: New files.
2147         This is for better support of 'extern inline' a la ISO C99,
2148         with a portable alternative on compilers that do not support
2149         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
2150         of the Emacs executable, when compiled with debugging disabled,
2151         which is a typical way that Emacs is built while developing.
2152
2153 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
2154
2155         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
2156         * build-aux/do-release-commit-and-tag: Move variable definitions
2157         together.
2158         ($branch): Instead of defaulting to "master", default to the current
2159         branch (as gnu-web-doc-update does).
2160         (help): Display the current values of the option arguments.
2161         * top/maint.mk (release-commit): New.
2162         * top/README-release: Simplify the corresponding step.
2163
2164 2012-07-30  Eric Blake  <eblake@redhat.com>
2165
2166         passfd: fix comment on recvfd
2167         * lib/passfd.c (recvfd): Fix comment.
2168         Reported by Jann Horn <jannhorn@googlemail.com>.
2169
2170 2012-07-30  Jim Meyering  <meyering@redhat.com>
2171
2172         maint.mk: avoid a sub-shell
2173         * top/maint.mk (release-prep): Remove unneeded sub-shell.
2174
2175 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2176
2177         maint.mk: use silent-rules support from Automake
2178         * top/maint.mk (news-check, vc-diff-check, announcement)
2179         (no-submodule-changes, alpha beta stable, release-prep)
2180         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
2181
2182 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2183
2184         maint.mk: provide a web-manual-update target
2185         * top/maint.mk: here.
2186         * top/README-release: Use it to simplify the web manual update step.
2187
2188 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2189
2190         README-release: shorten the circuit to post a news
2191         * top/README-release: Point directly to the news submission form.
2192
2193 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2194
2195         gnu-web-doc-update: fix --help
2196         * build-aux/gnu-web-doc-update: The information "top level" was written
2197         twice.
2198
2199 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2200
2201         maint.mk: absolute VPATH issue
2202         * top/maint.mk (release-prep): Help Git find .git/.
2203         From Jim Meyering.
2204
2205 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2206
2207         gitlog-to-changelog: fix previous change
2208         * build-aux/gitlog-to-changelog: Fix condition.
2209         Add missing ";".
2210
2211 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2212
2213         gitlog-to-changelog: don't expect .git to be in $srcdir
2214         Reported by Bruno Haible.
2215         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
2216         * build-aux/gitlog-to-changelog (&git_dir_option): New.
2217         Use it.
2218
2219 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2220
2221         maint.mk: absolute VPATH build fix
2222         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
2223         $(srcdir) is not a parent of $(builddir).
2224
2225 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
2226
2227         clean-temp: Fix memory leak.
2228         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
2229         'files' members of tmpdir.
2230
2231 2012-07-27  Jim Meyering  <meyering@redhat.com>
2232
2233         maint.mk: new rule: refresh-gnulib-patches
2234         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
2235         Use this rule to refresh them.
2236         * top/maint.mk (refresh-gnulib-patches): New rule.
2237
2238 2012-07-24  Bruno Haible  <bruno@clisp.org>
2239
2240         gnulib-tool: Fix handling of inctests variable.
2241         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
2242         Reported by Nick Bowler <nbowler@elliptictech.com>.
2243
2244 2012-07-22  Bruno Haible  <bruno@clisp.org>
2245
2246         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
2247         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
2248         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2249         Remove exemption for getpass.h.
2250         Suggested by Eric Blake.
2251
2252 2012-07-20  Eric Blake  <eblake@redhat.com>
2253
2254         verify: document conflict with -Wnested-externs
2255         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
2256
2257         maint.mk: forbid exit(-1)
2258         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
2259
2260 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
2261
2262         fsusage: port back to Solaris
2263         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
2264         error (fsd not declared) on Solaris 10.  Reported privately by
2265         Andrew Borodin.
2266
2267 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
2268
2269         gnu-web-doc-update: fix error messages
2270         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
2271
2272         gnu-web-doc-update: check the requirements.
2273         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
2274         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
2275         * build-aux/bootstrap (find_tool): Comment change.
2276
2277 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
2278
2279         maint.mk: minor simplication.
2280         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
2281         for default values.
2282
2283 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
2284
2285         gitlog-to-changelog: VPATH build issues
2286         If builddir is not a subdirectory of srcdir, running git from it will
2287         fail.
2288         * build-aux/gitlog-to-changelog (--srcdir): New option.
2289
2290 2012-07-15  Bruno Haible  <bruno@clisp.org>
2291
2292         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
2293         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
2294         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
2295         Remove exemption for fpending.h.
2296         Suggested by Eric Blake.
2297
2298 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
2299
2300         pthread_sigmask: fix bug on FreeBSD 9
2301         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
2302         Include string.h.
2303         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
2304         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
2305         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
2306         but pthread_sigmask (1729, NULL, NULL) returns zero.
2307         See <http://bugs.gnu.org/11884>.
2308         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
2309         by inspecting whether the main call changed the old mask.
2310
2311 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
2312
2313         README-release: make it more legible
2314         * top/README-release: Improve typography slightly.
2315
2316 2012-07-15  Jim Meyering  <meyering@redhat.com>
2317
2318         maint: require that each sc_... command start with "@"
2319         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
2320         "make sc_maint" helps us avoid this nit.
2321
2322 2012-07-15  Jim Meyering  <meyering@redhat.com>
2323
2324         maint.mk: add leading "@" to quiet new "make syntax-check" rule
2325         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
2326
2327 2012-07-13  Eric Blake  <eblake@redhat.com>
2328
2329         maint.mk: new syntax check for HAVE_DECL checks
2330         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
2331         * cfg.mk
2332         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2333         Exempt some false positives.
2334         Based on a report by Karel Zak.
2335
2336         argp: make HAVE_DECL usage consistent
2337         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
2338         macros, not whether they are defined.
2339         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
2340         convention with other declaration checks.
2341         Reported by Karel Zak, with suggestions from Paul Eggert.
2342
2343         stat-time: relax license to LGPLv2+
2344         * modules/stat-time (License): Relax, with consent of all authors.
2345
2346         strndup: fix m4 usage error
2347         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
2348         defined, to either 0 or 1.
2349         Reported by Karel Zak.
2350
2351 2012-07-11  Jim Meyering  <meyering@redhat.com>
2352
2353         maint: enable the sc_avoid_if_before_free syntax-check rule
2354         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
2355         (if_before_free_offenders_): Define.
2356         (if_before_free_basename_re_): Define.
2357         Exempt current files with useless if-before-free.
2358
2359 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
2360
2361         gettext: do not assume '#define ... defined ...' behavior
2362         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
2363         Do not use '#define FOO ... defined BAR ...', as the C standard says
2364         it's not portable to expect that this works after macro expansion.
2365         Problem reported for gzip by Steven M. Schweda in
2366         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
2367
2368 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
2369
2370         getloadavg: clean out old Emacs and Autoconf cruft
2371         See Glenn Morris in <http://bugs.gnu.org/11905>.
2372         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
2373         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
2374         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
2375         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
2376
2377 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
2378
2379         bootstrap: let warn be like tests/init.sh's warn_
2380         Reported by Jim Meyering.
2381         * build-aux/bootstrap (warn): Remove, replaced by...
2382         (warnf_, warn_): these.
2383         Adjust callers.
2384         Shorten messages that no longer fit in 80 columns.
2385
2386 2012-07-09  Bruno Haible  <bruno@clisp.org>
2387
2388         getopt: Simplify after Emacs changed.
2389         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
2390         (gl_GETOPT_IFELSE): Remove macro.
2391
2392 2012-07-09  Jim Meyering  <meyering@redhat.com>
2393
2394         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
2395         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
2396
2397         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
2398         Bugs in both of those conspired to make the
2399         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
2400         _sc_search_regexp's handling of non-empty $in_files would filter
2401         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
2402         choice of in_files value meant there would be no match in most
2403         projects, due to the presence of two or more Makefile.in files.
2404         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
2405         Fix a bug in how a non-empty $$in_files was processed:
2406         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
2407         in spite of the name, it's a regexp, not a list of file names.
2408
2409 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
2410
2411         getloadavg, getopt: fix commentary re configure.in
2412         Autoconf is deprecating the name 'configure.in', so change it to
2413         to the new name 'configure.ac' in a couple of places.
2414         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
2415         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
2416         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
2417         Emacs has renamed it to configure.ac, and it no longer refers
2418         to these macros anyway.
2419
2420         timespec: mark functions with const attributes
2421         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
2422         Mark with _GL_ATTRIBUTE_CONST.
2423
2424 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2425
2426         canonicalize[-lgpl]: handle "guessing" values when cross-building
2427         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2428         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
2429         matches "*yes" instead of just "yes".  Regression introduced in commit
2430         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
2431
2432 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2433             Bruno Haible  <bruno@clisp.org>
2434
2435         canonicalize: make the right guess when cross-compiling to GNU
2436         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
2437         determine whether cross-compiling to glibc systems, so as to
2438         include GNU/Hurd.
2439
2440 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2441
2442         timespec-sub: avoid duplicate include
2443         * lib/timespec-sub.c: Do not include <config.h> twice.
2444         Reported by Juanma Barranquero.
2445
2446 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
2447
2448         bootstrap: use a more consistent error reporting scheme
2449         * build-aux/bootstrap (warn, die): New.
2450         Use them.
2451
2452 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2453
2454         sys_time: allow too-wide tv_sec
2455         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
2456         timeval even if tv_sec is wider than time_t.  This allows
2457         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
2458         as without this patch gnulib replaces struct timeval
2459         and OpenBSD futimes therefore has a type mismatch.
2460         * doc/posix-headers/sys_time.texi: Mention this.
2461
2462         pthread: check for both pthread_create and pthread_join
2463         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
2464         alter the check so that it tests for both pthread_create and
2465         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
2466         Suggested by Bruno Haible and Richard Yao in
2467         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
2468
2469         parse-datetime: doc tuneup
2470         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
2471         spacing issues.
2472
2473 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
2474
2475         do-release-commit-and-tag: fix the previous commit
2476         * build-aux/do-release-commit-and-tag: Actually the test was right,
2477         but the comment and the error message were misleading.
2478         Fix comment, and improve error message.
2479         Perform check first, so that NEWS is not modified uselessly.
2480
2481         do-release-commit-and-tag: fix typo
2482         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
2483         _not_ start with a stub.
2484
2485 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
2486
2487         pthread: check for pthread_create, not pthread_join
2488         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
2489         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
2490         pthread_join in libc.  I hope this removes the need for all the
2491         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
2492         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
2493
2494 2012-07-04  Jim Meyering  <meyering@redhat.com>
2495
2496         parse-datetime: fix failure to diagnose invalid input
2497         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
2498         rather than diagnosing the invalid input.  Now it reports this:
2499         date: invalid date '\260'
2500         * lib/parse-datetime.y (to_uchar): Define.
2501         (yylex): Don't sign-extend "other" bytes.
2502         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
2503         Thanks to Bruno Haible for the patch to this file.
2504         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
2505         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
2506
2507 2012-07-03  Jim Meyering  <meyering@redhat.com>
2508
2509         bootstrap: do not require now-removed build-aux/missing
2510         Now that build-aux/missing is, er, missing, bootstrap would
2511         silently fail.
2512         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
2513         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
2514         no longer part of gnulib.
2515         Diagnose the failure.
2516
2517 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
2518
2519         alloca: add support for HP NonStop TNS/E native
2520         * lib/alloca.in.h (alloca): Support the new host.
2521         From a suggestion by Joachim Schmitz in
2522         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
2523
2524 2012-07-02  Pádraig Brady  <P@draigBrady.com>
2525
2526         fsusage: remove code not needed on non GNU/Linux systems.
2527
2528         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
2529         Don't include headers no longer needed in this case.
2530         * lib/fsusage.c [STAT_STATVFS &&
2531         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
2532         STAT_STATFS2_FRSIZE to exclude code not used in this case.
2533
2534 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
2535
2536         fsusage: include files needed for glibc 2.6 fallback
2537         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
2538         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
2539         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
2540         Problem reported by Ludovic Courtès in
2541         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
2542
2543         fsusage: avoid needless check on GNU/Linux
2544         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
2545         on GNU/Linux systems, since it can't possibly work.
2546
2547 2012-07-01  Bruno Haible  <bruno@clisp.org>
2548
2549         log: Fix an autoconf >= 2.64 warning.
2550         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
2551         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
2552
2553 2012-06-28  Bruno Haible  <bruno@clisp.org>
2554
2555         log10f: Fix possible configuration problem.
2556         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
2557         $LOGF_LIBM.
2558         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
2559
2560 2012-06-28  Bruno Haible  <bruno@clisp.org>
2561
2562         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
2563         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
2564         not gl_cv_func_unlink_works.
2565         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
2566
2567 2012-06-27  Eric Blake  <eblake@redhat.com>
2568
2569         config: drop scripts that automake says are not independent
2570         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
2571         * build-aux/elisp-comp: Delete.
2572         * build-aux/missing: Likewise.
2573         * build-aux/ylwrap: Likewise.
2574         * modules/elisp-comp: Likewise.
2575         * MODULES.html.sh: Drop mention of elisp-comp.
2576         * NEWS: Mention this.
2577
2578 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
2579
2580         root-uid: new module
2581         This is for portability to Tandem's NonStop Kernel.
2582         * lib/root-uid.h, modules/root-uid: New files.
2583         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
2584         * lib/write-any-file.c, tests/test-sethostname2.c:
2585         Include "root-uid.h".
2586         * lib/euidaccess.c (euidaccess):
2587         * lib/pt_chown.c (main):
2588         * lib/unlinkdir.c (cannot_unlink_dir):
2589         * lib/write-any-file.c (can_write_any_file):
2590         * m4/mknod.m4 (gl_FUNC_MKNOD):
2591         * tests/test-sethostname2.c (geteuid, main):
2592         Don't assume ROOT_UID == 0.
2593         * modules/euidaccess (Depends-on):
2594         * modules/pt_chown (Depends-on):
2595         * modules/sethostname-tests (Depends-on):
2596         * modules/unlinkdir (Depends-on):
2597         * modules/write-any-file (Depends-on):
2598         Add root-uid.
2599
2600         regex: use locale-independent comparison for codeset name
2601         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
2602         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
2603         for codeset name.
2604         * lib/regex_internal.h: Do not include <strings.h>, since we
2605         no longer use strcasecmp.
2606         * modules/regex (Depends-on): Remove strcase.
2607
2608 2012-06-23  Bruno Haible  <bruno@clisp.org>
2609
2610         getopt-posix: No longer guarantee that option processing is resettable.
2611         * doc/posix-functions/getopt.texi: Drop description of problem with
2612         internal state. Fix info about mingw and msvc9.
2613         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
2614         option processing by getopt(). Run three test programs instead of one.
2615         Simplify cross-compilation guess.
2616         * NEWS: Mention the change.
2617         Reported by Rich Felker <dalias@aerifal.cx>.
2618
2619 2012-06-26  Bruno Haible  <bruno@clisp.org>
2620
2621         argp, regex: Ensure strcasecmp gets declared.
2622         * lib/argp-help.c: Include <strings.h>.
2623         * lib/regex_internal.h: Likewise.
2624         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
2625
2626 2012-06-24  Bruno Haible  <bruno@clisp.org>
2627
2628         ptsname_r: Make it consistent with ptsname on AIX.
2629         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
2630         implementation as for OSF/1.
2631         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
2632         a pty master.
2633
2634         ptsname_r: Make it consistent with ptsname on OSF/1.
2635         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
2636         OSF/1.
2637
2638 2012-06-24  Bruno Haible  <bruno@clisp.org>
2639
2640         ttyname_r: Fix result on OSF/1, Solaris.
2641         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
2642
2643 2012-06-24  Bruno Haible  <bruno@clisp.org>
2644
2645         ptsname_r: Add support for Solaris.
2646         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
2647         Solaris.
2648
2649         ptsname_r: Fix test failure on native Windows.
2650         * modules/ptsname_r (Depends-on): Add isatty.
2651
2652         ptsname_r: Fix test failures on IRIX, Solaris.
2653         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
2654         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
2655         accordingly.
2656         * lib/ptsname_r.c: Include <fcntl.h>.
2657         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
2658         set errno if fd is invalid.
2659         * tests/test-isatty.c (main): Update comments.
2660
2661 2012-06-24  Bruno Haible  <bruno@clisp.org>
2662
2663         ptsname test: Extend test.
2664         * tests/test-ptsname.c: Include <errno.h>.
2665         (main): Test behaviour with invalid file descriptor.
2666
2667 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
2668
2669         time: fix obsolete comment
2670         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
2671         reference to HAVE_STRUCT_TIMESPEC in comment.
2672
2673 2012-06-23  Bruno Haible  <bruno@clisp.org>
2674
2675         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
2676         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
2677         does not handle abbreviated long options with equivalent
2678         disambiguations, set gl_replace_getopt to yes.
2679         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
2680
2681 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
2682
2683         time_r: fix typo that always overrode localtime_r decl
2684         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
2685         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
2686         not in a standard include.
2687
2688 2012-06-22  Bruno Haible  <bruno@clisp.org>
2689
2690         Write "Mac OS X" instead of "MacOS X".
2691         * README: Write "Mac OS X" instead of "MacOS X".
2692         * build-aux/bootstrap: Likewise.
2693         * build-aux/install-reloc: Likewise.
2694         * lib/acl-internal.h: Likewise.
2695         * lib/acl_entries.c: Likewise.
2696         * lib/argp-ba.c: Likewise.
2697         * lib/argp-pv.c: Likewise.
2698         * lib/config.charset: Likewise.
2699         * lib/copy-acl.c: Likewise.
2700         * lib/csharpexec.c: Likewise.
2701         * lib/euidaccess.c: Likewise.
2702         * lib/fbufmode.c: Likewise.
2703         * lib/fflush.c: Likewise.
2704         * lib/file-has-acl.c: Likewise.
2705         * lib/filemode.h: Likewise.
2706         * lib/fpurge.c: Likewise.
2707         * lib/freadable.c: Likewise.
2708         * lib/freadahead.c: Likewise.
2709         * lib/freading.c: Likewise.
2710         * lib/freadptr.c: Likewise.
2711         * lib/freadseek.c: Likewise.
2712         * lib/fseeko.c: Likewise.
2713         * lib/fseterr.c: Likewise.
2714         * lib/fsusage.c: Likewise.
2715         * lib/fwritable.c: Likewise.
2716         * lib/fwriting.c: Likewise.
2717         * lib/get-rusage-as.c: Likewise.
2718         * lib/get-rusage-data.c: Likewise.
2719         * lib/getdomainname.c: Likewise.
2720         * lib/idpriv-drop.c: Likewise.
2721         * lib/idpriv-droptemp.c: Likewise.
2722         * lib/localcharset.c: Likewise.
2723         * lib/locale.in.h: Likewise.
2724         * lib/localename.c: Likewise.
2725         * lib/mbsrtowcs-state.c: Likewise.
2726         * lib/nproc.c: Likewise.
2727         * lib/passfd.c: Likewise.
2728         * lib/posix_openpt.c: Likewise.
2729         * lib/printf-parse.c: Likewise.
2730         * lib/progreloc.c: Likewise.
2731         * lib/safe-read.h: Likewise.
2732         * lib/safe-write.h: Likewise.
2733         * lib/sched.in.h: Likewise.
2734         * lib/set-mode-acl.c: Likewise.
2735         * lib/signal.in.h: Likewise.
2736         * lib/stdint.in.h: Likewise.
2737         * lib/stdio-impl.h: Likewise.
2738         * lib/stdlib.in.h: Likewise.
2739         * lib/strtod.c: Likewise.
2740         * lib/sys_select.in.h: Likewise.
2741         * lib/tcgetsid.c: Likewise.
2742         * lib/unistd.in.h: Likewise.
2743         * lib/unlockpt.c: Likewise.
2744         * lib/vasnprintf.c: Likewise.
2745         * lib/vma-iter.c: Likewise.
2746         * lib/wcsrtombs-state.c: Likewise.
2747         * m4/acl.m4: Likewise.
2748         * m4/acosl.m4: Likewise.
2749         * m4/asinl.m4: Likewise.
2750         * m4/atanl.m4: Likewise.
2751         * m4/c-stack.m4: Likewise.
2752         * m4/cosl.m4: Likewise.
2753         * m4/expl.m4: Likewise.
2754         * m4/extensions.m4: Likewise.
2755         * m4/fdatasync.m4: Likewise.
2756         * m4/fmal.m4: Likewise.
2757         * m4/frexp.m4: Likewise.
2758         * m4/frexpf.m4: Likewise.
2759         * m4/frexpl.m4: Likewise.
2760         * m4/fsusage.m4: Likewise.
2761         * m4/getdomainname.m4: Likewise.
2762         * m4/getloadavg.m4: Likewise.
2763         * m4/getopt.m4: Likewise.
2764         * m4/gettext.m4: Likewise.
2765         * m4/gnulib-common.m4: Likewise.
2766         * m4/intdiv0.m4: Likewise.
2767         * m4/intlmacosx.m4: Likewise.
2768         * m4/largefile.m4: Likewise.
2769         * m4/ldexpl.m4: Likewise.
2770         * m4/link-follow.m4: Likewise.
2771         * m4/locale-ar.m4: Likewise.
2772         * m4/locale-fr.m4: Likewise.
2773         * m4/locale-ja.m4: Likewise.
2774         * m4/locale-tr.m4: Likewise.
2775         * m4/locale-zh.m4: Likewise.
2776         * m4/locale_h.m4: Likewise.
2777         * m4/lock.m4: Likewise.
2778         * m4/logl.m4: Likewise.
2779         * m4/mathfunc.m4: Likewise.
2780         * m4/minus-zero.m4: Likewise.
2781         * m4/mktime.m4: Likewise.
2782         * m4/mmap-anon.m4: Likewise.
2783         * m4/multiarch.m4: Likewise.
2784         * m4/nanosleep.m4: Likewise.
2785         * m4/nocrash.m4: Likewise.
2786         * m4/poll.m4: Likewise.
2787         * m4/printf-frexpl.m4: Likewise.
2788         * m4/printf.m4: Likewise.
2789         * m4/signbit.m4: Likewise.
2790         * m4/sinl.m4: Likewise.
2791         * m4/sqrtl.m4: Likewise.
2792         * m4/strerror_r.m4: Likewise.
2793         * m4/tanl.m4: Likewise.
2794         * m4/threadlib.m4: Likewise.
2795         * m4/ttyname_r.m4: Likewise.
2796         * m4/unlink.m4: Likewise.
2797         * m4/visibility.m4: Likewise.
2798         * m4/wcwidth.m4: Likewise.
2799         * tests/minus-zero.h: Likewise.
2800         * tests/test-alloca-opt.c: Likewise.
2801         * tests/test-copy-acl.sh: Likewise.
2802         * tests/test-copy-file.sh: Likewise.
2803         * tests/test-fdatasync.c: Likewise.
2804         * tests/test-file-has-acl.sh: Likewise.
2805         * tests/test-flock.c: Likewise.
2806         * tests/test-fsync.c: Likewise.
2807         * tests/test-localename.c: Likewise.
2808         * tests/test-malloca.c: Likewise.
2809         * tests/test-nonblocking-pipe.h: Likewise.
2810         * tests/test-nonblocking-socket.h: Likewise.
2811         * tests/test-openpty.c: Likewise.
2812         * tests/test-posix_openpt.c: Likewise.
2813         * tests/test-ptsname.c: Likewise.
2814         * tests/test-ptsname_r.c: Likewise.
2815         * tests/test-sameacls.c: Likewise.
2816         * tests/test-select.h: Likewise.
2817         * tests/test-set-mode-acl.sh: Likewise.
2818         * tests/test-snprintf-posix.h: Likewise.
2819         * tests/test-sprintf-posix.h: Likewise.
2820         * tests/test-strtod.c: Likewise.
2821         * tests/test-time.c: Likewise.
2822         * tests/test-vasnprintf-posix.c: Likewise.
2823         * tests/test-vasprintf-posix.c: Likewise.
2824         * doc/acl-resources.txt: Likewise.
2825         * doc/**/*.texi: Likewise.
2826         Reported by Max Horn <max@quendi.de>.
2827
2828 2012-06-22  Bruno Haible  <bruno@clisp.org>
2829
2830         grantpt: Relax requirement regarding invalid file descriptors.
2831         * lib/grantpt.c: Don't include <fcntl.h>.
2832         (grantpt): Don't verify the validity of the file descriptor.
2833         * modules/grantpt (Depends-on): Remove fcntl-h.
2834         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
2835         file descriptors.
2836         * doc/posix-functions/grantpt.texi: Document more platforms on which
2837         grantpt succeeds for invalid file descriptors.
2838         Reported by Rich Felker <dalias@aerifal.cx>.
2839
2840 2012-06-22  Bruno Haible  <bruno@clisp.org>
2841
2842         fbufmode test: Don't test unportable behaviour.
2843         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
2844         (main): Invoke it three times.
2845         Reported by Szabolcs Nagy <nsz@port70.net>
2846         and Rich Felker <dalias@aerifal.cx>.
2847
2848 2012-06-21  Bruno Haible  <bruno@clisp.org>
2849
2850         gnulib-tool: Refactor inctests variable.
2851         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
2852         (func_modules_transitive_closure,
2853         func_modules_transitive_closure_separately,
2854         func_import, func_create_testdir): Update.
2855
2856         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
2857         * gnulib-tool: Accept option --without-tests.
2858         (func_usage): Document --without-tests option. Rearrange.
2859         (inctests): Normalize according to the mode.
2860         * NEWS: Mention the change.
2861         Suggested by Simon Josefsson.
2862
2863 2012-06-21  Bruce Korb  <bkorb@gnu.org>
2864
2865         parse-duration test: Avoid spurious output.
2866         * tests/test-parse-duration.sh: Reindent with leading tabs.
2867
2868 2012-06-21  Jim Meyering  <meyering@redhat.com>
2869
2870         maint: disable the strncpy prohibition
2871         * cfg.mk: Do not prohibit strncpy here.
2872
2873 2012-06-21  Bruno Haible  <bruno@clisp.org>
2874
2875         nonblocking: Avoid compilation error on mingw64.
2876         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
2877         fscanf.
2878         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
2879         * modules/vfscanf (configure.ac): Likewise.
2880         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
2881         definition only if stdio.h has prepared it.
2882         Reported by Daniel P. Berrange <berrange@redhat.com>.
2883
2884 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
2885
2886         gnulib-tool: Use readlink if it is available.
2887         * gnulib-tool (func_readlink): Choose function more appropriately.
2888
2889 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2890
2891         posixtm-tests: port to buggy compiler
2892         Problem reported by Simon Josefsson in
2893         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
2894         * modules/posixtm-tests (Depends-on): Add stdint.
2895         * tests/test-posixtm.c (struct posixtm_test.t_expected):
2896         Now of type int_least64_t, not int64_t, both because that's
2897         what INT64_C returns and because int_least64_t works even
2898         on 72-bit hosts.
2899         (T): Use INT64_C on constants outside the traditional int range,
2900         to work around compiler bug noted by Simon.
2901
2902         mktime: fix integer overflow in 'configure'-time test
2903         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
2904         after integer overflow.  Problem reported by Rich Felker in
2905         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
2906         Also, don't look for further instances of a bug if we've already
2907         found one instance; this helps 'configure' run faster.
2908
2909 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
2910
2911         tmpfile, clean-temp: Fix invocation of GetVersionEx.
2912         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
2913         GetVersionEx correctly.
2914         * lib/clean-temp.c (supports_delete_on_close): Likewise.
2915
2916 2012-06-20  Bruno Haible  <bruno@clisp.org>
2917
2918         fdopen: Allow implementations that don't reject invalid fd arguments.
2919         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
2920         succeeds.
2921         Reported by Rich Felker <dalias@aerifal.cx>.
2922
2923 2012-06-20  Simon Josefsson  <simon@josefsson.org>
2924
2925         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
2926         bring in LIBINTL.
2927
2928 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
2929
2930         init.sh: do not rely on autoupated PWD
2931         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
2932         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
2933         Although Nelson's bug was not necessarily fixed by this patch,
2934         it seems wise to make the change for safety.
2935         * tests/init.sh (path_prepend_): Do not rely on PWD updating
2936         automagically after 'cd'; this is not reliable on older shells.
2937         (setup_): Fail if we cannot cd to temporary directory.
2938
2939 2012-06-19  Bruno Haible  <bruno@clisp.org>
2940
2941         stat, fstat: Avoid warnings on mingw64.
2942         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
2943         redefining.
2944         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
2945         Reported by Daniel P. Berrange <berrange@redhat.com>.
2946
2947 2012-06-19  Bruno Haible  <bruno@clisp.org>
2948
2949         stdioext: Add support for musl libc.
2950
2951         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
2952         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
2953
2954         * m4/fseterr.m4: New file.
2955         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
2956         function exists.
2957         * modules/fseterr (Files): Add m4/fseterr.m4.
2958         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
2959         __fseterr does not exist.
2960         (Makefile.am): Remove fseterr.c from lib_SOURCES.
2961
2962         * lib/freadable.h: Update comment.
2963
2964         * lib/fwritable.h: Update comment.
2965
2966         * lib/freading.h: Update comment.
2967
2968         * lib/fwriting.h: Update comment.
2969
2970         * m4/freadahead.m4: New file.
2971         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
2972         that function exists.
2973         * modules/freadahead (Files): Add m4/freadahead.m4.
2974         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
2975         __freadahead does not exist.
2976         (Makefile.am): Remove freadahead.c from lib_SOURCES.
2977
2978         * m4/freadptr.m4: New file.
2979         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
2980         function exists.
2981         * modules/freadptr (Files): Add m4/freadptr.m4.
2982         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
2983         __freadptr does not exist.
2984         (Makefile.am): Remove freadptr.c from lib_SOURCES.
2985
2986         * m4/freadseek.m4: New file.
2987         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
2988         exists.
2989         * modules/freadseek (Files): Add m4/freadseek.m4.
2990         (configure.ac): Invoke gl_FUNC_FREADSEEK.
2991
2992         * lib/fpurge.c (fpurge): Update comment.
2993
2994         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
2995
2996 2012-06-19  Bruno Haible  <bruno@clisp.org>
2997
2998         *printf-posix: Put more info into config.log.
2999         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
3000         exit code into config.log.
3001
3002 2012-06-19  Bruno Haible  <bruno@clisp.org>
3003
3004         getopt-gnu: Fix exit code overflow in autoconf test.
3005         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
3006         to keep them below < 128.
3007
3008 2012-06-17  Jim Meyering  <meyering@redhat.com>
3009
3010         maint.mk: fix typo in code to derive GPG key at release time
3011         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
3012
3013 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
3014
3015         regex: avoid warning when pointers are not long
3016         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
3017         and uintptr_t, not long, for portability to hosts where pointers and
3018         long have different sizes.  Issue noted by Daniel P. Berrange in
3019         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
3020         and fix suggested by Bruno Haible in
3021         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
3022
3023 2012-06-17  Bruno Haible  <bruno@clisp.org>
3024
3025         dummy: Relicense into the public domain.
3026         * modules/dummy (License): Set to "public domain".
3027         Suggested by Reuben Thomas.
3028
3029 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3030
3031         announce-gen: VPATH issues
3032         * build-aux/announce-gen (--srcdir): New option, used to trim the
3033         $srcdir part of the path from $builddir to NEWS.
3034         * top/maint.mk (announcement): Adjust.
3035
3036 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3037
3038         gnu-web-doc-update: VPATH builds
3039         * build-aux/gnu-web-doc-update (--builddir): New option.
3040         Revamp the handling of options.
3041         Prefer $(...) to `...`.
3042         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
3043         the template, and it is GNU mktemp specific.
3044         Prefer set -e to long series of &&.
3045         Restore the initial git branch, not "master".
3046         Properly initialize submodules (don't rely only on bootstrap).
3047         Do not reconfigure blindly, use config.status.
3048         * top/README-release: Update instructions for gnu-web-doc-update.
3049
3050 2012-06-11  Jim Meyering  <meyering@redhat.com>
3051
3052         maint.mk: revert most of the previous change re "all these"
3053         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
3054         For rationale, see the discussion at
3055         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
3056
3057 2012-06-10  Karl Berry  <karl@gnu.org>
3058
3059         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
3060
3061         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
3062
3063 2012-06-10  Bruce Korb  <bkorb@gnu.org>
3064
3065         parse-duration: Relicense under LGPLv2+.
3066         * modules/parse-duration (License): Change to LGPLv2+.
3067
3068 2012-06-10  Jim Meyering  <meyering@redhat.com>
3069
3070         maint.mk: prohibit common grammar error: "all these"
3071         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
3072         the list of prohibited word sequences.  It should be "all of these".
3073         * lib/tempname.c (__gen_tempname): Fix one of them.
3074
3075 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3076
3077         do-release-commit-and-tag: support VPATH builds
3078         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
3079         (noteworthy): Defined earlier to factor its value.
3080         (noteworthy_stub): New.
3081         Use it to factor.
3082         (help_version): Split into...
3083         (help, version): these.
3084         Adjust the option processing part.
3085         Support "--option=value" in addition to "--option value".
3086         (builddir): New.
3087         (--builddir): New option.
3088         * top/README-release: Document this.
3089         Reword slightly so that the reader cannot understand that he
3090         has to do these steps before calling do-release-commit-and-tag.
3091
3092 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3093
3094         readme-release: also require announce-gen and maintainer-makefile
3095         * modules/readme-release (Depends-on): here.
3096         * modules/announce-gen, modules/do-release-commit-and-tag,
3097         modules/gnu-web-doc-update, modules/maintainer-makefile
3098         (Description): Point to readme-release.
3099
3100 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3101
3102         maint.mk: fix VPATH issues.
3103         * top/maint.mk (news-check): GNU Make understand $< very well.
3104         (release-prep): NEWS is in $(srcdir).
3105
3106 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
3107
3108         readme-release: require the promoted modules.
3109         * modules/readme-release (Depends-on): Add
3110         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
3111         in this text.
3112
3113 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3114             Bruno Haible  <bruno@clisp.org>
3115
3116         error, strerror-override: Support mingw64 from Fedora 17.
3117         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
3118         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
3119         EINPROGRESS.
3120         * lib/strerror-override.h (strerror_override): Test it.
3121         * lib/strerror-override.c (strerror_override): Likewise.
3122         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
3123
3124 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3125             Bruno Haible  <bruno@clisp.org>
3126
3127         error, strerror-override: Support mingw64 from Fedora 17.
3128         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
3129         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
3130         * lib/strerror-override.h (strerror_override): Test it.
3131         * lib/strerror-override.c (strerror_override): Likewise.
3132
3133 2012-06-03  Bruno Haible  <bruno@clisp.org>
3134
3135         error, strerror-override: Support new errno values from POSIX:2008.
3136         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
3137         ENOTRECOVERABLE.
3138         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
3139         platforms.
3140         * lib/strerror-override.c (strerror_override): Conditionalize the
3141         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
3142         * lib/strerror-override.h (strerror_override): Declare also if
3143         GNULIB_defined_EOWNERDEAD is defined.
3144         * tests/test-errno.c (e130, e131): New variables.
3145         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
3146         ENOTRECOVERABLE.
3147         Reported by Paolo Bonzini.
3148
3149 2012-05-31  Jim Meyering  <meyering@redhat.com>
3150
3151         savewd: add missing dependency on sys_wait module
3152         * modules/savewd (Depends-on): Add sys_wait, needed at least
3153         for MSVC.  Report and suggested change by Michael Goffioul.
3154
3155 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3156
3157         system-quote-tests: port to CentOS 5
3158         Problem reported by Tom G. Christensen in
3159         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
3160         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
3161
3162 2012-05-29  Jim Meyering  <meyering@redhat.com>
3163
3164         maint: fix typos in comments and ChangeLog
3165         Culprits identified and fixed mostly automatically using these commands:
3166         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
3167         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
3168         using http://github.com/lyda/misspell-check
3169         * ChangeLog: Fix typos.
3170         * doc/solaris-versions: Likewise.
3171         * lib/regexec.c (re_search_stub): Likewise.
3172         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
3173
3174 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3175
3176         manywarnings: remove duplicate -Wmultichar entry
3177         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
3178         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
3179         so keep the entry marked as documented.
3180
3181 2012-05-27  Karl Berry  <karl@gnu.org>
3182
3183         * config/srclist.txt (mktime.c): remove last libc sync,
3184         perhaps just temporarily.
3185
3186 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
3187
3188         regex: don't assume uint64_t or uint32_t
3189         * lib/regcomp.c (init_word_char): Don't assume that the types
3190         uint64_t and uint32_t exist.  The C standard doesn't guarantee
3191         them, and on some 32-bit compilers there is no uint64_t.
3192         Problem reported by Gianluigi Tiesi in
3193         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
3194
3195 2012-05-25  Jim Meyering  <meyering@redhat.com>
3196
3197         maint.mk: add strncpy-prohibiting syntax-check rule
3198         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
3199
3200 2012-05-24  Jim Meyering  <meyering@redhat.com>
3201
3202         maint.mk: compute $(gpg_key_ID) more portably
3203         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
3204         That use of sed is not portable to some fringe systems.
3205         Reported by Paul Eggert in
3206         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
3207
3208 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3209
3210         mktime: sync from glibc
3211         * config/srclist.txt: Uncomment mktime.c.
3212         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
3213         First, indent with tabs, since glibc uses tabs and doesn't want to
3214         change and we'd rather be identical to glibc.  Also, two small
3215         coding changes:
3216         (isdst_differ): Use &&, not &, as && is the usual style.
3217         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
3218         for clarity.
3219
3220 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3221
3222         announce-gen: du -h is more portable than du --human
3223         * build-aux/announce-gen (sizes): Invoke du with -h instead
3224         of --human.  Accept leading white space in its output.
3225
3226 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3227
3228         announce-gen: Improve diagnostics.
3229         * build-aux/announce-gen: When parsing command line options,
3230         prefer "announce-gen: option --release-type requires an argument"
3231         to "Option release-type requires an argument".
3232
3233 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3234
3235         maint.mk: gpg_key_ID: use sed more portably
3236         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
3237         the closing brace.
3238         (refresh-po): Fuse two sed invocations into one.
3239
3240 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
3241
3242         gitlog-to-changelog: support the log message format used in Bison.
3243         * build-aux/gitlog-to-changelog: Support --strip-tab and
3244         --strip-cherry-picked.
3245
3246 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3247
3248         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
3249         the rest of the current time slice to another thread in the current
3250         process. So if the thread that feeds the file decscriptor we're
3251         polling is not in the current process, we get busy-waiting.
3252         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
3253         Patch from Theodore Leblond.
3254         * lib/select.c: Split polling out of the loop that sets the output
3255         fd_sets.  Check for zero result and loop if the wait timeout is
3256         infinite.
3257
3258 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3259
3260         select: Fix build error on IRIX 6.5.
3261         * lib/select.c: Include stddef.h for NULL.
3262
3263 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3264
3265         gc: fix libgcrypt detection on older machines.
3266         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
3267         copyright years because the file has been distributed every year
3268         since it was created.
3269
3270 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
3271
3272         crypto: fix bug in large buffer handling
3273         Problem reported by Serge Belyshev for glibc in
3274         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
3275         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
3276         * lib/md4.c (md4_process_block):
3277         * lib/md5.c (md5_process_block):
3278         * lib/sha1.c (sha1_process_block):
3279         * lib/sha256.c (sha256_process_block):
3280         Don't assume the buffer length is less than 2**32.
3281         * lib/sha512.c (sha512_process_block): Likewise.
3282         Here, the bug is present only in the rare case where the host does
3283         not support uint64_t or where size_t is wider than 64 bits.
3284         Use u64size to work around the problems.
3285         * lib/u64.h (u64size): New macro.
3286
3287 2012-05-15  Pádraig Brady  <P@draigBrady.com>
3288
3289         fsusage: fix block size returned on older Linux 2.6
3290
3291         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
3292         which is available since Linux 2.6.
3293         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
3294         when the member is available so it can be used as a fallback.
3295         * doc/posix-functions/statvfs.texi: Mention the hang issue
3296         on Linux < 2.6.36.
3297
3298 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
3299
3300         bootstrap: suppress stderr chatter
3301         * build-aux/bootstrap (insert_sorted_if_absent, main program):
3302         Omit unnecessary chatter to stderr.  The main program chatter
3303         was there only inadvertantly.
3304
3305         bootstrap: .gitignore files created by autopoint, libtool
3306         I ran into this problem when bootstrapping the latest diffutils.
3307         After './bootstrap', 'git status' reported lots of untracked files
3308         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
3309         autopoint and do not need to be version-controlled.
3310         * build-aux/bootstrap: Put into .gitignore the files that
3311         autopoint and libtool create, by keeping track of files that exist
3312         after but not before these programs are run.
3313         (version_controlled_file): Move up.  2nd arg is now full file
3314         name, not base name; this is more convenient.  Put CVS at the end,
3315         as it's now somewhat deprecated.
3316
3317 2012-05-14  Jim Meyering  <meyering@redhat.com>
3318
3319         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
3320         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
3321         definition.  Reported by Bruno Haible.
3322
3323 2012-05-13  Bruno Haible  <bruno@clisp.org>
3324             Paul Eggert  <eggert@cs.ucla.edu>
3325
3326         binary-io: Define set_binary_mode function.
3327         * lib/binary-io.h (set_binary_mode): New function.
3328         (SET_BINARY): Define in terms of set_binary_mode.
3329         * modules/binary-io (configure.ac): Require AC_C_INLINE.
3330         * tests/test-binary-io.c (main): Accept an argument, and test either
3331         set_binary_mode or SET_BINARY depending on the argument.
3332         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
3333         argument. Clean up also t-bin-out0.tmp.
3334
3335 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3336
3337         bootstrap: take advantage of POSIX shell features
3338
3339         The 'bootstrap' script offered by Gnulib script already uses POSIX
3340         shell features (like $((...)) arithmetic expansions) that are not
3341         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
3342         means that bootstrap must already be run using a proper POSIX shell,
3343         which will thus provide more features, like ${var#pattern} parameter
3344         expansion or inversion of a command exit status with '!'.  We can
3345         thus use these features to improve the clarity and the performances
3346         of the bootstrap script.
3347
3348         Suggested by Eric Blake.
3349
3350         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
3351         of sed/expr plus command substitutions, to save some forks.  While
3352         we are at it, prefer the POSIX $(...) form of command substitution,
3353         rather than the legacy form `...` (since the former is visually
3354         clearer and interacts better with quoting), and prefer the idiom:
3355           "if ! CMD; then ACTION ..."
3356         over the idiom:
3357           "if CMD; then :; else ACTION ..."
3358         which was required by legacy Bourne shells not supporting '!'.
3359
3360 2012-05-12  Bruno Haible  <bruno@clisp.org>
3361
3362         system-quote: Add more comments.
3363         * lib/system-quote.h: Add more comments about wilcards and limitations.
3364         Suggested by Eli Zaretskii <eliz@gnu.org>.
3365
3366         sh-quote, system-quote: Add comments about wildcards.
3367         * lib/sh-quote.h: Clarify what happens with wildcard characters.
3368         * lib/system-quote.h: Likewise.
3369         Reported by Eli Zaretskii <eliz@gnu.org>.
3370
3371 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
3372
3373         fsusage: check for GNU/Linux statvfs problem dynamically
3374         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
3375         Define STAT_STATFS2_BSIZE too, since in this case the code now
3376         checks dynamically whether statvfs is reliable, falling back on
3377         Linux-style statfs otherwise.
3378         (statvfs_works): New function, for dynamically testing statvfs.
3379         (get_fs_usage) [STAT_STATVFS]: Use it.
3380         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
3381         statvfs on GNU/Linux hosts, since it's now done dynamically.
3382
3383 2012-05-10  Bruno Haible  <bruno@clisp.org>
3384
3385         system-quote, execute, spawn-pipe: Escape '?' on Windows.
3386         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
3387         '?' character.
3388         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
3389         * tests/test-system-quote-main.c (check_all): Check also strings like
3390         "??????????".
3391         Reported by Eli Zaretskii <eliz@gnu.org>.
3392
3393 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
3394
3395         _Noreturn: port config.h to gcc -Wundef
3396         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
3397         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
3398         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
3399
3400 2012-05-10  Bruno Haible  <bruno@clisp.org>
3401
3402         system-quote: Refactor.
3403         * lib/system-quote.h (system_quote_copy): Fix comment.
3404         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
3405         New functions, extracted from system_quote_copy.
3406         (system_quote_length, system_quote_copy): Use these functions.
3407         Reported by Paul Eggert.
3408
3409 2012-05-08  Bruno Haible  <bruno@clisp.org>
3410
3411         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
3412         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
3413
3414 2012-05-08  Bruno Haible  <bruno@clisp.org>
3415
3416         Tests for module 'system-quote'.
3417         * modules/system-quote-tests: New file.
3418         * tests/test-system-quote.sh: New file.
3419         * tests/test-system-quote-main.c: New file.
3420         * tests/test-system-quote-child.c: New file.
3421
3422         New module 'system-quote'.
3423         * lib/system-quote.h: New file.
3424         * lib/system-quote.c: New file.
3425         * modules/system-quote: New file.
3426
3427 2012-05-08  Bruno Haible  <bruno@clisp.org>
3428
3429         sh-quote: Make C++ safe and allow multiple inclusion.
3430         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
3431         declarations in extern "C".
3432
3433 2012-05-08  Bruno Haible  <bruno@clisp.org>
3434
3435         sh-quote tests: Make tests stricter.
3436         * tests/test-sh-quote.c (check_one): Check the return value of
3437         shell_quote_copy.
3438         (main): Check a string with a CR character. Check a string that
3439         contains UCHAR_MAX.
3440
3441 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
3442
3443         warnings.m4: provide a means to specify the program to compile.
3444         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
3445         (gl_WARN_ADD): here.
3446         Use gl_AS_VAR_APPEND.
3447         Support an argument to specify the program to compile.
3448         (gl_WARN_ADD): Accept an argument to specify the program to compile.
3449         AC_SUBST the WARN_CFLAGS when they are used.
3450         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
3451         leave this to gl_WARN_ADD.
3452
3453 2012-05-08  Eric Blake  <eblake@redhat.com>
3454
3455         doc: recommendations on gettext version
3456         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
3457         choice between versions.
3458         * DEPENDENCIES (gettext): Cover both approaches.
3459
3460 2012-05-08  Jim Meyering  <meyering@redhat.com>
3461
3462         init.sh: explain why EXEEXT support uses aliases rather than functions
3463         * tests/init.sh: Add a comment.
3464
3465         init.sh: don't let bash aliases interfere with tests
3466         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
3467         is bash.  This avoids problems for those who alias standard commands to
3468         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
3469         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
3470
3471 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
3472
3473         stdint: be more consistent with glibc, SunOS libc
3474         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
3475         (gl_int_fast16_t, gl_uint_fast16_t)
3476         (gl_int_fast32_t, gl_uint_fast32_t)
3477         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
3478         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
3479         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
3480         Be consistent with glibc by default, and with SunOS 5.10 and later
3481         if __sun is defined.  This lessens the likelihood of clashes if
3482         code compiled for older hosts is combined with code compiled for
3483         newer ones.  Problem reported by Niels Möller in
3484         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
3485
3486 2012-05-07  Eric Blake  <eblake@redhat.com>
3487
3488         isatty: relax license to LGPLv2+
3489         * modules/isatty (License): Relax license.
3490
3491 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
3492
3493         stat-size: comment fix
3494         * lib/stat-size.h: Remove obsolete comment about indenting.
3495
3496 2012-05-06  Bruno Haible  <bruno@clisp.org>
3497
3498         Tests for module 'sh-quote'.
3499         * modules/sh-quote-tests: New file.
3500         * tests/test-sh-quote.c: New file.
3501
3502 2012-05-06  Bruno Haible  <bruno@clisp.org>
3503
3504         sh-quote: Improve shell_quote_argv's signature.
3505         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
3506         * lib/sh-quote.c (shell_quote_argv): Likewise.
3507
3508 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
3509
3510         stdint: document issues with int_fast8_t etc.
3511         * doc/posix-headers/stdint.texi (stdint.h): Say that other
3512         stdint.h substitutes may define these types differently.  See
3513         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
3514
3515 2012-05-05  Bruno Haible  <bruno@clisp.org>
3516
3517         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
3518         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
3519         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
3520         or 'guessing no (mishandles large arguments)'.
3521
3522 2012-05-05  Bruno Haible  <bruno@clisp.org>
3523
3524         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
3525         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
3526         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
3527         set gl_cv_func_link_follows_symlink to "guessing no".
3528
3529 2012-05-05  Bruno Haible  <bruno@clisp.org>
3530
3531         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
3532         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
3533         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
3534         "guessing no".
3535         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
3536
3537 2012-05-05  Bruno Haible  <bruno@clisp.org>
3538
3539         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
3540         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
3541         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
3542         set gl_cv_struct_dirent_d_ino to "guessing yes".
3543
3544 2012-05-05  Bruno Haible  <bruno@clisp.org>
3545
3546         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
3547         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
3548         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
3549         "guessing yes".
3550
3551 2012-05-05  Bruno Haible  <bruno@clisp.org>
3552
3553         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
3554         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
3555         compiling to a glibc system, set gl_cv_func_signbit and
3556         gl_cv_func_signbit_gcc to "guessing yes".
3557
3558 2012-05-05  Bruno Haible  <bruno@clisp.org>
3559
3560         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
3561         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
3562         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
3563         to "guessing yes".
3564         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
3565         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
3566
3567 2012-05-05  Bruno Haible  <bruno@clisp.org>
3568
3569         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
3570         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
3571         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
3572         gl_cv_func_realpath_works to "guessing yes".
3573
3574 2012-05-05  Bruno Haible  <bruno@clisp.org>
3575
3576         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
3577         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
3578         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
3579
3580 2012-05-04  Bruno Haible  <bruno@clisp.org>
3581
3582         Tweak last commit.
3583         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
3584         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3585
3586 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
3587
3588         unistd_h: make it easier to avoid sys_types_h
3589         This is useful for Emacs, which has its own method of porting to
3590         Windows, and which therefore does not need the sys_types_h module.
3591         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
3592         code moved here from gl_SYS_TYPES_H.
3593         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
3594         using the code directly.
3595         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
3596         gl_SYS_TYPES_H.
3597         * modules/sys_types (Files):
3598         * modules/unistd (Files): Add m4/off_t.m4.
3599
3600 2012-05-03  Bruno Haible  <bruno@clisp.org>
3601
3602         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
3603         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
3604         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
3605         "guessing yes" or "guessing no".
3606         (gl_FUNC_LSTAT): Update.
3607         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
3608         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
3609         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
3610
3611 2012-05-03  Bruno Haible  <bruno@clisp.org>
3612
3613         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
3614         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
3615         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
3616         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
3617         cross-compiling, choose the first alternative on glibc systems.
3618         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
3619
3620 2012-05-03  Bruno Haible  <bruno@clisp.org>
3621
3622         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
3623         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
3624         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
3625
3626 2012-05-03  Bruno Haible  <bruno@clisp.org>
3627
3628         chown: Avoid "guessing no" when cross-compiling to glibc systems.
3629         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
3630
3631 2012-05-03  Bruno Haible  <bruno@clisp.org>
3632
3633         Avoid "guessing no" guesses when cross-compiling to glibc systems.
3634         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
3635         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
3636         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
3637         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
3638         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
3639         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
3640         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
3641         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
3642         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
3643         compiling to glibc systems, set gl_cv_func_chown_slash_works,
3644         gl_cv_func_chown_ctime_works to "guessing yes".
3645         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
3646         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
3647         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
3648         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
3649         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
3650         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
3651         compiling to glibc systems, set gl_cv_func_open_directory_works to
3652         "guessing yes".
3653         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
3654         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
3655         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
3656         "guessing yes".
3657         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
3658         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
3659         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
3660         compiling to glibc systems, set gl_cv_func_floorf_ieee to
3661         "guessing yes".
3662         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
3663         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
3664         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
3665         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
3666         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
3667         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
3668         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
3669         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
3670         "guessing yes".
3671         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
3672         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
3673         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
3674         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
3675         "guessing yes".
3676         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
3677         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
3678         "guessing yes".
3679         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
3680         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
3681         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
3682         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
3683         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
3684         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
3685         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
3686         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
3687         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
3688         compiling to glibc systems, set gl_cv_func_log10f_ieee to
3689         "guessing yes".
3690         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
3691         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
3692         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
3693         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
3694         "guessing yes".
3695         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
3696         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
3697         "guessing yes".
3698         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
3699         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
3700         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
3701         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
3702         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
3703         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
3704         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
3705         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
3706         compiling to glibc systems, set gl_cv_func_mkfifo_works to
3707         "guessing yes".
3708         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
3709         compiling to glibc systems, set gl_cv_func_mknod_works to
3710         "guessing yes".
3711         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
3712         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
3713         "guessing yes".
3714         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
3715         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
3716         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
3717         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
3718         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
3719         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
3720         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
3721         compiling to glibc systems, set gl_cv_func_svid_putenv to
3722         "guessing yes".
3723         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
3724         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
3725         "guessing yes".
3726         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
3727         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
3728         "guessing yes".
3729         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
3730         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
3731         to "guessing yes".
3732         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
3733         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
3734         to "guessing yes".
3735         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
3736         compiling to glibc systems, set gl_cv_func_rmdir_works to
3737         "guessing yes".
3738         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
3739         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
3740         gl_cv_func_unlink_parent_fails to "guessing yes".
3741         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
3742         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
3743         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
3744         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
3745         gl_cv_func_rename_dest_works to "guessing yes".
3746         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
3747         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
3748         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
3749         compiling to glibc systems, set gl_cv_func_roundf_ieee to
3750         "guessing yes".
3751         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
3752         compiling to glibc systems, set gl_cv_func_roundl_ieee to
3753         "guessing yes".
3754         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
3755         compiling to glibc systems, set gl_cv_func_setenv_works to
3756         "guessing yes".
3757         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
3758         compiling to glibc systems, set gl_cv_func_unsetenv_works to
3759         "guessing yes".
3760         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
3761         compiling to glibc systems, set gl_cv_func_sleep_works to
3762         "guessing yes".
3763         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
3764         compiling to glibc systems, set gl_cv_func_stat_file_slash to
3765         "guessing yes".
3766         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
3767         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
3768         "guessing yes".
3769         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
3770         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
3771         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
3772         compiling to glibc systems, set gl_cv_func_truncf_ieee to
3773         "guessing yes".
3774         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
3775         compiling to glibc systems, set gl_cv_func_truncl_ieee to
3776         "guessing yes".
3777         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
3778         compiling to glibc systems, set gl_cv_func_usleep_works to
3779         "guessing yes".
3780         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
3781         compiling to glibc systems, set gl_cv_func_futimesat_works to
3782         "guessing yes".
3783
3784 2012-05-03  Bruno Haible  <bruno@clisp.org>
3785
3786         Say "guessing yes" or "guessing no" when cross-compiling.
3787         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
3788         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
3789         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
3790         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
3791         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
3792         am_cv_func_working_getline to "guessing yes" or "guessing no".
3793         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
3794         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
3795         (gl_FUNC_MEMMEM): When cross-compiling, set
3796         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
3797         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
3798         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
3799         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
3800         set gl_cv_func_strcasestr_works_always to "guessing yes" or
3801         "guessing no".
3802         (gl_FUNC_STRCASESTR): When cross-compiling, set
3803         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
3804         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
3805         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
3806         (gl_FUNC_STRSTR): When cross-compiling, set
3807         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
3808         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
3809         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
3810         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
3811         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
3812
3813 2012-05-01  Bruno Haible  <bruno@clisp.org>
3814
3815         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
3816         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
3817         * build-aux/reloc-ldflags: Likewise.
3818         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
3819
3820 2012-05-01  Bruno Haible  <bruno@clisp.org>
3821
3822         gnulib-tool: Remove transitional code.
3823         * gnulib-tool: Don't warn about --import with 0 arguments any more.
3824         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3825
3826 2012-05-01  Bruno Haible  <bruno@clisp.org>
3827
3828         getcwd: Fix misindentation.
3829         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
3830
3831 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
3832
3833         exclude: process exclude and include directives in order
3834         This restores the pre-2009 behavior, and is part of a fix of a
3835         grep bug reported by Quentin Arce in
3836         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
3837         * lib/exclude.c (struct exclude): Remove 'tail' member.
3838         (new_exclude_segment): Prepend the new segment instead of appending.
3839         Return void, since that's now more convenient.
3840         (file_pattern_matches): Renamed from excluded_file_pattern_p.
3841         (file_name_matches): Renamed from excluded_file_name_p.
3842         (file_pattern_matches, file_name_matches):
3843         Return true if the pattern matches, not if it excludes.
3844         All callers changed.
3845         (excluded_file_name): Process the list in reverse order;
3846         since the list is now reversed this restores the pre-2009 behavior.
3847         (add_exclude): Adjust to new reversed-order list.  Use local var
3848         rather than macro, for clarity.
3849         * tests/test-exclude7.sh: Adjust to corrected behavior.
3850
3851         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
3852         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
3853         it's not possible here.  Handle the case of \ at end of pattern
3854         without dumping core.
3855         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
3856
3857         _Noreturn: future-proof non-GNU and non-MSVC compilers
3858         * build-aux/snippet/_Noreturn.h (_Noreturn):
3859         * m4/gnulib-common.m4 (gl_COMMON_BODY):
3860         Do not define _Noreturn if __STDC_VERSION__ indicates this is
3861         C11 or later.  This is more likely to work with random future C
3862         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
3863         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
3864
3865         exclude: handle wildcards with FNM_EXTMATCH
3866         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
3867         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
3868         comment that "has wildcards" really means "has or may have
3869         wildcards".  Simplify by avoiding the need to call strcspn.
3870
3871 2012-04-29  Bruno Haible  <bruno@clisp.org>
3872
3873         gnulib-tool: Fix list of authors.
3874         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
3875
3876 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
3877
3878         bootstrap: support Automake-NG in $buildreq
3879         * bootstrap (check_versions): Handle automake and aclocal from
3880         Automake-NG specially.  They can be specified as respectively
3881         the "automake-ng" and "aclocal-ng" requirements.
3882
3883 2012-04-25  Eric Blake  <eblake@redhat.com>
3884
3885         bootstrap: only force latest Makefile.in.in for gettext module
3886         * build-aux/bootstrap (with_gettext): Only install latest
3887         Makefile.in.in for projects requesting bleeding edge gettext.
3888
3889 2012-04-22  Bruno Haible  <bruno@clisp.org>
3890
3891         doc: Mention reason for replacement on glibc/Linux systems.
3892         * doc/posix-functions/dprintf.texi: Mention the problem with special
3893         'long double' values.
3894         * doc/posix-functions/fprintf.texi: Likewise.
3895         * doc/posix-functions/printf.texi: Likewise.
3896         * doc/posix-functions/snprintf.texi: Likewise.
3897         * doc/posix-functions/sprintf.texi: Likewise.
3898         * doc/posix-functions/vdprintf.texi: Likewise.
3899         * doc/posix-functions/vfprintf.texi: Likewise.
3900         * doc/posix-functions/vprintf.texi: Likewise.
3901         * doc/posix-functions/vsnprintf.texi: Likewise.
3902         * doc/posix-functions/vsprintf.texi: Likewise.
3903         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
3904         platforms with F_DUPFD_CLOEXEC problems.
3905         * doc/posix-functions/glob.texi: Mention which platforms are affected
3906         by the problem with symbolic links.
3907         * doc/posix-functions/linkat.texi: Mention the problem with
3908         AT_SYMLINK_FOLLOW on Linux.
3909
3910 2012-04-22  Bruno Haible  <bruno@clisp.org>
3911
3912         pwrite: Don't replace on all platforms.
3913         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
3914
3915 2012-04-22  Bruno Haible  <bruno@clisp.org>
3916
3917         rint* tests: Avoid gcc warnings.
3918         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
3919         * tests/test-rintf.c (INFINITY, NAN): Likewise.
3920         * tests/test-rintl.c (INFINITY, NAN): Likewise.
3921
3922 2012-04-21  Bruno Haible  <bruno@clisp.org>
3923
3924         users.txt: Update.
3925         * users.txt: Add freedink, wdiff. Update URLs for projects that have
3926         switched from CVS to git, bzr, or svn.
3927
3928 2012-04-21  Bruno Haible  <bruno@clisp.org>
3929
3930         Large File Support for native Windows platforms.
3931
3932         * m4/largefile.m4 (gl_LARGEFILE): New macro.
3933         * modules/largefile (configure.ac): Require gl_LARGEFILE.
3934
3935         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
3936         type.
3937         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
3938         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
3939         * doc/posix-headers/sys_types.texi: Mention the effect of the
3940         'largefile' module.
3941
3942         * lib/fcntl.in.h: Add comments about off_t.
3943         * modules/fcntl-h (Depends-on): Add sys_types.
3944
3945         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
3946         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
3947         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
3948         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
3949         * modules/unistd (Depends-on): Add sys_types.
3950         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
3951
3952         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
3953         instead of lseek.
3954         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
3955         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
3956         * modules/lseek (Depends-on): Add sys_types.
3957
3958         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
3959         msvc-nothrow.h.
3960         (SetFileSize): New function.
3961         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
3962         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
3963         if Large File Support is requested.
3964         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
3965         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
3966
3967         * lib/stdio.in.h: Add comments about off_t.
3968         * modules/stdio (Depends-on): Add sys_types.
3969
3970         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
3971         instead of ftello.
3972         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
3973         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
3974         (gl_PREREQ_FTELLO): New macro.
3975         * modules/ftello (Depends-on): Add sys_types.
3976         (configure.ac): Incoke gl_PREREQ_FTELLO.
3977
3978         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
3979         instead of fseeko.
3980         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
3981         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
3982         (gl_PREREQ_FSEEKO): New macro.
3983         * modules/fseeko (Depends-on): Add sys_types.
3984         (configure.ac): Invoke gl_PREREQ_FSEEKO.
3985
3986         * lib/sys_stat.in.h: Add comments about off_t.
3987         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
3988         64-bit integer for st_size in 'struct stat'.
3989         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
3990         Define _GL_WINDOWS_64_BIT_ST_SIZE.
3991         * modules/sys_stat (Depends-on): Add sys_types.
3992         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
3993
3994         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
3995         instead of stat or _stat.
3996
3997         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
3998         'struct _stati64' instead of fstat and 'struct stat'.
3999         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
4000         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
4001
4002         Reported by Ray Satiro <raysatiro@yahoo.com>.
4003
4004 2012-04-19  Eric Blake  <eblake@redhat.com>
4005
4006         bootstrap: accommodate older libtool
4007         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
4008         Reported by Daniel P. Berrange.
4009
4010 2012-04-19  Jim Meyering  <meyering@redhat.com>
4011
4012         announce-gen: avoid failure due to lack of Digest::SHA1
4013         Even with the preferred Digest::SHA available, this script
4014         would fail when the backup module, Digest::SHA1, was not installed.
4015         * build-aux/announce-gen: Quote the conditional use of "use".
4016         Reported by Reuben Thomas in:
4017         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
4018
4019         bootstrap: don't let a user's CDPATH setting affect this script
4020         When CDPATH is set, cd will sometimes generate output.
4021         When "cd" is run in a subshell whose output matters, that
4022         surprising-to-some output can cause malfunction.
4023         Unsetting CDPATH turns off this shell "feature."
4024         * build-aux/bootstrap (CDPATH): Unset.
4025         Reported by Reuben Thomas in:
4026         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
4027         and inspired by his patch here:
4028         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
4029
4030 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
4031         and Jim Meyering  <meyering@redhat.com>
4032
4033         maint.mk: catch "see @xref{}" and similar
4034         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
4035         prohibit "See also @xref{", "Also see @pxref{", and similar.
4036
4037 2012-04-16  Jim Meyering  <meyering@redhat.com>
4038
4039         bootstrap: really use gnulib's po/Makefile.in.in
4040         * build-aux/bootstrap: Correct the source file name in previous change.
4041         Reported by Akim Demaille.
4042
4043         configmake: correct minor inconsistency in Makefile rule
4044         * modules/configmake (Makefile.am): All other rules like this one
4045         run the final "mv -f ..." in the same backslash-continued command
4046         as the one that does everything else.  This one put the mv -f ...
4047         command on a separate, non-backslash-continued line.
4048         Make it like the others.
4049
4050         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
4051         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
4052         the one from gettext.  Reported by Akim Demaille.
4053
4054 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
4055
4056         Fix recursion of install-* into po directories.
4057         Bison's install-pdf bug reported by Hans Aberg at
4058         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
4059         * build-aux/po/Makefile.in.in (install-dvi, install-html)
4060         (install-info, install-pdf, install-ps): New targets.
4061
4062 2012-04-16  Jim Meyering  <meyering@redhat.com>
4063
4064         maint: avoid spurious "make sc_maint" failure
4065         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
4066         exempt all *.class file names, for lib/javaversion.class.
4067
4068 2012-04-15  Bruno Haible  <bruno@clisp.org>
4069
4070         lseek: Make configure test independent of environment.
4071         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
4072         Windows, we know that lseek() on pipes is broken; skip the runtime
4073         test.
4074
4075 2012-04-14  Bruno Haible  <bruno@clisp.org>
4076
4077         stat: Bypass buggy override in mingw64.
4078         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
4079         * lib/stat.c (stat) [mingw64]: Define to _stat.
4080         * doc/posix-functions/stat.texi: Mention mingw64 bug.
4081
4082 2012-04-14  Bruno Haible  <bruno@clisp.org>
4083
4084         pathmax: Fix compilation error on MSVC 9.
4085         * modules/pathmax (Depends-on): Add unistd.
4086
4087 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
4088
4089         README: document pointer comparison assumption
4090         * README (Portability guidelines): Document assumption about
4091         pointer comparisons, in response to a recent bug-gnulib comment by
4092         Jeffrey Kegler.
4093
4094 2012-04-12  Bruno Haible  <bruno@clisp.org>
4095
4096         Tests for module 'getrusage'.
4097         * modules/getrusage-tests: New file.
4098         * tests/test-getrusage.c: New file.
4099
4100         New module 'getrusage'.
4101         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
4102         warn-on-use.h.
4103         (getrusage): New declaration.
4104         * lib/getrusage.c: New file.
4105         * m4/getrusage.m4: New file.
4106         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
4107         is declared.
4108         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
4109         HAVE_GETRUSAGE.
4110         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
4111         snippet/c++defs, snippet/warn-on-use.
4112         (Makefile.am): Update generation of sys/resource.h. Substitute
4113         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
4114         * modules/getrusage: New file.
4115         * doc/posix-functions/getrusage.texi: Mention the new module.
4116
4117 2012-04-12  Bruno Haible  <bruno@clisp.org>
4118
4119         Tests for module 'sys_resource'.
4120         * modules/sys_resource-tests: New file.
4121         * tests/test-sys_resource.c: New file.
4122
4123         New module 'sys_resource'.
4124         * lib/sys_resource.in.h: New file.
4125         * m4/sys_resource_h.m4: New file.
4126         * modules/sys_resource: New file.
4127         * doc/posix-headers/sys_resource.texi: Mention the new module.
4128
4129 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
4130
4131         ioctl: Fix compilation error on mingw.
4132         * lib/ioctl.c: Include <windows.h>.
4133         Also reported by Ray Satiro <raysatiro@yahoo.com>.
4134
4135 2012-04-04  Jim Meyering  <meyering@redhat.com>
4136
4137         regex: correct #pragma guard expression
4138         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
4139         not 4.3.  Correct its cpp guard expression.
4140
4141 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
4142
4143         regex: remove unnecessary type punning
4144         Problem reported by Vladimir Serbinenko in
4145         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
4146         * lib/regex.h (struct re_pattern_buffer): Change the type of
4147         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
4148         Fix comment to match code.
4149         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
4150         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
4151         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
4152         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
4153         (set_regs):
4154         Omit no-longer-necessary casts.
4155
4156 2012-04-03  Bruno Haible  <bruno@clisp.org>
4157
4158         Tests for module 'ilogbl'.
4159         * modules/ilogbl-tests: New file.
4160         * tests/test-ilogbl.c: New file.
4161
4162         New module 'ilogbl'.
4163         * lib/math.in.h (ilogbl): New declaration.
4164         * lib/ilogbl.c: New file.
4165         * m4/ilogbl.m4: New file.
4166         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
4167         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
4168         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
4169         Split sed invocation, to avoid the limit of 100 substitutions of
4170         HP-UX 'sed'.
4171         * modules/ilogbl: New file.
4172         * tests/test-math-c++.cc: Check the declaration of ilogbl.
4173         * doc/posix-functions/ilogbl.texi: Mention the new module.
4174
4175 2012-04-03  Bruno Haible  <bruno@clisp.org>
4176
4177         Tests for module 'ilogbf'.
4178         * modules/ilogbf-tests: New file.
4179         * tests/test-ilogbf.c: New file.
4180
4181         New module 'ilogbf'.
4182         * lib/math.in.h (ilogbf): New declaration.
4183         * lib/ilogbf.c: New file.
4184         * m4/ilogbf.m4: New file.
4185         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
4186         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
4187         REPLACE_ILOGBF.
4188         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
4189         REPLACE_ILOGBF.
4190         * modules/ilogbf: New file.
4191         * tests/test-math-c++.cc: Check the declaration of ilogbf.
4192         * doc/posix-functions/ilogbf.texi: Mention the new module.
4193
4194 2012-04-03  Bruno Haible  <bruno@clisp.org>
4195
4196         Tests for module 'ilogb'.
4197         * modules/ilogb-tests: New file.
4198         * tests/test-ilogb.c: New file.
4199         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
4200         tests/test-logb-ieee.h.
4201
4202         New module 'ilogb'.
4203         * lib/math.in.h (ilogb): New declaration.
4204         * lib/ilogb.c: New file.
4205         * m4/ilogb.m4: New file.
4206         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
4207         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
4208         REPLACE_ILOGB.
4209         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
4210         REPLACE_ILOGB.
4211         * modules/ilogb: New file.
4212         * tests/test-math-c++.cc: Check the declaration of ilogb.
4213         * doc/posix-functions/ilogb.texi: Mention the new module.
4214
4215 2012-04-03  Bruno Haible  <bruno@clisp.org>
4216
4217         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
4218         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
4219         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
4220         (main): Check their values.
4221         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
4222         problem.
4223
4224 2012-04-03  Bruno Haible  <bruno@clisp.org>
4225
4226         Tests for module 'logbl-ieee'.
4227         * modules/logbl-ieee-tests: New file.
4228         * tests/test-logbl-ieee.c: New file.
4229
4230         New module 'logbl-ieee'.
4231         * modules/logbl-ieee: New file.
4232
4233         Tests for module 'logb-ieee'.
4234         * modules/logb-ieee-tests: New file.
4235         * tests/test-logb-ieee.c: New file.
4236
4237         New module 'logb-ieee'.
4238         * modules/logb-ieee: New file.
4239
4240         Tests for module 'logbf-ieee'.
4241         * modules/logbf-ieee-tests: New file.
4242         * tests/test-logbf-ieee.c: New file.
4243         * tests/test-logb-ieee.h: New file.
4244
4245         New module 'logbf-ieee'.
4246         * modules/logbf-ieee: New file.
4247
4248 2012-04-03  Bruno Haible  <bruno@clisp.org>
4249
4250         Tests for module 'logbl'.
4251         * modules/logbl-tests: New file.
4252         * tests/test-logbl.c: New file.
4253
4254         New module 'logbl'.
4255         * lib/math.in.h (logbl): New declaration.
4256         * lib/logbl.c: New file.
4257         * m4/logbl.m4: New file.
4258         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
4259         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
4260         REPLACE_LOGBL.
4261         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
4262         REPLACE_LOGBL.
4263         * modules/logbl: New file.
4264         * tests/test-math-c++.cc: Check the declaration of logbl.
4265         * doc/posix-functions/logbl.texi: Mention the new module.
4266
4267 2012-04-02  Bruno Haible  <bruno@clisp.org>
4268
4269         Tests for module 'logbf'.
4270         * modules/logbf-tests: New file.
4271         * tests/test-logbf.c: New file.
4272
4273         New module 'logbf'.
4274         * lib/math.in.h (logbf): New declaration.
4275         * lib/logbf.c: New file.
4276         * m4/logbf.m4: New file.
4277         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
4278         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
4279         REPLACE_LOGBF.
4280         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
4281         REPLACE_LOGBF.
4282         * modules/logbf: New file.
4283         * tests/test-math-c++.cc: Check the declaration of logbf.
4284         * doc/posix-functions/logbf.texi: Mention the new module.
4285
4286 2012-04-02  Bruno Haible  <bruno@clisp.org>
4287
4288         logb tests: More tests.
4289         * tests/test-logb.h: New file, based on tests/test-logb.c and
4290         tests/test-frexp.h.
4291         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
4292         (main): Just invoke test_function.
4293         * modules/logb-tests (Files): Add tests/test-logb.h,
4294         tests/minus-zero.h, tests/randomd.c.
4295         (Makefile.am): Add randomd.c to test_logb_SOURCES.
4296
4297         logb: Provide replacement and workarounds.
4298         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
4299         is 1.
4300         * lib/logb.c: New file.
4301         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
4302         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
4303         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
4304         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
4305         * modules/logb (Files): Add lib/logb.c.
4306         (Depends-on): Add isfinite, frexp, isnand.
4307         (configure.ac): Compile the replacement code logb.c if needed.
4308         * tests/test-math-c++.cc: Check the declaration of logb.
4309         * doc/posix-functions/logb.texi: Mention the replacement and the bug
4310         with subnormal numbers.
4311
4312 2012-04-02  Bruno Haible  <bruno@clisp.org>
4313
4314         log10* tests: Speed up.
4315         * tests/test-log10.h (test_function): Reduce amount of random numbers
4316         to test.
4317
4318 2012-04-01  Bruno Haible  <bruno@clisp.org>
4319
4320         logf-ieee: Fix test whether logf works.
4321         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
4322
4323 2012-04-01  Bruno Haible  <bruno@clisp.org>
4324
4325         log10l: Work around log10l-ieee test failure on IRIX 6.5.
4326         * lib/log10l.c: Include <float.h>
4327         (log10l): On IRIX, normalize the +Infinity value.
4328         * modules/log10l (Depends-on): Add 'float'.
4329         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
4330         +Infinity.
4331
4332         log10f-ieee: Work around test failure on NetBSD 5.1.
4333         * m4/log10f-ieee.m4: New file.
4334         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
4335         test whether log10f works with a negative argument. Replace it if not.
4336         * lib/log10f.c (log10f): For negative arguments, return NaN.
4337         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
4338         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
4339         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
4340
4341         log10f-ieee: Work around test failure on Solaris 9.
4342         * modules/log10f-ieee (Depends-on): Add log10-ieee.
4343         (configure.ac): Require gl_FUNC_LOG10F.
4344
4345         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
4346         * m4/log10-ieee.m4: New file.
4347         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
4348         whether log10 works with a negative argument. Replace it if not.
4349         * lib/log10.c (log10): For negative arguments, return NaN.
4350         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
4351         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
4352         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
4353
4354         Tests for module 'log10l-ieee'.
4355         * modules/log10l-ieee-tests: New file.
4356         * tests/test-log10l-ieee.c: New file.
4357
4358         New module 'log10l-ieee'.
4359         * modules/log10l-ieee: New file.
4360
4361         Tests for module 'log10-ieee'.
4362         * modules/log10-ieee-tests: New file.
4363         * tests/test-log10-ieee.c: New file.
4364
4365         New module 'log10-ieee'.
4366         * modules/log10-ieee: New file.
4367
4368         Tests for module 'log10f-ieee'.
4369         * modules/log10f-ieee-tests: New file.
4370         * tests/test-log10f-ieee.c: New file.
4371         * tests/test-log10-ieee.h: New file.
4372
4373         New module 'log10f-ieee'.
4374         * modules/log10f-ieee: New file.
4375
4376 2012-04-01  Bruno Haible  <bruno@clisp.org>
4377
4378         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
4379         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
4380         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
4381         workaround.
4382         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
4383         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
4384         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
4385         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
4386         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
4387         (Depends-on): Update conditions.
4388         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
4389         IRIX 6.5, OSF/1 5.1 problems.
4390
4391 2012-04-01  Bruno Haible  <bruno@clisp.org>
4392
4393         log10f: Work around OSF/1 5.1 bug.
4394         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
4395         * lib/log10f.c (log10f): If logf exists, use it and provide just the
4396         workaround.
4397         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
4398         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
4399         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
4400         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
4401         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
4402         (Depends-on): Update conditions.
4403         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
4404
4405 2012-04-01  Bruno Haible  <bruno@clisp.org>
4406
4407         log10: Work around OSF/1 5.1 bug.
4408         * lib/math.in.h (log10): New declaration.
4409         * lib/log10.c: New file.
4410         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
4411         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
4412         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
4413         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
4414         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
4415         * modules/log10 (Files): Add lib/log10.c.
4416         (Depends-on): Add math.
4417         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
4418         * tests/test-math-c++.cc: Check the declaration of log10.
4419         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
4420
4421 2012-03-31  Bruno Haible  <bruno@clisp.org>
4422
4423         log10l tests: More tests.
4424         * modules/log10l-tests (Files): Add tests/test-log10l.h,
4425         tests/minus-zero.h, tests/randoml.c.
4426         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
4427         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
4428         (main): Invoke test_function.
4429
4430         log10f tests: More tests.
4431         * modules/log10f-tests (Files): Add tests/test-log10.h,
4432         tests/minus-zero.h, tests/randomf.c.
4433         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
4434         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
4435         (main): Invoke test_function.
4436
4437         log10 tests: More tests.
4438         * tests/test-log10.h: New file.
4439         * modules/log10-tests (Files): Add tests/test-log10.h,
4440         tests/minus-zero.h, tests/randomd.c.
4441         (Makefile.am): Add randomd.c to test_log10_SOURCES.
4442         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
4443         (main): Invoke test_function.
4444
4445 2012-03-31  Simon Josefsson  <simon@josefsson.org>
4446
4447         fflush: Fix syntax error.
4448         * lib/fflush.c: Include unused-parameter.h, needed for
4449         _GL_UNUSED_PARAMETER.
4450         * modules/fflush (Depends-on): Add snippet/unused-parameter.
4451
4452 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
4453
4454         regex: pacify GCC when compiling GRUB
4455         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
4456         a diagnostic.  Reported by Vladimir Serbinenko in
4457         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
4458
4459 2012-03-29  Eric Blake  <eblake@redhat.com>
4460
4461         stdio: don't assume gets any more
4462         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
4463         support.
4464         * modules/stdio (Makefile.am): Likewise.
4465         * lib/stdio-read.c (gets): Likewise.
4466         * tests/test-stdio-c++.cc: Likewise.
4467         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
4468         * lib/stdio.in.h (gets): Make warning occur in more places.
4469         * doc/posix-functions/gets.texi (gets): Update documentation.
4470         Reported by Christer Solskogen.
4471
4472         maint.mk: fix syntax checks without exclusions
4473         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
4474         Reported by Daniel P. Berrange.
4475
4476         strerror_r: avoid compiler warning
4477         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
4478         level.
4479
4480         fflush: avoid compiler warning
4481         * lib/fflush.c (update_fpos_cache): Mark variables that are
4482         potentially unused.
4483
4484 2012-03-25  Bruno Haible  <bruno@clisp.org>
4485
4486         Tests for module 'localeconv'.
4487         * modules/localeconv-tests: New file.
4488         * tests/test-localeconv.c: New file.
4489
4490         New module 'localeconv'.
4491         * lib/locale.in.h (localeconv): New declaration.
4492         * lib/localeconv.c: New file.
4493         * m4/localeconv.m4: New file.
4494         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
4495         REPLACE_LOCALECONV.
4496         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
4497         REPLACE_LOCALECONV.
4498         * modules/localeconv: New file.
4499         * modules/nl_langinfo (Depends-on): Add localeconv.
4500         * modules/human (Depends-on): Likewise.
4501         * doc/posix-functions/localeconv.texi: Mention the new module.
4502
4503 2012-03-25  Bruno Haible  <bruno@clisp.org>
4504
4505         locale: Provide a complete 'struct lconv'.
4506         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
4507         'struct lconv' does not contain int_p_cs_precedes.
4508         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
4509         * doc/posix-headers/locale.texi: Update.
4510
4511         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
4512         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
4513         * doc/posix-headers/locale.texi: Update.
4514
4515         locale: Provide a working 'struct lconv'.
4516         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
4517         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
4518         'struct lconv' does not even contain decimal_point.
4519         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
4520         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
4521         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
4522         * doc/posix-headers/locale.texi: Mention the problems with
4523         'struct lconv'.
4524         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
4525
4526 2012-03-24  Bruno Haible  <bruno@clisp.org>
4527
4528         Enable common subexpression optimization in GCC.
4529         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
4530         macros.
4531         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
4532         GCC attribute 'const'.
4533         (uc_locale_language): Declare with GCC attribute 'pure'.
4534         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
4535         with GCC attribute 'const'.
4536         * lib/unictype.in.h (uc_is_general_category_withtable,
4537         uc_combining_class, uc_combining_class_name,
4538         uc_combining_class_long_name, uc_bidi_class_name,
4539         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
4540         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
4541         uc_decimal_value, uc_digit_value, uc_numeric_value,
4542         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
4543         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
4544         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
4545         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
4546         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
4547         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
4548         Declare with GCC attribute 'const'.
4549         (uc_general_category_name, uc_general_category_long_name,
4550         uc_general_category_byname, uc_general_category,
4551         uc_is_general_category, uc_combining_class_byname,
4552         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
4553         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
4554         Declare with GCC attribute 'pure'.
4555         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
4556         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
4557         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
4558         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
4559         with GCC attribute 'pure'.
4560         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
4561         'const'.
4562         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
4563         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
4564         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
4565         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
4566         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
4567         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
4568         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
4569         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
4570         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
4571         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
4572         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
4573         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
4574         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
4575         GCC attribute 'pure'.
4576         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
4577         'const'.
4578         * lib/uniwidth.in.h (uc_width): Simplify declaration.
4579         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
4580         u32_strwidth): Declare with GCC attribute 'pure'.
4581
4582         Enable common subexpression optimization in GCC.
4583         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
4584         (alphasort): Declare with GCC attribute 'pure'.
4585         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
4586         (atoll): Declare with GCC attribute 'pure'.
4587         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
4588         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
4589         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
4590         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
4591         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
4592         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
4593         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
4594
4595 2012-03-24  Bruno Haible  <bruno@clisp.org>
4596
4597         gnulib-tool: Avoid unintended error output from 'cmp'.
4598         * gnulib-tool (func_add_file, func_update_file, func_import): Use
4599         "cmp -s", not "cmp > /dev/null".
4600
4601 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
4602
4603         gnulib-tool: fix imprecise comments w.r.t. an automake bug
4604
4605         It's not just Automake versions < 1.9b that creates an empty
4606         pkgdatadir at installation time if pkgdata_DATA is specified
4607         to empty; modern automake versions do this as well, at least
4608         until automake 1.11.4 (not yet released at the moment of writing,
4609         but soon to appear).  That behaviour was generally considered a
4610         feature rather than a bug, at least until this discussion:
4611         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
4612
4613         See also automake bugs #10997 and #11030.
4614
4615         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
4616         reference to relevant automake bug numbers.
4617         (func_emit_tests_Makefile_am): Likewise.
4618
4619 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
4620
4621         announce-gen: use Digest::SHA when possible
4622         * build-aux/announce-gen: Use Digest::SHA when possible, falling
4623         back to Digest::SHA1 if necessary.
4624
4625 2012-03-20  Jim Meyering  <meyering@redhat.com>
4626
4627         tests: avoid gcc warnings about argv vs. const initializers
4628         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
4629         warnings about discarding 'const' qualifier from pointer target type.
4630         * tests/test-posix_spawn2.c (main): Likewise.
4631
4632 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
4633
4634         README-release: simplify slightly
4635         * top/README-release: Run "git checkout master" only once.
4636
4637 2012-03-15  Mark Wielaard  <mark@klomp.org>
4638
4639         git-merge-changelog: add specific example on how to use with hg.
4640         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
4641
4642 2012-03-18  Mark Wielaard  <mark@klomp.org>
4643
4644         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
4645
4646 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
4647
4648         git-version-gen: don't let "prefix" envvar cause trouble
4649         * build-aux/git-version-gen (prefix): Initialize properly,
4650         so as not to use a value specified via the environment.
4651         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
4652
4653 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
4654
4655         regex: diagnose too-large repeat counts in EREs
4656         Previously, the code did not diagnose the too-large repeat count
4657         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
4658         as if it were 'b\{1000000000}', which is unexpected.
4659         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
4660         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
4661         is a reasonable one for this problem.  Another option would be to
4662         create a new REG_OVERFLOW error for repeat counts that are too large.
4663         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
4664         count is too large, so that the caller can distinguish the two cases.
4665         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
4666         "Too large" return code, and that repeat counts are one example of this.
4667
4668 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
4669
4670         doc: some glibc x32 integer width issues
4671         * doc/posix-headers/sys_types.texi (sys/types.h):
4672         * doc/posix-headers/time.texi (time.h):
4673         Mention that glibc x32 does not conform to POSIX in a couple of
4674         areas related to integer widths.
4675
4676 2012-03-15  Bruno Haible  <bruno@clisp.org>
4677
4678         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
4679         * lib/fma.c (VOLATILE): New macro.
4680         (FUNC): Use it to work around a GCC compiler bug.
4681
4682 2012-03-13  Bruno Haible  <bruno@clisp.org>
4683
4684         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4685         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
4686         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
4687         REPLACE_HYPOTL to 1.
4688         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
4689
4690 2012-03-13  Bruno Haible  <bruno@clisp.org>
4691
4692         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4693         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
4694         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
4695         REPLACE_REMAINDERL to 1.
4696         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
4697         bug.
4698
4699 2012-03-13  Bruno Haible  <bruno@clisp.org>
4700
4701         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4702         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
4703         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
4704         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
4705         too big rounding errors.
4706         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
4707         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
4708         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
4709         (Depends-on): Update conditions.
4710         * tests/test-sqrtl.c (my_ldexpl): New function.
4711         (main): Add test of a particular value.
4712         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
4713
4714 2012-03-13  Pádraig Brady  <P@draigBrady.com>
4715
4716         doc: Update timer_* platform portability notes.
4717         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
4718         that always return ENOSYS.
4719         * doc/posix-functions/timer_delete.texi: Likewise.
4720         * doc/posix-functions/timer_gettime.texi: Likewise.
4721         * doc/posix-functions/timer_settime.texi: Likewise.
4722
4723 2012-03-13  Bruno Haible  <bruno@clisp.org>
4724
4725         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4726         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
4727         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
4728         REPLACE_CBRTL to 1.
4729         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
4730
4731 2012-03-13  Bruno Haible  <bruno@clisp.org>
4732
4733         remainderl: Avoid compilation error on AIX >= 5.2.
4734         * lib/math.in.h (remainderl): Undefine macro from the system header.
4735
4736 2012-03-13  Bruno Haible  <bruno@clisp.org>
4737
4738         Avoid compilation errors with MSVC option -fp:strict.
4739         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
4740         * lib/cbrtf.c: Likewise.
4741         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4742
4743 2012-03-12  Bruno Haible  <bruno@clisp.org>
4744
4745         uninorm: Don't crash in out-of-memory conditions.
4746         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
4747         gracefully.
4748         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
4749         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
4750
4751 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
4752
4753         quote: fix syntax-check
4754         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
4755         also exports quote_quoting_options.
4756
4757 2012-03-12  Simon Josefsson  <simon@josefsson.org>
4758
4759         Collapse list of copyright years to ranges.  See
4760         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
4761         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
4762         build-aux/csharpexec.sh.in, build-aux/gnupload,
4763         build-aux/install-reloc, build-aux/javacomp.sh.in,
4764         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
4765         build-aux/move-if-change, build-aux/reloc-ldflags,
4766         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
4767
4768 2012-03-11  Bruno Haible  <bruno@clisp.org>
4769
4770         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
4771         * m4/log2f-ieee.m4: New file.
4772         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
4773         whether log2f works with a minus zero argument. Replace it if not.
4774         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
4775         (Depends-on): Add log2-ieee.
4776         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
4777         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
4778
4779         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
4780         * m4/log2-ieee.m4: New file.
4781         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
4782         whether log2 works with a minus zero argument. Replace it if not.
4783         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
4784         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
4785         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
4786
4787         Tests for module 'log2l-ieee'.
4788         * modules/log2l-ieee-tests: New file.
4789         * tests/test-log2l-ieee.c: New file.
4790
4791         New module 'log2l-ieee'.
4792         * modules/log2l-ieee: New file.
4793
4794         Tests for module 'log2-ieee'.
4795         * modules/log2-ieee-tests: New file.
4796         * tests/test-log2-ieee.c: New file.
4797
4798         New module 'log2-ieee'.
4799         * modules/log2-ieee: New file.
4800
4801         Tests for module 'log2f-ieee'.
4802         * modules/log2f-ieee-tests: New file.
4803         * tests/test-log2f-ieee.c: New file.
4804         * tests/test-log2-ieee.h: New file.
4805
4806         New module 'log2f-ieee'.
4807         * modules/log2f-ieee: New file.
4808
4809 2012-03-11  Bruno Haible  <bruno@clisp.org>
4810
4811         Tests for module 'log2l'.
4812         * modules/log2l-tests: New file.
4813         * tests/test-log2l.c: New file.
4814
4815         New module 'log2l'.
4816         * lib/math.in.h (log2l): New declaration.
4817         * lib/log2l.c: New file.
4818         * m4/log2l.m4: New file.
4819         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
4820         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
4821         REPLACE_LOG2L.
4822         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
4823         REPLACE_LOG2L.
4824         * modules/log2l: New file.
4825         * tests/test-math-c++.cc: Check the declaration of log2l.
4826         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
4827         and OSF/1 problems.
4828
4829 2012-03-11  Bruno Haible  <bruno@clisp.org>
4830
4831         Tests for module 'log2f'.
4832         * modules/log2f-tests: New file.
4833         * tests/test-log2f.c: New file.
4834
4835         New module 'log2f'.
4836         * lib/math.in.h (log2f): New declaration.
4837         * lib/log2f.c: New file.
4838         * m4/log2f.m4: New file.
4839         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
4840         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
4841         REPLACE_LOG2F.
4842         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
4843         REPLACE_LOG2F.
4844         * modules/log2f: New file.
4845         * tests/test-math-c++.cc: Check the declaration of log2f.
4846         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
4847         and OSF/1 and Cygwin problems.
4848
4849 2012-03-11  Bruno Haible  <bruno@clisp.org>
4850
4851         Tests for module 'log2'.
4852         * modules/log2-tests: New file.
4853         * tests/test-log2.c: New file.
4854         * tests/test-log2.h: New file.
4855
4856         New module 'log2'.
4857         * lib/math.in.h (log2): New declaration.
4858         * lib/log2.c: New file.
4859         * m4/log2.m4: New file.
4860         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
4861         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
4862         REPLACE_LOG2.
4863         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
4864         REPLACE_LOG2.
4865         * modules/log2: New file.
4866         * tests/test-math-c++.cc: Check the declaration of log2.
4867         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
4868         and OSF/1 and Cygwin problems.
4869
4870 2012-03-11  Bruno Haible  <bruno@clisp.org>
4871
4872         exp2* tests: More tests.
4873         * tests/test-exp2.h (test_function): Test all integral arguments that
4874         don't need to overflow or denormalized numbers.
4875         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
4876         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
4877         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
4878
4879 2012-03-10  Bruno Haible  <bruno@clisp.org>
4880
4881         log1pl-ieee: Work around test failure on AIX 7.1.
4882         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
4883
4884         log1pl-ieee: Work around test failure on IRIX 6.5.
4885         * m4/log1pl-ieee.m4: New file.
4886         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
4887         test whether log1pl works with a minus zero argument. Replace it if
4888         not.
4889         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
4890         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
4891         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
4892         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
4893         (Depends-on): Update conditions.
4894         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
4895         m4/signbit.m4.
4896         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
4897         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
4898
4899         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
4900         * m4/log1pf-ieee.m4: New file.
4901         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
4902         test whether log1pf works with a minus zero argument. Replace it if
4903         not.
4904         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
4905         m4/signbit.m4.
4906         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
4907         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
4908
4909         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
4910         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
4911         (configure.ac): Require gl_FUNC_LOG1PF.
4912
4913         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
4914         * m4/log1p-ieee.m4: New file.
4915         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
4916         whether log1p works with a minus zero argument. Replace it if not.
4917         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
4918         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
4919         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
4920         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
4921         (Depends-on): Update conditions.
4922         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
4923         m4/signbit.m4.
4924         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
4925         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
4926
4927         Tests for module 'log1pl-ieee'.
4928         * modules/log1pl-ieee-tests: New file.
4929         * tests/test-log1pl-ieee.c: New file.
4930
4931         New module 'log1pl-ieee'.
4932         * modules/log1pl-ieee: New file.
4933
4934         Tests for module 'log1p-ieee'.
4935         * modules/log1p-ieee-tests: New file.
4936         * tests/test-log1p-ieee.c: New file.
4937
4938         New module 'log1p-ieee'.
4939         * modules/log1p-ieee: New file.
4940
4941         Tests for module 'log1pf-ieee'.
4942         * modules/log1pf-ieee-tests: New file.
4943         * tests/test-log1pf-ieee.c: New file.
4944         * tests/test-log1p-ieee.h: New file.
4945
4946         New module 'log1pf-ieee'.
4947         * modules/log1pf-ieee: New file.
4948
4949 2012-03-10  Bruno Haible  <bruno@clisp.org>
4950
4951         Tests for module 'log1pl'.
4952         * modules/log1pl-tests: New file.
4953         * tests/test-log1pl.c: New file.
4954
4955         New module 'log1pl'.
4956         * lib/math.in.h (log1pl): New declaration.
4957         * lib/log1pl.c: New file.
4958         * m4/log1pl.m4: New file.
4959         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
4960         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
4961         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
4962         * modules/log1pl: New file.
4963         * tests/test-math-c++.cc: Check the declaration of log1pl.
4964         * doc/posix-functions/log1pl.texi: Mention the new module.
4965
4966 2012-03-10  Bruno Haible  <bruno@clisp.org>
4967
4968         Tests for module 'log1pf'.
4969         * modules/log1pf-tests: New file.
4970         * tests/test-log1pf.c: New file.
4971
4972         New module 'log1pf'.
4973         * lib/math.in.h (log1pf): New declaration.
4974         * lib/log1pf.c: New file.
4975         * m4/log1pf.m4: New file.
4976         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
4977         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
4978         REPLACE_LOG1PF.
4979         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
4980         REPLACE_LOG1PF.
4981         * modules/log1pf: New file.
4982         * tests/test-math-c++.cc: Check the declaration of log1pf.
4983         * doc/posix-functions/log1pf.texi: Mention the new module.
4984
4985 2012-03-10  Bruno Haible  <bruno@clisp.org>
4986
4987         log1p tests: More tests.
4988         * tests/test-log1p.h: New file.
4989         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
4990         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
4991         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
4992         (main): Invoke test_function.
4993
4994         log1p: Provide replacement for Minix and MSVC.
4995         * lib/math.in.h (log1p): New declaration.
4996         * lib/log1p.c: New file.
4997         * m4/log1p.m4: New file.
4998         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
4999         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
5000         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
5001         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
5002         (Depends-on): Add math, isnand, log, round.
5003         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
5004         HAVE_LOG1P is 0.
5005         * tests/test-math-c++.cc: Check the declaration of log1p.
5006         * doc/posix-functions/log1p.texi: Mention the replacement.
5007
5008 2012-03-10  Bruno Haible  <bruno@clisp.org>
5009
5010         math tests: Small simplification.
5011         * tests/test-exp.h (test_function): Use the same err_bound for
5012         'double' on platforms with sizeof (long double) == sizeof (double)
5013         than on platforms with sizeof (long double) > sizeof (double).
5014         * tests/test-exp2.h (test_function): Likewise.
5015         * tests/test-expm1.h (test_function): Likewise.
5016         * tests/test-log.h (test_function): Likewise.
5017
5018 2012-03-10  Bruno Haible  <bruno@clisp.org>
5019
5020         Fix some comments.
5021         * lib/expl.c: Fix an ambiguous comment.
5022         * lib/expm1.c: Likewise.
5023         * lib/expm1l.c: Likewise.
5024         * lib/exp2.c: Likewise.
5025         * lib/exp2l.c: Likewise.
5026
5027 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
5028
5029         regex: allow inclusion of <regex.h> before <limits.h>
5030         Without this patch, portable programs had to include <limits.h> before
5031         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
5032         I ran into this problem with a test version of GNU grep on Solaris 8.
5033         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
5034         This is done conditionally so that this change can be merged
5035         back to glibc.
5036         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
5037         using the included regex.
5038
5039         fts: depend on fdopendir
5040         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
5041         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
5042         problem was introduced when fdopendir was split out.
5043
5044 2012-03-10  Bruno Haible  <bruno@clisp.org>
5045
5046         Remove unused variables.
5047         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
5048         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5049
5050 2012-03-10  Bruno Haible  <bruno@clisp.org>
5051
5052         isnanf-nolibm: Fix last commit.
5053         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
5054
5055         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
5056         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
5057
5058 2012-03-10  Bruno Haible  <bruno@clisp.org>
5059
5060         logf-ieee: Work around test failure on NetBSD 5.1.
5061         * m4/logf-ieee.m4: New file.
5062         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
5063         whether logf works with a negative argument. Replace it if not.
5064         * lib/logf.c (logf): For negative arguments, return NaN.
5065         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
5066         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
5067         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
5068
5069         logf-ieee: Work around test failure on Solaris 9.
5070         * modules/logf-ieee (Depends-on): Add log-ieee.
5071         (configure.ac): Require gl_FUNC_LOGF.
5072
5073         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5074         * m4/log-ieee.m4: New file.
5075         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
5076         log works with a negative argument. Replace it if not.
5077         * lib/log.c (log): For negative arguments, return NaN.
5078         * modules/log-ieee (Files): Add m4/log-ieee.m4.
5079         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
5080         * doc/posix-functions/log.texi: Mention the log-ieee module.
5081
5082         Tests for module 'logl-ieee'.
5083         * modules/logl-ieee-tests: New file.
5084         * tests/test-logl-ieee.c: New file.
5085
5086         New module 'logl-ieee'.
5087         * modules/logl-ieee: New file.
5088
5089         Tests for module 'log-ieee'.
5090         * modules/log-ieee-tests: New file.
5091         * tests/test-log-ieee.c: New file.
5092
5093         New module 'log-ieee'.
5094         * modules/log-ieee: New file.
5095
5096         Tests for module 'logf-ieee'.
5097         * modules/logf-ieee-tests: New file.
5098         * tests/test-logf-ieee.c: New file.
5099         * tests/test-log-ieee.h: New file.
5100
5101         New module 'logf-ieee'.
5102         * modules/logf-ieee: New file.
5103
5104 2012-03-10  Bruno Haible  <bruno@clisp.org>
5105
5106         log: Fix bug introduced on 2012-03-09.
5107         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
5108
5109 2012-03-10  Pádraig Brady  <P@draigBrady.com>
5110
5111         timer-time: link explicitly with pthreads on glibc
5112         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
5113         to support static linking, when newer glibc is
5114         detected, as that contains pthread emulation of
5115         POSIX timer functions where required.
5116         * modules/timer-time: Depend on threadlib to
5117         pull in the appropriate library to link.
5118
5119 2012-03-10  Bruno Haible  <bruno@clisp.org>
5120
5121         log* tests: More tests.
5122         * tests/test-log.h: New file.
5123         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
5124         (main): Invoke test_function.
5125         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
5126         (main): Invoke test_function.
5127         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
5128         (main): Invoke test_function.
5129         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5130         tests/randomd.c.
5131         (Makefile.am): Add randomd.c to test_log_SOURCES.
5132         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5133         tests/randomf.c.
5134         (Makefile.am): Add randomf.c to test_logf_SOURCES.
5135         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5136         tests/randoml.c.
5137         (Depends-on): Add 'float'.
5138         (Makefile.am): Add randoml.c to test_logl_SOURCES.
5139
5140 2012-03-09  Bruno Haible  <bruno@clisp.org>
5141
5142         logl: Work around OSF/1 5.1 bug.
5143         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
5144         * lib/logl.c (logl): If logl exists, use it and provide just the
5145         workaround.
5146         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
5147         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
5148         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
5149         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
5150         * modules/logl (configure.ac): Consider REPLACE_LOGL.
5151         (Depends-on): Update conditions.
5152         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
5153
5154 2012-03-09  Bruno Haible  <bruno@clisp.org>
5155
5156         logf: Work around OSF/1 5.1 bug.
5157         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
5158         * lib/logf.c (logf): If logf exists, use it and provide just the
5159         workaround.
5160         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
5161         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
5162         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
5163         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
5164         * modules/logf (configure.ac): Consider REPLACE_LOGF.
5165         (Depends-on): Update conditions.
5166         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
5167
5168 2012-03-09  Bruno Haible  <bruno@clisp.org>
5169
5170         log: Work around OSF/1 5.1 bug.
5171         * lib/math.in.h (log): New declaration.
5172         * lib/log.c: New file.
5173         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
5174         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
5175         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
5176         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
5177         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
5178         * modules/log (Files): Add lib/log.c.
5179         (Depends-on): Add math.
5180         (configure.ac): If REPLACE_LOG is 1, compile an override.
5181         * tests/test-math-c++.cc: Check the declaration of log.
5182         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
5183
5184 2012-03-09  Jim Meyering  <meyering@redhat.com>
5185
5186         readtokens.c: adjust wording in a comment
5187         * lib/readtokens.c: Insert omitted "that" in a comment.
5188
5189 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5190
5191         modechange: add notations +40, 00440, etc.
5192         * lib/modechange.c (mode_compile): Support new notations
5193         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
5194
5195 2012-03-08  Bruno Haible  <bruno@clisp.org>
5196
5197         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
5198         * m4/exp2l-ieee.m4: New file.
5199         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
5200         test whether exp2l works with a NaN argument and with a negative
5201         infinity argument. Replace it if not.
5202         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
5203         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
5204         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
5205         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
5206         (Depends-on): Update conditions.
5207         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
5208         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
5209         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
5210
5211         Tests for module 'exp2l-ieee'.
5212         * modules/exp2l-ieee-tests: New file.
5213         * tests/test-exp2l-ieee.c: New file.
5214
5215         New module 'exp2l-ieee'.
5216         * modules/exp2l-ieee: New file.
5217
5218         Tests for module 'exp2-ieee'.
5219         * modules/exp2-ieee-tests: New file.
5220         * tests/test-exp2-ieee.c: New file.
5221
5222         New module 'exp2-ieee'.
5223         * modules/exp2-ieee: New file.
5224
5225         Tests for module 'exp2f-ieee'.
5226         * modules/exp2f-ieee-tests: New file.
5227         * tests/test-exp2f-ieee.c: New file.
5228         * tests/test-exp2-ieee.h: New file.
5229
5230         New module 'exp2f-ieee'.
5231         * modules/exp2f-ieee: New file.
5232
5233 2012-03-08  Bruno Haible  <bruno@clisp.org>
5234
5235         Tests for module 'exp2l'.
5236         * modules/exp2l-tests: New file.
5237         * tests/test-exp2l.c: New file.
5238
5239         New module 'exp2l'.
5240         * lib/math.in.h (exp2l): New declaration.
5241         * lib/exp2l.c: New file.
5242         * lib/expl-table.c: New file, extracted from lib/expl.c.
5243         * lib/expl.c (gl_expl_table): New declaration.
5244         (expl): Remove expl_table. Update reference.
5245         * m4/exp2l.m4: New file.
5246         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
5247         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
5248         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
5249         * modules/exp2l: New file.
5250         * modules/expl (Files): Add lib/expl-table.c.
5251         (configure.ac): Compile also expl-table.c.
5252         * tests/test-math-c++.cc: Check the declaration of exp2l.
5253         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
5254         problem.
5255
5256 2012-03-08  Bruno Haible  <bruno@clisp.org>
5257
5258         Tests for module 'exp2f'.
5259         * modules/exp2f-tests: New file.
5260         * tests/test-exp2f.c: New file.
5261
5262         New module 'exp2f'.
5263         * lib/math.in.h (exp2f): New declaration.
5264         * lib/exp2f.c: New file.
5265         * m4/exp2f.m4: New file.
5266         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
5267         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
5268         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
5269         * modules/exp2f: New file.
5270         * tests/test-math-c++.cc: Check the declaration of exp2f.
5271         * doc/posix-functions/exp2f.texi: Mention the new module and the
5272         IRIX problem.
5273
5274 2012-03-08  Bruno Haible  <bruno@clisp.org>
5275
5276         Tests for module 'exp2'.
5277         * modules/exp2-tests: New file.
5278         * tests/test-exp2.c: New file.
5279         * tests/test-exp2.h: New file.
5280
5281         New module 'exp2'.
5282         * lib/math.in.h (exp2): New declaration.
5283         * lib/exp2.c: New file.
5284         * m4/exp2.m4: New file.
5285         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
5286         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
5287         REPLACE_EXP2.
5288         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
5289         REPLACE_EXP2.
5290         * modules/exp2: New file.
5291         * tests/test-math-c++.cc: Check the declaration of exp2.
5292         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
5293         and OpenBSD problems.
5294
5295 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5296
5297         savedir: fix comment typo
5298         * lib/savedir.c (savedirstream): Fix typo in comment.
5299
5300 2012-03-08  Bruno Haible  <bruno@clisp.org>
5301
5302         test-readtokens.c: use const; remove unwarranted cast
5303         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
5304
5305 2012-03-08  Bruno Haible  <bruno@clisp.org>
5306
5307         fmal: Avoid compilation error on AIX.
5308         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
5309         AIX 5.2..7.1.
5310
5311 2012-03-08  Bruno Haible  <bruno@clisp.org>
5312
5313         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
5314         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
5315         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
5316         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
5317         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
5318         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
5319         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
5320
5321 2012-03-08  Bruno Haible  <bruno@clisp.org>
5322
5323         remainderf: Override buggy system function on IRIX 6.5.
5324         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
5325         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
5326         when it exists.
5327         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
5328
5329 2012-03-08  Jim Meyering  <meyering@redhat.com>
5330
5331         test-readtokens.c: avoid const-related compilation warnings
5332         * tests/test-readtokens.c: Avoid const-related compilation warnings.
5333
5334 2012-03-07  Jim Meyering  <meyering@redhat.com>
5335             Bruno Haible  <bruno@clisp.org>
5336
5337         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
5338         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
5339         tests/randomd.c.
5340         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
5341         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
5342         tests/randoml.c.
5343         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
5344
5345 2012-03-07  Bruno Haible  <bruno@clisp.org>
5346
5347         expm1l: Avoid compilation error on AIX.
5348         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
5349         AIX 5.2..7.1.
5350
5351 2012-03-07  Bruno Haible  <bruno@clisp.org>
5352
5353         expm1l: Don't override undeclared system function on IRIX 6.5.
5354         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
5355         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
5356         it exists. Set HAVE_DECL_EXPM1L.
5357         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
5358         HAVE_EXPM1L.
5359         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
5360         HAVE_EXPM1L.
5361         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
5362
5363 2012-03-07  Bruno Haible  <bruno@clisp.org>
5364
5365         remainderl: Don't override undeclared system function on IRIX 6.5.
5366         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
5367         HAVE_REMAINDERL.
5368         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
5369         declared when it exists. Set HAVE_DECL_REMAINDERL.
5370         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
5371         not HAVE_REMAINDERL.
5372         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
5373         HAVE_REMAINDERL.
5374         * doc/posix-functions/remainderl.texi: Mention missing declaration
5375         problem.
5376
5377 2012-03-07  Bruno Haible  <bruno@clisp.org>
5378
5379         rintf: Don't override undeclared system function on IRIX 6.5.
5380         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
5381         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
5382         exists. Set HAVE_DECL_RINTF.
5383         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
5384         HAVE_RINTF.
5385         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
5386         HAVE_RINTF.
5387         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
5388
5389 2012-03-07  Bruno Haible  <bruno@clisp.org>
5390
5391         roundl: Avoid compilation error on AIX.
5392         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
5393         AIX 5.2..7.1.
5394
5395 2012-03-07  Bruno Haible  <bruno@clisp.org>
5396
5397         roundl: Don't override undeclared system function on IRIX 6.5.
5398         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
5399         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
5400         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5401         * modules/roundl (configure.ac): For replacement code, test
5402         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5403         (Depends-on): Update conditions.
5404         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
5405
5406 2012-03-07  Bruno Haible  <bruno@clisp.org>
5407
5408         roundf: Don't override undeclared system function on IRIX 6.5.
5409         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
5410         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
5411         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5412         * modules/roundf (configure.ac): For replacement code, test
5413         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5414         (Depends-on): Update conditions.
5415         * modules/roundf-ieee (Depends-on): Update conditions.
5416         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
5417
5418 2012-03-07  Bruno Haible  <bruno@clisp.org>
5419
5420         round: Don't override undeclared system function on IRIX 6.5.
5421         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
5422         argument.
5423         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
5424         also when it is not declared. Set HAVE_ROUND. For replacement code,
5425         test HAVE_ROUND, not HAVE_DECL_ROUND.
5426         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
5427         not HAVE_DECL_ROUND.
5428         (Depends-on): Update conditions.
5429         * modules/round-ieee (Depends-on): Update conditions.
5430         * doc/posix-functions/round.texi: Mention the IRIX problem.
5431
5432 2012-03-07  Bruno Haible  <bruno@clisp.org>
5433
5434         copysignf: Don't override undeclared system function on IRIX 6.5.
5435         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
5436         HAVE_COPYSIGNF.
5437         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
5438         declared when it exists. Set HAVE_DECL_COPYSIGNF.
5439         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
5440         not HAVE_COPYSIGNF.
5441         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
5442         HAVE_COPYSIGNF.
5443         * doc/posix-functions/copysignf.texi: Mention missing declaration
5444         problem.
5445
5446 2012-03-07  Jim Meyering  <meyering@redhat.com>
5447
5448         readtokens: add tests
5449         * modules/readtokens-tests: New file.
5450         * tests/test-readtokens.c: New file.
5451
5452 2012-03-07  Jim Meyering  <meyering@redhat.com>
5453
5454         quotearg: the module must now include quote.h
5455         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
5456         So must the module.
5457         * modules/quotearg (Files): Add quote.h.
5458
5459 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
5460
5461         readtokens: avoid core dumps with unusual calling patterns
5462         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
5463         * lib/readtokens.c: Include limits.h.
5464         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
5465         (readtoken): Don't cache the delimiters; the cache code was buggy
5466         if !delim && saved_delim, or if the new n_delim differs from the old.
5467         Also, it wasn't thread-safe.
5468
5469 2012-03-07  Bruno Haible  <bruno@clisp.org>
5470
5471         quote: Adhere to common module description layout.
5472         * modules/quote (Makefile.am): Add back empty section.
5473
5474 2012-03-06  Akim Demaille  <demaille@gostai.com>
5475
5476         quote: fuse into quotearg
5477         This patch is made for the benefit of Bison.
5478         quote does not leave the choice of the quoting style to the user.
5479         quoting_style provides poor customizability, yet quoting_options,
5480         which is very rich, is hidden inside quotearg.c.  So in order to
5481         allow quote customization, move its implementation to quotearg.c.
5482         * lib/quote.c: Remove.
5483         * modules/quote: Adjust.
5484         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
5485         warning: provide all the members of literal structs.
5486         (quote_quoting_options): New.
5487         (quote, quote_n): Import implementation from quote.c.
5488         * lib/quote.h: Import the comments from quote.c.
5489         (quote_quoting_options): New.
5490
5491 2012-03-06  Bruno Haible  <bruno@clisp.org>
5492
5493         Tests for module 'expm1l-ieee'.
5494         * modules/expm1l-ieee-tests: New file.
5495         * tests/test-expm1l-ieee.c: New file.
5496
5497         New module 'expm1l-ieee'.
5498         * modules/expm1l-ieee: New file.
5499
5500         Tests for module 'expm1f-ieee'.
5501         * modules/expm1f-ieee-tests: New file.
5502         * tests/test-expm1f-ieee.c: New file.
5503
5504         New module 'expm1f-ieee'.
5505         * modules/expm1f-ieee: New file.
5506
5507         Tests for module 'expm1-ieee'.
5508         * modules/expm1-ieee-tests: New file.
5509         * tests/test-expm1-ieee.c: New file.
5510         * tests/test-expm1-ieee.h: New file.
5511
5512         New module 'expm1-ieee'.
5513         * modules/expm1-ieee: New file.
5514         * m4/expm1-ieee.m4: New file.
5515         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
5516         whether expm1 works with a minus zero argument. Replace it if not.
5517         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
5518         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
5519         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
5520         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
5521         (Depends-on): Update conditions.
5522         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
5523         AIX problem.
5524
5525 2012-03-06  Bruno Haible  <bruno@clisp.org>
5526
5527         Work around expm1f bug on IRIX 6.5.
5528         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
5529         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
5530         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
5531         not work.
5532         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
5533         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
5534         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
5535         (Depends-on): Update conditions.
5536         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
5537
5538 2012-03-06  Bruno Haible  <bruno@clisp.org>
5539
5540         Tests for module 'expm1l'.
5541         * modules/expm1l-tests: New file.
5542         * tests/test-expm1l.c: New file.
5543
5544         New module 'expm1l'.
5545         * lib/math.in.h (expm1l): New declaration.
5546         * lib/expm1l.c: New file.
5547         * m4/expm1l.m4: New file.
5548         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
5549         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
5550         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
5551         * modules/expm1l: New file.
5552         * tests/test-math-c++.cc: Check the declaration of expm1l.
5553         * doc/posix-functions/expm1l.texi: Mention the new module.
5554
5555 2012-03-06  Bruno Haible  <bruno@clisp.org>
5556
5557         Tests for module 'expm1f'.
5558         * modules/expm1f-tests: New file.
5559         * tests/test-expm1f.c: New file.
5560
5561         New module 'expm1f'.
5562         * lib/math.in.h (expm1f): New declaration.
5563         * lib/expm1f.c: New file.
5564         * m4/expm1f.m4: New file.
5565         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
5566         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
5567         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
5568         * modules/expm1f: New file.
5569         * tests/test-math-c++.cc: Check the declaration of expm1f.
5570         * doc/posix-functions/expm1f.texi: Mention the new module.
5571
5572 2012-03-06  Bruno Haible  <bruno@clisp.org>
5573
5574         Tests for module 'expm1'.
5575         * modules/expm1-tests: New file.
5576         * tests/test-expm1.c: New file.
5577         * tests/test-expm1.h: New file.
5578
5579         New module 'expm1'.
5580         * lib/math.in.h (expm1): New declaration.
5581         * lib/expm1.c: New file.
5582         * m4/expm1.m4: New file.
5583         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
5584         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
5585         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
5586         * modules/expm1: New file.
5587         * tests/test-math-c++.cc: Check the declaration of expm1.
5588         * doc/posix-functions/expm1.texi: Mention the new module.
5589
5590 2012-03-06  Bruno Haible  <bruno@clisp.org>
5591
5592         math: Ensure declarations of math functions.
5593         * modules/acosf (Depends-on): Add 'extensions'.
5594         * modules/asinf (Depends-on): Likewise.
5595         * modules/atan2f (Depends-on): Likewise.
5596         * modules/atanf (Depends-on): Likewise.
5597         * modules/cbrt (Depends-on): Likewise.
5598         * modules/cbrtf (Depends-on): Likewise.
5599         * modules/cbrtl (Depends-on): Likewise.
5600         * modules/copysignf (Depends-on): Likewise.
5601         * modules/copysignl (Depends-on): Likewise.
5602         * modules/cosf (Depends-on): Likewise.
5603         * modules/coshf (Depends-on): Likewise.
5604         * modules/expf (Depends-on): Likewise.
5605         * modules/fabsf (Depends-on): Likewise.
5606         * modules/fabsl (Depends-on): Likewise.
5607         * modules/fmaf (Depends-on): Likewise.
5608         * modules/fmal (Depends-on): Likewise.
5609         * modules/fmodf (Depends-on): Likewise.
5610         * modules/fmodl (Depends-on): Likewise.
5611         * modules/frexpf (Depends-on): Likewise.
5612         * modules/frexpl (Depends-on): Likewise.
5613         * modules/hypot (Depends-on): Likewise.
5614         * modules/hypotf (Depends-on): Likewise.
5615         * modules/hypotl (Depends-on): Likewise.
5616         * modules/ldexpf (Depends-on): Likewise.
5617         * modules/ldexpl (Depends-on): Likewise.
5618         * modules/log10f (Depends-on): Likewise.
5619         * modules/log10l (Depends-on): Likewise.
5620         * modules/log1p (Depends-on): Likewise.
5621         * modules/logb (Depends-on): Likewise.
5622         * modules/logf (Depends-on): Likewise.
5623         * modules/modff (Depends-on): Likewise.
5624         * modules/modfl (Depends-on): Likewise.
5625         * modules/powf (Depends-on): Likewise.
5626         * modules/remainderf (Depends-on): Likewise.
5627         * modules/remainderl (Depends-on): Likewise.
5628         * modules/rintf (Depends-on): Likewise.
5629         * modules/rintl (Depends-on): Likewise.
5630         * modules/sinf (Depends-on): Likewise.
5631         * modules/sinhf (Depends-on): Likewise.
5632         * modules/sqrtf (Depends-on): Likewise.
5633         * modules/tanf (Depends-on): Likewise.
5634         * modules/tanhf (Depends-on): Likewise.
5635         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
5636         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
5637         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
5638         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
5639         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
5640         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
5641         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
5642         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
5643         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
5644         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
5645         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
5646         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
5647         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
5648         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
5649         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
5650         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
5651         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
5652         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5653         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
5654         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
5655         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
5656         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
5657         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
5658         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
5659         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
5660         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
5661         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
5662         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
5663         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
5664         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
5665         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5666         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
5667         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5668         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
5669         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
5670         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
5671         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
5672         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
5673         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
5674         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
5675         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
5676
5677 2012-03-06  Bruno Haible  <bruno@clisp.org>
5678
5679         math: Update module names in warnings.
5680         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
5681         tanl): Use specific module name in warn-on-use warning.
5682
5683 2012-03-06  Bruno Haible  <bruno@clisp.org>
5684
5685         expl: Simplify computation.
5686         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
5687
5688 2012-03-05  Bruno Haible  <bruno@clisp.org>
5689
5690         exp* tests: More tests.
5691         * tests/test-exp.h: New file.
5692         * tests/test-exp.c: Include <float.h> and test-exp.h.
5693         (main): Invoke test_function.
5694         * tests/test-expf.c: Include <float.h> and test-exp.h.
5695         (main): Invoke test_function.
5696         * tests/test-expl.c: Include <float.h> and test-exp.h.
5697         (main): Invoke test_function.
5698         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
5699         (Makefile.am): Add randomd.c to test_exp_SOURCES.
5700         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
5701         (Makefile.am): Add randomf.c to test_expf_SOURCES.
5702         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
5703         (Depends-on): Add 'float'.
5704         (Makefile.am): Add randoml.c to test_expl_SOURCES.
5705
5706         expl: Fix precision of computed result.
5707         * lib/expl.c: Completely rewritten.
5708         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
5709         (Maintainer): Add me.
5710         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
5711
5712 2012-03-05  Bruno Haible  <bruno@clisp.org>
5713
5714         cbrt* tests: More tests.
5715         * tests/test-cbrt.h: New file.
5716         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
5717         (main): Invoke test_function.
5718         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
5719         (main): Invoke test_function.
5720         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
5721         (main): Invoke test_function.
5722         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
5723         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
5724         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
5725         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
5726         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
5727         (Depends-on): Add 'float'.
5728         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
5729
5730 2012-03-05  Bruno Haible  <bruno@clisp.org>
5731
5732         hypot* tests: More tests.
5733         * tests/test-hypot.h: New file, partially extracted from
5734         tests/test-hypotl.c.
5735         * tests/test-hypot.c: Include test-hypot.h.
5736         (main): Invoke test_function.
5737         * tests/test-hypotf.c: Include test-hypot.h.
5738         (main): Invoke test_function.
5739         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
5740         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
5741         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
5742         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
5743         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
5744         tests/randomf.c.
5745         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
5746         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
5747         tests/randoml.c.
5748         (Depends-on): Add 'fpucw', 'float'.
5749         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
5750
5751 2012-03-05  Bruno Haible  <bruno@clisp.org>
5752
5753         fpucw: Doc about FreeBSD.
5754         * lib/fpucw.h: Mention FreeBSD in comments.
5755
5756 2012-03-04  Bruno Haible  <bruno@clisp.org>
5757
5758         sqrt* tests: More tests.
5759         * tests/test-sqrt.h: New file.
5760         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
5761         (main): Invoke test_function.
5762         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
5763         (main): Invoke test_function.
5764         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
5765         (main): Invoke test_function.
5766         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
5767         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
5768         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
5769         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
5770         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
5771         (Depends-on): Add 'float'.
5772         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
5773
5774 2012-03-04  Bruno Haible  <bruno@clisp.org>
5775
5776         remainder* tests: More tests.
5777         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
5778         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
5779         (main): Invoke test_function.
5780         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
5781         (main): Invoke test_function.
5782         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
5783         (main): Invoke test_function.
5784         * modules/remainder-tests (Files): Add tests/test-remainder.h,
5785         tests/randomd.c.
5786         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
5787         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
5788         tests/randomf.c.
5789         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
5790         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
5791         tests/randoml.c.
5792         (Depends-on): Add 'float'.
5793         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
5794
5795 2012-03-04  Bruno Haible  <bruno@clisp.org>
5796
5797         remainder, remainderf, remainderl: Fix computation for large quotients.
5798         * lib/remainder.c: Completely rewritten.
5799         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
5800         USE_FLOAT.
5801         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
5802         USE_LONG_DOUBLE.
5803         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
5804         isnand, isinf. Remove round, fma.
5805         * modules/remainderf (Files): Add lib/remainder.c.
5806         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
5807         Remove roundf, fmaf.
5808         * modules/remainderl (Files): Add lib/remainder.c.
5809         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
5810         isinf. Remove roundl, fmal.
5811         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
5812         REMAINDER_LIBM.
5813         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
5814         REMAINDERF_LIBM.
5815         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
5816         REMAINDERL_LIBM.
5817
5818 2012-03-04  Bruno Haible  <bruno@clisp.org>
5819
5820         fmod* tests: More tests.
5821         * tests/test-fmod.h (my_ldexp): New function.
5822         (test_function): Reduce amount of random numbers to test. Add tests
5823         of very large quotients x / y.
5824         * tests/test-fmod.c (MAX_EXP): New macro.
5825         * tests/test-fmodf.c (MAX_EXP): Likewise.
5826         * tests/test-fmodl.c (MAX_EXP): Likewise.
5827
5828 2012-03-04  Bruno Haible  <bruno@clisp.org>
5829
5830         fmod, fmodl: Fix computation for large quotients x / y.
5831         * lib/fmod.c: Completely rewritten.
5832         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
5833         USE_LONG_DOUBLE.
5834         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
5835         isnand. Remove fma.
5836         * modules/fmodl (Files): Add lib/fmod.c.
5837         (Depends-on): Add float, isfinite, signbit, fabsl,
5838         frexpl, ldexpl, isnanl. Remove fma.
5839         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
5840         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
5841
5842 2012-03-03  Bruno Haible  <bruno@clisp.org>
5843
5844         fmod* tests: More tests.
5845         * tests/test-fmod.h: New file.
5846         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
5847         (main): Invoke test_function.
5848         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
5849         (main): Invoke test_function.
5850         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
5851         (main): Invoke test_function.
5852         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
5853         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
5854         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
5855         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
5856         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
5857         (Depends-on): Add 'float'.
5858         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
5859
5860 2012-03-03  Bruno Haible  <bruno@clisp.org>
5861
5862         rint* tests: More tests.
5863         * tests/test-rint.h: New file, partially extracted from
5864         tests/test-rintl.c.
5865         * tests/test-rint.c: Include test-rint.h.
5866         (main): Invoke test_function.
5867         * tests/test-rintf.c: Include test-rint.h.
5868         (main): Invoke test_function.
5869         * tests/test-rintl.c: Include test-rint.h.
5870         (main): Invoke test_function.
5871         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
5872         (Makefile.am): Add randomd.c to test_rint_SOURCES.
5873         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
5874         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
5875         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
5876         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
5877
5878 2012-03-03  Bruno Haible  <bruno@clisp.org>
5879
5880         modf* tests: More tests.
5881         * tests/test-modf.h: New file.
5882         * tests/test-modf.c: Include <float.h> and test-modf.h.
5883         (main): Invoke test_function.
5884         * tests/test-modff.c: Include <float.h> and test-modf.h.
5885         (main): Invoke test_function.
5886         * tests/test-modfl.c: Include <float.h> and test-modf.h.
5887         (main): Invoke test_function.
5888         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
5889         (Makefile.am): Add randomd.c to test_modf_SOURCES.
5890         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
5891         (Makefile.am): Add randomf.c to test_modff_SOURCES.
5892         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
5893         (Depends-on): Add 'float'.
5894         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
5895
5896 2012-03-03  Bruno Haible  <bruno@clisp.org>
5897
5898         fabs* tests: More tests.
5899         * tests/test-fabs.h: New file, partially extracted from
5900         tests/test-fabsl.c.
5901         * tests/test-fabs.c (RANDOM): New macro.
5902         * tests/test-fabsf.c (RANDOM): New macro.
5903         * tests/test-fabsl.c (RANDOM): New macro.
5904         * modules/fabs-tests (Files): Add tests/randomd.c.
5905         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
5906         * modules/fabsf-tests (Files): Add tests/randomf.c.
5907         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
5908         * modules/fabsl-tests (Files): Add tests/randoml.c.
5909         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
5910
5911 2012-03-03  Bruno Haible  <bruno@clisp.org>
5912
5913         ldexp* tests: More tests.
5914         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
5915         * tests/test-ldexp.c (RANDOM): New macro.
5916         * tests/test-ldexpf.c (RANDOM): New macro.
5917         * tests/test-ldexpl.c (RANDOM): New macro.
5918         * modules/ldexp-tests (Files): Add tests/randomd.c.
5919         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
5920         * modules/ldexpf-tests (Files): Add tests/randomf.c.
5921         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
5922         * modules/ldexpl-tests (Files): Add tests/randoml.c.
5923         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
5924
5925 2012-03-03  Bruno Haible  <bruno@clisp.org>
5926
5927         frexp* tests: More tests.
5928         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
5929         * tests/test-frexp.c (RANDOM): New macro.
5930         * tests/test-frexpf.c (RANDOM): New macro.
5931         * tests/test-frexpl.c (RANDOM): New macro.
5932         * modules/frexp-tests (Files): Add tests/randomd.c.
5933         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
5934         * modules/frexpf-tests (Files): Add tests/randomf.c.
5935         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
5936         * modules/frexpl-tests (Files): Add tests/randoml.c.
5937         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
5938
5939 2012-03-03  Bruno Haible  <bruno@clisp.org>
5940
5941         Support for pseudo-random numbers in tests.
5942         * tests/randomf.c: New file.
5943         * tests/randomd.c: New file.
5944         * tests/randoml.c: New file.
5945         * tests/macros.h (randomf, randomd, randoml): New declarations.
5946
5947 2012-03-03  Bruno Haible  <bruno@clisp.org>
5948
5949         frexp* tests: Refactor.
5950         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
5951         * tests/test-frexp.c: Include and use it.
5952         * tests/test-frexpf.c: Likewise.
5953         * tests/test-frexpl.c: Likewise.
5954         * modules/frexp-tests (Files): Add tests/test-frexp.h.
5955         * modules/frexpf-tests (Files): Likewise.
5956         * modules/frexpl-tests (Files): Likewise.
5957
5958 2012-03-02  Jim Meyering  <meyering@redhat.com>
5959
5960         maint: don't specify XZ_OPT=-9ev in dist-related rule
5961         Using xz's -9 option is warranted only if you have a very large
5962         tarball (see xz's documentation for the sizes vs. presets), and
5963         requires 64MiB of memory at decompression time.
5964         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
5965         Automake's default of just "-e" is fine.  Override on a
5966         per-package basis by setting XZ_OPT e.g., in cfg.mk.
5967
5968 2012-03-01  Eric Blake  <eblake@redhat.com>
5969
5970         maint.mk: allow announcement for non-gnulib project
5971         * maint.mk (announcement): Skip gnulib version if not used.
5972
5973 2012-03-01  Jim Meyering  <meyering@redhat.com>
5974
5975         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
5976         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
5977         envvar settings cannot interfere.  Otherwise, setting envvars like
5978         prohibit=foo require=bar, etc. would cause spurious test failures.
5979
5980 2012-03-01  Eric Blake  <eblake@redhat.com>
5981
5982         maint.mk: add per-line exclusions to prohibitions
5983         * maint.mk (_sc_search_regexp): Add $exclude parameter.
5984         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
5985         (sc_const_long_option): Use it.
5986
5987 2012-03-01  Bruno Haible  <bruno@clisp.org>
5988
5989         Tests for module 'expl-ieee'.
5990         * modules/expl-ieee-tests: New file.
5991         * tests/test-expl-ieee.c: New file.
5992
5993         New module 'expl-ieee'.
5994         * modules/expl-ieee: New file.
5995
5996         Tests for module 'exp-ieee'.
5997         * modules/exp-ieee-tests: New file.
5998         * tests/test-exp-ieee.c: New file.
5999
6000         New module 'exp-ieee'.
6001         * modules/exp-ieee: New file.
6002
6003         Tests for module 'expf-ieee'.
6004         * modules/expf-ieee-tests: New file.
6005         * tests/test-expf-ieee.c: New file.
6006         * tests/test-exp-ieee.h: New file.
6007
6008         New module 'expf-ieee'.
6009         * modules/expf-ieee: New file.
6010
6011 2012-02-29  Bruno Haible  <bruno@clisp.org>
6012
6013         cbrtl-ieee: Work around test failure on IRIX 6.5.
6014         * m4/cbrtl-ieee.m4: New file.
6015         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
6016         test whether cbrtl works with a minus zero argument. Replace it if not.
6017         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
6018         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
6019         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
6020         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
6021         (Depends-on): Update conditions.
6022         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
6023         m4/signbit.m4.
6024         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
6025         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
6026         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
6027
6028         Tests for module 'cbrtl-ieee'.
6029         * modules/cbrtl-ieee-tests: New file.
6030         * tests/test-cbrtl-ieee.c: New file.
6031
6032         New module 'cbrtl-ieee'.
6033         * modules/cbrtl-ieee: New file.
6034
6035         Tests for module 'cbrt-ieee'.
6036         * modules/cbrt-ieee-tests: New file.
6037         * tests/test-cbrt-ieee.c: New file.
6038
6039         New module 'cbrt-ieee'.
6040         * modules/cbrt-ieee: New file.
6041
6042         Tests for module 'cbrtf-ieee'.
6043         * modules/cbrtf-ieee-tests: New file.
6044         * tests/test-cbrtf-ieee.c: New file.
6045         * tests/test-cbrt-ieee.h: New file.
6046
6047         New module 'cbrtf-ieee'.
6048         * modules/cbrtf-ieee: New file.
6049
6050 2012-02-29  Bruno Haible  <bruno@clisp.org>
6051
6052         cbrtf: Work around bug in IRIX 6.5 system function.
6053         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
6054         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
6055         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
6056         work.
6057         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
6058         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
6059         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
6060         (Depends-on): Update conditions.
6061         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
6062
6063 2012-02-29  Bruno Haible  <bruno@clisp.org>
6064
6065         Tests for module 'cbrtl'.
6066         * modules/cbrtl-tests: New file.
6067         * tests/test-cbrtl.c: New file.
6068
6069         New module 'cbrtl'.
6070         * lib/math.in.h (cbrtl): New declaration.
6071         * lib/cbrtl.c: New file.
6072         * m4/cbrtl.m4: New file.
6073         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
6074         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
6075         HAVE_DECL_CBRTL.
6076         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
6077         HAVE_DECL_CBRTL.
6078         * modules/cbrtl: New file.
6079         * tests/test-math-c++.cc: Check the declaration of cbrtl.
6080         * doc/posix-functions/cbrtl.texi: Mention the new module.
6081
6082 2012-02-29  Bruno Haible  <bruno@clisp.org>
6083
6084         Tests for module 'cbrtf'.
6085         * modules/cbrtf-tests: New file.
6086         * tests/test-cbrtf.c: New file.
6087
6088         New module 'cbrtf'.
6089         * lib/math.in.h (cbrtf): New declaration.
6090         * lib/cbrtf.c: New file.
6091         * m4/cbrtf.m4: New file.
6092         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
6093         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
6094         HAVE_DECL_CBRTF.
6095         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
6096         HAVE_DECL_CBRTF.
6097         * modules/cbrtf: New file.
6098         * tests/test-math-c++.cc: Check the declaration of cbrtf.
6099         * doc/posix-functions/cbrtf.texi: Mention the new module.
6100
6101 2012-02-29  Bruno Haible  <bruno@clisp.org>
6102
6103         cbrt: Provide replacement on MSVC and Minix.
6104         * lib/math.in.h (cbrt): New declaration.
6105         * lib/cbrt.c: New file.
6106         * m4/cbrt.m4: New file.
6107         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
6108         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
6109         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
6110         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
6111         (Depends-on): Add dependencies.
6112         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
6113         * tests/test-math-c++.cc: Check the declaration of cbrt.
6114         * doc/posix-functions/cbrt.texi: Mention that the module provides a
6115         replacement.
6116
6117 2012-02-29  Bruno Haible  <bruno@clisp.org>
6118
6119         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
6120         * m4/hypotl-ieee.m4: New file.
6121         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
6122         test whether hypotl works with mixed NaN and Infinity arguments.
6123         Replace it if not.
6124         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
6125         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
6126         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
6127         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
6128         (Depends-on): Update conditions.
6129         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
6130         (Depends-on): Add hypot-ieee.
6131         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
6132         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
6133
6134         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
6135         * m4/hypotf-ieee.m4: New file.
6136         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
6137         test whether hypotf works with mixed NaN and Infinity arguments.
6138         Replace it if not.
6139         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
6140         (Depends-on): Add hypot-ieee.
6141         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
6142         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
6143
6144         hypot-ieee: Work around test failure on OSF/1 and native Windows.
6145         * lib/math.in.h (hypot): New declaration.
6146         * lib/hypot.c: New file.
6147         * m4/hypot-ieee.m4: New file.
6148         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
6149         whether hypot works with mixed NaN and Infinity arguments. Replace it
6150         if not.
6151         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
6152         REPLACE_HYPOT.
6153         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
6154         * modules/hypot (Files): Add lib/hypot.c.
6155         (Depends-on): Add dependencies.
6156         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
6157         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
6158         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
6159         * tests/test-math-c++.cc: Check the declaration of hypot.
6160         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
6161
6162         Tests for module 'hypotl-ieee'.
6163         * modules/hypotl-ieee-tests: New file.
6164         * tests/test-hypotl-ieee.c: New file.
6165
6166         New module 'hypotl-ieee'.
6167         * modules/hypotl-ieee: New file.
6168
6169         Tests for module 'hypot-ieee'.
6170         * modules/hypot-ieee-tests: New file.
6171         * tests/test-hypot-ieee.c: New file.
6172
6173         New module 'hypot-ieee'.
6174         * modules/hypot-ieee: New file.
6175
6176         Tests for module 'hypotf-ieee'.
6177         * modules/hypotf-ieee-tests: New file.
6178         * tests/test-hypotf-ieee.c: New file.
6179         * tests/test-hypot-ieee.h: New file.
6180
6181         New module 'hypotf-ieee'.
6182         * modules/hypotf-ieee: New file.
6183
6184 2012-02-29  Bruno Haible  <bruno@clisp.org>
6185
6186         Remove unused variables.
6187         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
6188         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6189         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
6190         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6191
6192 2012-02-29  Eric Blake  <eblake@redhat.com>
6193
6194         termios: fix pid_t always, not just for tcgetsid
6195         * doc/posix-headers/termios.texi (termios.h): Mention problem.
6196         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
6197         just when building tcgetsid.
6198
6199 2012-02-29  Bruno Haible  <bruno@clisp.org>
6200
6201         Tests for module 'hypotl'.
6202         * modules/hypotl-tests: New file.
6203         * tests/test-hypotl.c: New file.
6204
6205         New module 'hypotl'.
6206         * lib/math.in.h (hypotl): New declaration.
6207         * lib/hypotl.c: New file.
6208         * m4/hypotl.m4: New file.
6209         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6210         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
6211         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
6212         * modules/hypotl: New file.
6213         * tests/test-math-c++.cc: Check the hypotl declaration.
6214         * doc/posix-functions/hypotl.texi: Mention the new module.
6215
6216 2012-02-29  Eric Blake  <eblake@redhat.com>
6217
6218         tcgetsid: fix cygwin header bug
6219         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
6220
6221         docs: update cygwin progress
6222         * doc/posix-functions/llround.texi (llround): Added in cygwin
6223         1.7.8.
6224         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
6225         * doc/glibc-functions/program_invocation_name.texi
6226         (program_invocation_name): Likewise.
6227         * doc/glibc-functions/program_invocation_short_name.texi
6228         (program_invocation_short_name): Likewise.
6229         * doc/glibc-functions/madvise.texi (madvise): Likewise.
6230         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
6231         Likewise.
6232         * doc/posix-functions/pthread_spin_destroy.texi
6233         (pthread_spin_destroy): Added in cygwin 1.7.10.
6234         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
6235         Likewise.
6236         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
6237         Likewise.
6238         * doc/posix-functions/pthread_spin_trylock.texi
6239         (pthread_spin_trylock): Likewise.
6240         * doc/posix-functions/pthread_spin_unlock.texi
6241         (pthread_spin_unlock): Likewise.
6242         * doc/posix-functions/pthread_setschedprio.texi
6243         (pthread_setschedprio): Likewise.
6244         * doc/posix-functions/pthread_attr_getstack.texi
6245         (pthread_attr_getstack): Likewise.
6246         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
6247         (pthread_attr_getstackaddr): Likewise.
6248         * doc/glibc-functions/pthread_getattr_np.texi
6249         (pthread_getattr_np): Likewise.
6250         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
6251         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
6252         * doc/posix-functions/clock_settime.texi (clock_settime):
6253         Likewise.
6254         * doc/posix-functions/pthread_attr_getguardsize.texi
6255         (pthread_attr_getguardsize): Likewise.
6256         * doc/posix-functions/pthread_attr_setguardsize.texi
6257         (pthread_attr_setguardsize): Likewise.
6258         * doc/posix-functions/pthread_attr_setstack.texi
6259         (pthread_attr_setstack): Likewise.
6260         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
6261         (pthread_attr_setstackaddr): Likewise.
6262         * doc/posix-functions/clock_getcpuclockid.texi
6263         (clock_getcpuclockid): Likewise.
6264         * doc/posix-functions/pthread_getcpuclockid.texi
6265         (pthread_getcpuclockid): Likewise.
6266         * doc/glibc-functions/error.texi (error): Likewise.
6267         * doc/glibc-functions/error_at_line.texi (error_at_line):
6268         Likewise.
6269         * doc/glibc-functions/error_message_count.texi
6270         (error_message_count): Likewise.
6271         * doc/glibc-functions/error_one_per_line.texi
6272         (error_one_per_line): Likewise.
6273         * doc/glibc-functions/error_print_progname.texi
6274         (error_print_progname): Likewise.
6275         * doc/posix-functions/pthread_condattr_getclock.texi
6276         (pthread_condattr_getclock): Likewise.
6277         * doc/posix-functions/pthread_condattr_setclock.texi
6278         (pthread_condattr_setclock): Likewise.
6279         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
6280         Likewise.
6281         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
6282         * doc/glibc-functions/getpt.texi (getpt): Likewise.
6283         * doc/glibc-functions/get_current_dir_name.texi
6284         (get_current_dir_name): Likewise.
6285         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
6286         Likewise.
6287         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
6288         wrong return type.
6289         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
6290         1.7.11.
6291
6292 2012-02-29  Bruno Haible  <bruno@clisp.org>
6293
6294         Tests for module 'hypotf'.
6295         * modules/hypotf-tests: New file.
6296         * tests/test-hypotf.c: New file.
6297
6298         New module 'hypotf'.
6299         * lib/math.in.h (hypotf): New declaration.
6300         * lib/hypotf.c: New file.
6301         * m4/hypotf.m4: New file.
6302         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6303         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
6304         REPLACE_HYPOTF.
6305         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
6306         REPLACE_HYPOTF.
6307         * modules/hypotf: New file.
6308         * tests/test-math-c++.cc: Check the hypotf declaration.
6309         * doc/posix-functions/hypotf.texi: Mention the new module.
6310
6311         hypot: Prepare for hypotf module.
6312         * m4/hypot.m4: New file.
6313         * modules/hypot (Files): Add m4/hypot.m4.
6314         (configure.ac): Invoke gl_FUNC_HYPOT.
6315
6316 2012-02-29  Bruno Haible  <bruno@clisp.org>
6317
6318         hypot tests: More tests.
6319         * tests/test-hypot.c: Include <float.h>.
6320         (main): Add tests about overflow and underflow.
6321
6322 2012-02-29  Bruno Haible  <bruno@clisp.org>
6323
6324         math code: Add comments.
6325         * lib/acosl.c: Add comment about related glibc source files.
6326         * lib/asinl.c: Likewise.
6327         * lib/atanl.c: Likewise.
6328         * lib/expl.c: Likewise.
6329         * lib/logl.c: Likewise.
6330         * lib/sincosl.c: Likewise.
6331         * lib/sinl.c: Likewise.
6332         * lib/tanl.c: Likewise.
6333         * lib/trigl.c: Likewise.
6334         * lib/cosl.c: Likewise. Fix comments.
6335
6336 2012-02-28  Bruno Haible  <bruno@clisp.org>
6337
6338         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
6339         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
6340         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
6341         HUGE_VALL are defined.
6342         (numeric_equald): Renamed from numeric_equal.
6343         (numeric_equalf, numeric_equall): New functions.
6344         (main): Check also HUGE_VALF, HUGE_VALL.
6345         * modules/math-tests (Files): Add tests/macros.h.
6346         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
6347         HUGE_VALL.
6348
6349 2012-02-28  Bruno Haible  <bruno@clisp.org>
6350
6351         doc: Move ISO C11 feature notes into POSIX chapters.
6352         * doc/posix-functions/aligned_alloc.texi: Renamed from
6353         doc/glibc-functions/aligned_alloc.texi.
6354         * doc/posix-functions/quick_exit.texi: Renamed from
6355         doc/glibc-functions/quick_exit.texi.
6356         * doc/posix-headers/uchar.texi: Renamed from
6357         doc/glibc-headers/uchar.texi.
6358         * doc/posix-functions/c16rtomb.texi: Renamed from
6359         doc/glibc-functions/c16rtomb.texi.
6360         * doc/posix-functions/c32rtomb.texi: Renamed from
6361         doc/glibc-functions/c32rtomb.texi.
6362         * doc/posix-functions/mbrtoc16.texi: Renamed from
6363         doc/glibc-functions/mbrtoc16.texi.
6364         * doc/posix-functions/mbrtoc32.texi: Renamed from
6365         doc/glibc-functions/mbrtoc32.texi.
6366         * doc/gnulib.texi: Update.
6367         (Glibc uchar.h): Remove section.
6368         Suggested by Eric Blake.
6369
6370 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
6371
6372         stdnoreturn: port to MSVC better
6373         MSVC standard headers use __declspec(noreturn), so #define noreturn
6374         to empty on that platform.  Reported by Bruno Haible in
6375         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
6376         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
6377         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
6378
6379 2012-02-28  Bruno Haible  <bruno@clisp.org>
6380
6381         doc: Mention new glibc headers and functions.
6382         * doc/glibc-headers/uchar.texi: New file.
6383         * doc/glibc-functions/aligned_alloc.texi: New file.
6384         * doc/glibc-functions/c16rtomb.texi: New file.
6385         * doc/glibc-functions/c32rtomb.texi: New file.
6386         * doc/glibc-functions/clock_adjtime.texi: New file.
6387         * doc/glibc-functions/fanotify_init.texi: New file.
6388         * doc/glibc-functions/fanotify_mark.texi: New file.
6389         * doc/glibc-functions/inet6_opt_append.texi: New file.
6390         * doc/glibc-functions/inet6_opt_find.texi: New file.
6391         * doc/glibc-functions/inet6_opt_finish.texi: New file.
6392         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
6393         * doc/glibc-functions/inet6_opt_init.texi: New file.
6394         * doc/glibc-functions/inet6_opt_next.texi: New file.
6395         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
6396         * doc/glibc-functions/inet6_rth_add.texi: New file.
6397         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
6398         * doc/glibc-functions/inet6_rth_init.texi: New file.
6399         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
6400         * doc/glibc-functions/inet6_rth_segments.texi: New file.
6401         * doc/glibc-functions/inet6_rth_space.texi: New file.
6402         * doc/glibc-functions/login.texi: New file.
6403         * doc/glibc-functions/mbrtoc16.texi: New file.
6404         * doc/glibc-functions/mbrtoc32.texi: New file.
6405         * doc/glibc-functions/name_to_handle_at.texi: New file.
6406         * doc/glibc-functions/ntp_gettimex.texi: New file.
6407         * doc/glibc-functions/open_by_handle_at.texi: New file.
6408         * doc/glibc-functions/prlimit.texi: New file.
6409         * doc/glibc-functions/process_vm_readv.texi: New file.
6410         * doc/glibc-functions/process_vm_writev.texi: New file.
6411         * doc/glibc-functions/recvmmsg.texi: New file.
6412         * doc/glibc-functions/scandirat.texi: New file.
6413         * doc/glibc-functions/sendmmsg.texi: New file.
6414         * doc/glibc-functions/setns.texi: New file.
6415         * doc/glibc-functions/timespec_get.texi: New file.
6416         * doc/gnulib.texi: Include them.
6417         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
6418         sections.
6419         Reported by Eric Blake.
6420
6421 2012-02-28  Bruno Haible  <bruno@clisp.org>
6422
6423         Avoid compilation errors with MSVC option -fp:strict.
6424         * lib/floor.c: Use MSVC specific pragma fenv_access.
6425         * lib/ceil.c: Likewise.
6426         * lib/trunc.c: Likewise.
6427         * lib/round.c: Likewise.
6428         * lib/rint.c: Likewise.
6429         * lib/fma.c: Likewise.
6430         * lib/integer_length.c: Likewise.
6431         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6432         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6433         * tests/test-floor2.c: Likewise.
6434         * tests/test-floorf2.c: Likewise.
6435         * tests/test-ceil2.c: Likewise.
6436         * tests/test-ceilf2.c: Likewise.
6437         * tests/test-trunc2.c: Likewise.
6438         * tests/test-truncf2.c: Likewise.
6439         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6440
6441 2012-02-27  Bruno Haible  <bruno@clisp.org>
6442
6443         Tests for module 'sqrtl-ieee'.
6444         * modules/sqrtl-ieee-tests: New file.
6445         * tests/test-sqrtl-ieee.c: New file.
6446
6447         New module 'sqrtl-ieee'.
6448         * modules/sqrtl-ieee: New file.
6449
6450         Tests for module 'sqrt-ieee'.
6451         * modules/sqrt-ieee-tests: New file.
6452         * tests/test-sqrt-ieee.c: New file.
6453
6454         New module 'sqrt-ieee'.
6455         * modules/sqrt-ieee: New file.
6456
6457         Tests for module 'sqrtf-ieee'.
6458         * modules/sqrtf-ieee-tests: New file.
6459         * tests/test-sqrtf-ieee.c: New file.
6460         * tests/test-sqrt-ieee.h: New file.
6461
6462         New module 'sqrtf-ieee'.
6463         * modules/sqrtf-ieee: New file.
6464
6465 2012-02-27  Bruno Haible  <bruno@clisp.org>
6466
6467         remainderl-ieee: Work around test failure on OSF/1.
6468         * m4/remainderl-ieee.m4: New file.
6469         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
6470         present, test whether remainderl works with a zero second argument.
6471         Replace it if not.
6472         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
6473         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
6474         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
6475         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
6476         (Depends-on): Update conditions.
6477         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
6478         (Depends-on): Add remainder-ieee.
6479         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
6480         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
6481         module.
6482
6483         remainderf-ieee: Work around test failure on OSF/1.
6484         * m4/remainderf-ieee.m4: New file.
6485         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
6486         present, test whether remainderf works with a zero second argument.
6487         Replace it if not.
6488         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
6489         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
6490         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
6491         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
6492         (Depends-on): Update conditions.
6493         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
6494         (Depends-on): Add remainder-ieee.
6495         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
6496         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
6497         module.
6498
6499         remainder-ieee: Work around test failure on OSF/1.
6500         * m4/remainder-ieee.m4: New file.
6501         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
6502         present, test whether remainder works with a zero second argument.
6503         Replace it if not.
6504         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
6505         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
6506         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
6507         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
6508         (Depends-on): Update dependencies.
6509         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
6510         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
6511         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
6512
6513         Tests for module 'remainderl-ieee'.
6514         * modules/remainderl-ieee-tests: New file.
6515         * tests/test-remainderl-ieee.c: New file.
6516
6517         New module 'remainderl-ieee'.
6518         * modules/remainderl-ieee: New file.
6519
6520         Tests for module 'remainder-ieee'.
6521         * modules/remainder-ieee-tests: New file.
6522         * tests/test-remainder-ieee.c: New file.
6523
6524         New module 'remainder-ieee'.
6525         * modules/remainder-ieee: New file.
6526
6527         Tests for module 'remainderf-ieee'.
6528         * modules/remainderf-ieee-tests: New file.
6529         * tests/test-remainderf-ieee.c: New file.
6530         * tests/test-remainder-ieee.h: New file.
6531
6532         New module 'remainderf-ieee'.
6533         * modules/remainderf-ieee: New file.
6534
6535 2012-02-27  Bruno Haible  <bruno@clisp.org>
6536
6537         modff, modfl: Fix configure syntax error.
6538         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
6539         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6540
6541 2012-02-27  Bruno Haible  <bruno@clisp.org>
6542
6543         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
6544         * m4/fmodl-ieee.m4: New file.
6545         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
6546         whether fmodl works with zero arguments. Replace it if not.
6547         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
6548         (Depends-on): Add fmod-ieee.
6549         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
6550         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
6551
6552         fmodf-ieee: Work around test failure on OSF/1.
6553         * m4/fmodf-ieee.m4: New file.
6554         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
6555         whether fmodf works with zero arguments. Replace it if not.
6556         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
6557         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
6558         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
6559         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
6560         (Depends-on): Update dependencies.
6561         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
6562         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
6563         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
6564
6565         fmodf-ieee: Work around test failure on MSVC 9.
6566         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
6567         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
6568
6569         fmod-ieee: Work around test failures on OSF/1, mingw.
6570         * m4/fmod-ieee.m4: New file.
6571         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
6572         whether fmod works with zero arguments. Replace it if not.
6573         * lib/math.in.h (fmod): New declaration.
6574         * lib/fmod.c: New file.
6575         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
6576         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
6577         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
6578         * modules/fmod (Files): Add lib/fmod.c.
6579         (Depends-on): Add math, isinf, trunc, fma.
6580         (configure.ac): Arrange to compile lib/fmod.c if needed.
6581         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
6582         m4/signbit.m4.
6583         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
6584         * tests/test-math-c++.cc: Check the declaration of fmod.
6585         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
6586
6587         fmodl-ieee: Fix test failures.
6588         * lib/fmodl.c (fmodl): Treat Inf specially.
6589         * modules/fmodl (Depends-on): Add isinf.
6590
6591         Tests for module 'fmodl-ieee'.
6592         * modules/fmodl-ieee-tests: New file.
6593         * tests/test-fmodl-ieee.c: New file.
6594
6595         New module 'fmodl-ieee'.
6596         * modules/fmodl-ieee: New file.
6597
6598         Tests for module 'fmod-ieee'.
6599         * modules/fmod-ieee-tests: New file.
6600         * tests/test-fmod-ieee.c: New file.
6601
6602         New module 'fmod-ieee'.
6603         * modules/fmod-ieee: New file.
6604
6605         Tests for module 'fmodf-ieee'.
6606         * modules/fmodf-ieee-tests: New file.
6607         * tests/test-fmodf-ieee.c: New file.
6608         * tests/test-fmod-ieee.h: New file.
6609
6610         New module 'fmodf-ieee'.
6611         * modules/fmodf-ieee: New file.
6612
6613 2012-02-27  Bruno Haible  <bruno@clisp.org>
6614
6615         Tests for module 'rintl-ieee'.
6616         * modules/rintl-ieee-tests: New file.
6617         * tests/test-rintl-ieee.c: New file.
6618
6619         New module 'rintl-ieee'.
6620         * modules/rintl-ieee: New file.
6621
6622         Tests for module 'rint-ieee'.
6623         * modules/rint-ieee-tests: New file.
6624         * tests/test-rint-ieee.c: New file.
6625
6626         New module 'rint-ieee'.
6627         * modules/rint-ieee: New file.
6628
6629         Tests for module 'rintf-ieee'.
6630         * modules/rintf-ieee-tests: New file.
6631         * tests/test-rintf-ieee.c: New file.
6632         * tests/test-rint-ieee.h: New file.
6633
6634         New module 'rintf-ieee'.
6635         * modules/rintf-ieee: New file.
6636
6637 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
6638
6639         regex: re_search etc. should return -2 when memory exhausted
6640         This bug was uncovered when testing 'grep'.  Without the fix,
6641         re_search and friends return -1 when memory is exhausted, but -1
6642         means no match, and this causes grep to falsely report no-match
6643         instead of memory-exhaustion.  See
6644         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
6645         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
6646         trouble; this can occur if re_search_internal ran out of memory.
6647
6648 2012-02-26  Bruno Haible  <bruno@clisp.org>
6649
6650         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
6651         * m4/modfl-ieee.m4: New file.
6652         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
6653         whether modfl works with Inf. Replace it if not.
6654         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
6655         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
6656         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
6657         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
6658         (Depends-on): Update dependencies.
6659         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
6660         m4/signbit.m4.
6661         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
6662         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
6663
6664         modfl-ieee: Fix dependencies.
6665         * modules/modfl-ieee (Depends-on): Add modf-ieee.
6666
6667         modfl-ieee: Fix test failures.
6668         * lib/modfl.c (modfl): Treat NaN and Inf specially.
6669         * modules/modfl (Depends-on): Add isfinite, isinf.
6670
6671         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
6672         * m4/modff-ieee.m4: New file.
6673         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
6674         whether modff works with NaN and Inf. Replace it if not.
6675         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
6676         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
6677         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
6678         * modules/modff (configure.ac): Consider REPLACE_MODFF.
6679         (Depends-on): Update dependencies.
6680         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
6681         m4/signbit.m4.
6682         (Depends-on): Add modf-ieee.
6683         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
6684         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
6685
6686         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
6687         * m4/modf-ieee.m4: New file.
6688         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
6689         whether modf works with NaN and Inf. Replace it if not.
6690         * lib/math.in.h (modf): New declaration.
6691         * lib/modf.c: New file.
6692         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
6693         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
6694         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
6695         * modules/modf (Files): Add lib/modf.c.
6696         (Depends-on): Add math, isfinite, trunc, isinf.
6697         (configure.ac): Addrange to compile lib/modf.c if needed.
6698         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
6699         m4/signbit.m4.
6700         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
6701         * tests/test-math-c++.cc: Check the declaration of modf.
6702         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
6703
6704         Tests for module 'modfl-ieee'.
6705         * modules/modfl-ieee-tests: New file.
6706         * tests/test-modfl-ieee.c: New file.
6707
6708         New module 'modfl-ieee'.
6709         * modules/modfl-ieee: New file.
6710
6711         Tests for module 'modf-ieee'.
6712         * modules/modf-ieee-tests: New file.
6713         * tests/test-modf-ieee.c: New file.
6714
6715         New module 'modf-ieee'.
6716         * modules/modf-ieee: New file.
6717
6718         Tests for module 'modff-ieee'.
6719         * modules/modff-ieee-tests: New file.
6720         * tests/test-modff-ieee.c: New file.
6721         * tests/test-modf-ieee.h: New file.
6722
6723         New module 'modff-ieee'.
6724         * modules/modff-ieee: New file.
6725
6726 2012-02-26  Bruno Haible  <bruno@clisp.org>
6727
6728         Tests for module 'fabsl-ieee'.
6729         * modules/fabsl-ieee-tests: New file.
6730         * tests/test-fabsl-ieee.c: New file.
6731
6732         New module 'fabsl-ieee'.
6733         * modules/fabsl-ieee: New file.
6734
6735         Tests for module 'fabs-ieee'.
6736         * modules/fabs-ieee-tests: New file.
6737         * tests/test-fabs-ieee.c: New file.
6738
6739         New module 'fabs-ieee'.
6740         * modules/fabs-ieee: New file.
6741
6742         Tests for module 'fabsf-ieee'.
6743         * modules/fabsf-ieee-tests: New file.
6744         * tests/test-fabsf-ieee.c: New file.
6745         * tests/test-fabs-ieee.h: New file.
6746
6747         New module 'fabsf-ieee'.
6748         * modules/fabsf-ieee: New file.
6749
6750 2012-02-26  Bruno Haible  <bruno@clisp.org>
6751
6752         Tests for module 'fmal-ieee'.
6753         * modules/fmal-ieee-tests: New file.
6754         * tests/test-fmal-ieee.c: New file.
6755
6756         New module 'fmal-ieee'.
6757         * modules/fmal-ieee: New file.
6758
6759         Tests for module 'fma-ieee'.
6760         * modules/fma-ieee-tests: New file.
6761         * tests/test-fma-ieee.c: New file.
6762
6763         New module 'fma-ieee'.
6764         * modules/fma-ieee: New file.
6765
6766         Tests for module 'fmaf-ieee'.
6767         * modules/fmaf-ieee-tests: New file.
6768         * tests/test-fmaf-ieee.c: New file.
6769         * tests/test-fma-ieee.h: New file.
6770
6771         New module 'fmaf-ieee'.
6772         * modules/fmaf-ieee: New file.
6773
6774 2012-02-26  Bruno Haible  <bruno@clisp.org>
6775
6776         Tests for module 'ldexpl-ieee'.
6777         * modules/ldexpl-ieee-tests: New file.
6778         * tests/test-ldexpl-ieee.c: New file.
6779
6780         New module 'ldexpl-ieee'.
6781         * modules/ldexpl-ieee: New file.
6782
6783         Tests for module 'ldexp-ieee'.
6784         * modules/ldexp-ieee-tests: New file.
6785         * tests/test-ldexp-ieee.c: New file.
6786
6787         New module 'ldexp-ieee'.
6788         * modules/ldexp-ieee: New file.
6789
6790         Tests for module 'ldexpf-ieee'.
6791         * modules/ldexpf-ieee-tests: New file.
6792         * tests/test-ldexpf-ieee.c: New file.
6793         * tests/test-ldexp-ieee.h: New file.
6794
6795         New module 'ldexpf-ieee'.
6796         * modules/ldexpf-ieee: New file.
6797
6798 2012-02-26  Bruno Haible  <bruno@clisp.org>
6799
6800         Refactor frexp*-ieee tests.
6801         * tests/test-frexp-ieee.h: New file.
6802         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
6803         (main): Just call test_function.
6804         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
6805         (main): Just call test_function.
6806         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
6807         (main): Just call test_function.
6808         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
6809         * modules/frexp-ieee-tests (Files): Likewise.
6810         * modules/frexpl-ieee-tests (Files): Likewise.
6811
6812         Tests for module 'frexpl-ieee'.
6813         * modules/frexpl-ieee-tests: New file.
6814         * tests/test-frexpl-ieee.c: New file.
6815
6816         New module 'frexpl-ieee'.
6817         * modules/frexpl-ieee: New file.
6818
6819         Tests for module 'frexp-ieee'.
6820         * modules/frexp-ieee-tests: New file.
6821         * tests/test-frexp-ieee.c: New file.
6822
6823         New module 'frexp-ieee'.
6824         * modules/frexp-ieee: New file.
6825
6826         Tests for module 'frexpf-ieee'.
6827         * modules/frexpf-ieee-tests: New file.
6828         * tests/test-frexpf-ieee.c: New file.
6829
6830         New module 'frexpf-ieee'.
6831         * modules/frexpf-ieee: New file.
6832
6833 2012-02-26  Bruno Haible  <bruno@clisp.org>
6834
6835         roundl-ieee tests: More tests.
6836         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
6837         (main): Add tests for [MX] shaded specification in POSIX.
6838         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6839         (Depends-on): Add isnanl-nolibm.
6840
6841         round-ieee tests: More tests.
6842         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
6843         (main): Add tests for [MX] shaded specification in POSIX.
6844         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6845         (Depends-on): Add isnand-nolibm.
6846
6847         roundf-ieee tests: More tests.
6848         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
6849         (main): Add tests for [MX] shaded specification in POSIX.
6850         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6851         (Depends-on): Add isnanf-nolibm.
6852
6853         truncl-ieee tests: More tests.
6854         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
6855         (main): Add tests for [MX] shaded specification in POSIX.
6856         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6857         (Depends-on): Add isnanl-nolibm.
6858
6859         trunc-ieee tests: More tests.
6860         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
6861         (main): Add tests for [MX] shaded specification in POSIX.
6862         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6863         (Depends-on): Add isnand-nolibm.
6864
6865         truncf-ieee tests: More tests.
6866         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
6867         (main): Add tests for [MX] shaded specification in POSIX.
6868         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6869         (Depends-on): Add isnanf-nolibm.
6870
6871         ceill-ieee tests: More tests.
6872         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
6873         (main): Add tests for [MX] shaded specification in POSIX.
6874         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6875         (Depends-on): Add isnanl-nolibm.
6876
6877         ceil-ieee tests: More tests.
6878         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
6879         (main): Add tests for [MX] shaded specification in POSIX.
6880         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6881         (Depends-on): Add isnand-nolibm.
6882
6883         ceilf-ieee tests: More tests.
6884         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
6885         (main): Add tests for [MX] shaded specification in POSIX.
6886         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6887         (Depends-on): Add isnanf-nolibm.
6888
6889         floorl-ieee tests: More tests.
6890         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
6891         (main): Add tests for [MX] shaded specification in POSIX.
6892         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6893         (Depends-on): Add isnanl-nolibm.
6894
6895         floor-ieee tests: More tests.
6896         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
6897         (main): Add tests for [MX] shaded specification in POSIX.
6898         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6899         (Depends-on): Add isnand-nolibm.
6900
6901         floorf-ieee tests: More tests.
6902         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
6903         (main): Add tests for [MX] shaded specification in POSIX.
6904         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6905         (Depends-on): Add isnanf-nolibm.
6906
6907 2012-02-26  Bruno Haible  <bruno@clisp.org>
6908
6909         fpieee: More comments.
6910         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
6911
6912 2012-02-25  Bruno Haible  <bruno@clisp.org>
6913
6914         Tests for module 'log10l'.
6915         * modules/log10l-tests: New file.
6916         * tests/test-log10l.c: New file.
6917         * tests/test-math-c++.cc: Check the declaration of log10l.
6918
6919         New module 'log10l'.
6920         * lib/math.in.h (log10l): New declaration.
6921         * lib/log10l.c: New file.
6922         * m4/log10l.m4: New file.
6923         * modules/log10l: New file.
6924         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
6925         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
6926         HAVE_DECL_LOG10L.
6927         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
6928         HAVE_DECL_LOG10L.
6929         * doc/posix-functions/log10l.texi: Mention the new module.
6930
6931 2012-02-25  Bruno Haible  <bruno@clisp.org>
6932
6933         fmodl, remainder*: Avoid wrong results due to rounding errors.
6934         * lib/fmodl.c (fmodl): Correct the result if it is not within the
6935         expected bounds.
6936         * lib/remainderf.c (remainderf): Likewise.
6937         * lib/remainder.c (remainder): Likewise.
6938         * lib/remainderl.c (remainderl): Likewise.
6939
6940 2012-02-25  Bruno Haible  <bruno@clisp.org>
6941
6942         Tests for module 'remainderl'.
6943         * modules/remainderl-tests: New file.
6944         * tests/test-remainderl.c: New file.
6945         * tests/test-math-c++.cc: Check the declaration of remainderl.
6946
6947         New module 'remainderl'.
6948         * lib/math.in.h (remainderl): New declaration.
6949         * lib/remainderl.c: New file.
6950         * m4/remainderl.m4: New file.
6951         * modules/remainderl: New file.
6952         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
6953         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
6954         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
6955         HAVE_REMAINDERL.
6956         * doc/posix-functions/remainderl.texi: Mention the new module.
6957
6958 2012-02-25  Bruno Haible  <bruno@clisp.org>
6959
6960         Tests for module 'remainderf'.
6961         * modules/remainderf-tests: New file.
6962         * tests/test-remainderf.c: New file.
6963         * tests/test-math-c++.cc: Check the declaration of remainderf.
6964
6965         New module 'remainderf'.
6966         * lib/math.in.h (remainderf): New declaration.
6967         * lib/remainderf.c: New file.
6968         * m4/remainderf.m4: New file.
6969         * modules/remainderf: New file.
6970         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
6971         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
6972         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
6973         HAVE_REMAINDERF.
6974         * doc/posix-functions/remainderf.texi: Mention the new module.
6975
6976 2012-02-25  Bruno Haible  <bruno@clisp.org>
6977
6978         remainder: Support for MSVC.
6979         * lib/math.in.h (remainder): New declaration.
6980         * lib/remainder.c: New file.
6981         * m4/remainder.m4: New file.
6982         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
6983         (Depends-on): Add math, round, fma.
6984         (configure.ac): Use results of gl_FUNC_REMAINDER.
6985         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
6986         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
6987         HAVE_DECL_REMAINDER.
6988         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
6989         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
6990         * tests/test-math-c++.cc: Check the declaration of remainder.
6991         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
6992         problems are fixed.
6993
6994 2012-02-25  Bruno Haible  <bruno@clisp.org>
6995
6996         Tests for module 'fmodl'.
6997         * modules/fmodl-tests: New file.
6998         * tests/test-fmodl.c: New file.
6999         * tests/test-math-c++.cc: Check the declaration of fmodl.
7000
7001         New module 'fmodl'.
7002         * lib/math.in.h (fmodl): New declaration.
7003         * lib/fmodl.c: New file.
7004         * m4/fmodl.m4: New file.
7005         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
7006         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
7007         REPLACE_FMODL.
7008         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
7009         REPLACE_FMODL.
7010         * modules/fmodl: New file.
7011         * doc/posix-functions/fmodl.texi: Mention the new module.
7012
7013 2012-02-25  Bruno Haible  <bruno@clisp.org>
7014
7015         Tests for module 'modfl'.
7016         * modules/modfl-tests: New file.
7017         * tests/test-modfl.c: New file.
7018         * tests/test-math-c++.cc: Check the declaration of modfl.
7019
7020         New module 'modfl'.
7021         * lib/math.in.h (modfl): New declaration.
7022         * lib/modfl.c: New file.
7023         * m4/modfl.m4: New file.
7024         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
7025         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
7026         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
7027         * modules/modfl: New file.
7028         * doc/posix-functions/modfl.texi: Mention the new module.
7029
7030 2012-02-25  Bruno Haible  <bruno@clisp.org>
7031
7032         Tests for module 'fabsl'.
7033         * modules/fabsl-tests: New file.
7034         * tests/test-fabsl.c: New file.
7035         * tests/test-math-c++.cc: Check the declaration of fabsl.
7036
7037         New module 'fabsl'.
7038         * lib/math.in.h (fabsl): New declaration.
7039         * lib/fabsl.c: New file.
7040         * m4/fabsl.m4: New file.
7041         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
7042         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
7043         REPLACE_FABSL.
7044         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
7045         REPLACE_FABSL.
7046         * modules/fabsl: New file.
7047         * doc/posix-functions/fabsl.texi: Mention the new module.
7048
7049 2012-02-25  Bruno Haible  <bruno@clisp.org>
7050
7051         fabs tests: More tests.
7052         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
7053         (zero): New variable.
7054         (main): Add tests for signed zero.
7055         * modules/fabs-tests (Files): Add tests/minus-zero.h.
7056
7057         fabsf tests: More tests.
7058         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
7059         (zero): New variable.
7060         (main): Add tests for signed zero.
7061         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
7062
7063 2012-02-24  Bruno Haible  <bruno@clisp.org>
7064
7065         atanl: Provide function definition on MSVC.
7066         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
7067         function pointer.
7068         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
7069
7070 2012-02-24  Bruno Haible  <bruno@clisp.org>
7071
7072         acosl: Provide function definition on MSVC.
7073         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
7074         function pointer.
7075         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
7076
7077 2012-02-24  Bruno Haible  <bruno@clisp.org>
7078
7079         asinl: Provide function definition on MSVC.
7080         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
7081         function pointer.
7082         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
7083
7084 2012-02-24  Bruno Haible  <bruno@clisp.org>
7085
7086         tanl: Provide function definition on MSVC.
7087         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
7088         function pointer.
7089         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
7090
7091 2012-02-24  Bruno Haible  <bruno@clisp.org>
7092
7093         cosl: Provide function definition on MSVC.
7094         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
7095         function pointer.
7096         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
7097
7098 2012-02-24  Bruno Haible  <bruno@clisp.org>
7099
7100         sinl: Provide function definition on MSVC.
7101         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
7102         function pointer.
7103         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
7104
7105 2012-02-24  Bruno Haible  <bruno@clisp.org>
7106
7107         logl: Provide function definition on MSVC.
7108         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
7109         function pointer.
7110         * lib/math.in.h (logl): Undefine if it does not exist as a function.
7111
7112 2012-02-24  Bruno Haible  <bruno@clisp.org>
7113
7114         expl: Provide function definition on MSVC.
7115         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
7116         function pointer.
7117         * lib/math.in.h (expl): Undefine if it does not exist as a function.
7118
7119 2012-02-24  Bruno Haible  <bruno@clisp.org>
7120
7121         sqrtl: Provide function definition on MSVC.
7122         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
7123         a function pointer.
7124         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
7125
7126 2012-02-24  Bruno Haible  <bruno@clisp.org>
7127
7128         ceill: Provide function definition on MSVC.
7129         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
7130         used as a function pointer.
7131         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
7132
7133 2012-02-24  Bruno Haible  <bruno@clisp.org>
7134
7135         floorl: Provide function definition on MSVC.
7136         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
7137         used as a function pointer.
7138         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
7139
7140 2012-02-24  Bruno Haible  <bruno@clisp.org>
7141
7142         ceilf: Provide function definition on MSVC.
7143         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
7144         used as a function pointer.
7145         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
7146
7147 2012-02-24  Bruno Haible  <bruno@clisp.org>
7148
7149         floorf: Provide function definition on MSVC.
7150         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
7151         used as a function pointer.
7152         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
7153
7154 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7155
7156         stdnoreturn: new module
7157         This implements a replacement for C11's <stdnoreturn.h>.
7158         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
7159         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
7160         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
7161         * tests/test-stdnoreturn.c: New files.
7162
7163 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
7164
7165         regex: fix false multibyte matches in some regular expressions
7166         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
7167         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
7168         * lib/regex_internal.c (re_string_skip_chars):
7169         Fix miscomputation of remain_len that may cause incomplete
7170         multi-byte character and false match.
7171
7172 2012-02-24  Jim Meyering  <meyering@redhat.com>
7173
7174         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
7175         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
7176         uses with "==" *before* the call, e.g., 0 == strcmp (...)
7177         Remove now-unnecessary str''cmp obfuscation.
7178         Suggested by Akim Demaille.
7179
7180 2012-02-24  Bruno Haible  <bruno@clisp.org>
7181
7182         streq: Rename macro.
7183         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
7184         * NEWS: Mention the change.
7185         * lib/mbrtowc.c (mbrtowc): Update.
7186         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
7187         * lib/wcwidth.c (wcwidth): Update.
7188         Suggested by Akim Demaille and Jim Meyering.
7189
7190 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
7191
7192         regex: fix typo in definition of MIN
7193         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
7194         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
7195
7196 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7197             Bruno Haible  <bruno@clisp.org>
7198
7199         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
7200         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
7201         entries into a stack-allocated buffer directly.
7202         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
7203
7204 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7205             Bruno Haible  <bruno@clisp.org>
7206
7207         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
7208
7209          - There were several instances of this pattern:
7210
7211              for (;;) {
7212                n = acl (f, GETACLCNT, 0, NULL);
7213                [ allocate an array A of size N ]
7214                if (acl (f, GETACL, n, a) == n)
7215                  break;
7216              }
7217
7218            This loop might never terminate if some other process is constantly
7219            manipulating the file's ACL.  The loop should be rewritten to
7220            terminate.
7221
7222          - The acl (... GETACLNT ...) call is merely an optimization; its value
7223            is merely a hint as to how big to make the array.  A better
7224            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
7225            and just guess a reasonably-big size, growing the size and trying
7226            again if it's not large enough.  This guarantees termination, and
7227            saves a system call.
7228
7229         * lib/acl-internal.h: Include <limits.h>.
7230         (MIN, SIZE_MAX): New macros.
7231         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
7232         a stack-allocated buffer, and use malloc if it does not fit. Don't
7233         use GETACLCNT.
7234         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7235
7236 2012-02-19  Bruno Haible  <bruno@clisp.org>
7237
7238         acl: Fix endless loop on Solaris with vxfs.
7239         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
7240         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
7241         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7242         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
7243         * tests/test-sameacls.c (main)[Solaris]: Likewise.
7244         Reported by Bill Jones in
7245         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
7246
7247 2012-02-19  Bruno Haible  <bruno@clisp.org>
7248
7249         acl: Fix copy-acl test failure on Solaris 11 2011-11.
7250         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
7251         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
7252         that this function returns 0 in some more cases.
7253
7254 2012-02-19  Bruno Haible  <bruno@clisp.org>
7255
7256         acl: Update doc references.
7257         * doc/acl-resources.txt: Update links to Solaris documentation.
7258
7259 2012-02-19  Bruno Haible  <bruno@clisp.org>
7260
7261         Fix test failure in many locales on Solaris 11.
7262         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
7263         'tr' arguments.
7264         * tests/test-pipe-filter-ii1.c (main): Likewise.
7265         * build-aux/bootstrap (check_versions): Run 'tr' command with range
7266         expressions in the C locale.
7267         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7268         * m4/host-os.m4 (gl_HOST_OS): Likewise.
7269
7270 2012-02-19  Bruno Haible  <bruno@clisp.org>
7271
7272         gnulib-tool: Improve usage message.
7273         * gnulib-tool (func_usage): Move doc of --help and --version to the
7274         section "Operation modes".
7275
7276 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
7277
7278         README-release: make it easier to execute commands
7279         * top/README-release: break commands out on to separate lines.
7280
7281 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
7282
7283         GNUmakefile: simplify detection of unconfigured trees
7284         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
7285         whether the tree make is being run from is already configured or
7286         not.  Related simplifications.
7287
7288 2012-02-13  Simon Josefsson  <simon@josefsson.org>
7289
7290         * gnulib-tool (func_usage): Document --help and --version.
7291
7292 2012-02-11  Jim Meyering  <meyering@redhat.com>
7293
7294         bootstrap: don't exit 0 upon gnulib-tool failure
7295         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
7296         its exit status, not 0.
7297
7298 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
7299
7300         README-release: various improvements
7301         * top/README-release: Give a command to push changes for the
7302         release.  Add "distcheck" to list of other pre-release checks.
7303         Fix instance of "make stable" which should be "make TYPE".
7304
7305 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7306
7307         maint: replace FSF snail-mail addresses with URLs
7308         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
7309         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
7310         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
7311         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
7312         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
7313         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
7314         * lib/check-version.c, lib/check-version.h, lib/config.charset:
7315         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
7316         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
7317         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
7318         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
7319         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
7320         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
7321         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
7322         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
7323         * lib/glthread/thread.c, lib/glthread/thread.h:
7324         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
7325         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
7326         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
7327         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
7328         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
7329         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
7330         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
7331         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
7332         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
7333         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
7334         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
7335         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
7336         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
7337         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
7338         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
7339         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
7340         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
7341         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
7342         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
7343         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
7344         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
7345         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
7346         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
7347         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
7348         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
7349         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
7350         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
7351         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
7352         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
7353         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
7354         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
7355         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
7356         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
7357         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
7358         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
7359         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
7360         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
7361         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
7362         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
7363         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
7364         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
7365         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
7366         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
7367         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
7368         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
7369         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
7370         * tests/test-poll.c, tests/test-quotearg-simple.c:
7371         * tests/test-quotearg.c, tests/test-quotearg.h:
7372         * tests/test-round-ieee.c, tests/test-round1.c:
7373         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
7374         * tests/test-roundl-ieee.c, tests/test-roundl.c:
7375         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
7376         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
7377         * tests/test-strerror.c, tests/test-strerror_r.c:
7378         * tests/test-strsignal.c, tests/test-strverscmp.c:
7379         * tests/test-xmemdup0.c:
7380         Replace FSF snail mail addresses with URLs, as per GNU coding
7381         standards.  See glibc bug
7382         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
7383
7384 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
7385
7386         README-release: capitalize a word and split a line
7387         * top/README-release: Fix punctuation and spacing.
7388
7389 2012-02-08  Akim Demaille  <demaille@gostai.com>
7390
7391         fatal-signal: use C prototypes (with explicit void).
7392         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
7393         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
7394
7395 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7396
7397         regex: spelling fix
7398         * lib/regexec.c: spelling fix
7399
7400         regex: rely on stdint.h for SIZE_MAX
7401         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
7402
7403 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7404
7405         regex: merge glibc changes
7406
7407         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
7408         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
7409         (init_word_char): Work even if bitset words are not exactly 32 or
7410         64 bits wide.  Don't assume there are no padding bits.
7411         * lib/regex.c [_LIBC]: Do not include <config.h>.
7412         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
7413         and -Wtype-limits.
7414         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
7415         needless disagreement with glibc.  All uses changed.  Define it to
7416         1 only if _GNU_SOURCE, to match glibc.
7417         (_REG_RM_NAME): Remove; no longer needed, since the names in
7418         question are now all protected by __USE_GNU.
7419         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
7420         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
7421         * lib/regex_internal.h (MIN): New macro.
7422
7423         2012-01-03 Ulrich Drepper <drepper@gmail.com>
7424         * lib/regcomp.c (init_word_char): Optimize regex a bit.
7425
7426         2011-12-30 Jakub Jelinek <jakub@redhat.com>
7427         * lib/regex_internal.c (re_string_fetch_byte_case):
7428         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
7429         is miscompiled, and it turns out it is because of an incorrect
7430         attribute on re_string_fetch_byte_case.  Unlike
7431         re_string_peek_byte_case, this one is really not pure, it modifies
7432         memory (increments pstr->cur_idx), and with the pure attribute GCC
7433         assumed it doesn't and it cached the presumed value of
7434         regexp->cur_idx in a variable across the
7435          for (;; ++i)
7436            {
7437              if (i >= BRACKET_NAME_BUF_SIZE)
7438                return REG_EBRACK;
7439              if (token->type == OP_OPEN_CHAR_CLASS)
7440                ch = re_string_fetch_byte_case (regexp);
7441              else
7442                ch = re_string_fetch_byte (regexp);
7443              if (re_string_eoi(regexp))
7444                return REG_EBRACK;
7445              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
7446                break;
7447              elem->opr.name[i] = ch;
7448            }
7449
7450         2011-11-29 Andreas Schwab <schwab@redhat.com>
7451         * lib/regcomp.c (build_equiv_class):
7452         Fix access after end of search string in regex matcher.
7453
7454         2011-11-12 Ulrich Drepper <drepper@redhat.com>
7455         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
7456
7457         2011-10-12 Ulrich Drepper <drepper@redhat.com>
7458         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
7459
7460         2011-10-11 Ulrich Drepper <drepper@redhat.com>
7461         * lib/regcomp.c (parse_branch, parse_sub_exp):
7462         More regex memory leak fixes and tests.
7463         (parse_sub_exp, parse_bracket_exp):
7464         Fix memory leak for some invalid regular expressions.
7465
7466         2011-05-28 Ulrich Drepper <drepper@gmail.com>
7467         * lib/regex_internal.c, lib/regexec.c:
7468         Fix unnecessary overallocation due to incomplete character.  When
7469         incomplete characters are found at the end of a string the code
7470         ran amok and allocated lots of memory.  Stricter limits are now in
7471         place.
7472
7473         2011-05-20 Reuben Thomas <rrt@sc3d.org>
7474         * lib/regex.h: Update documentation.
7475
7476         2011-05-16 Aharon Robbins <arnold@skeeve.com>
7477         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
7478
7479         2010-05-05 Andreas Schwab <schwab@redhat.com>
7480         * lib/regexec.c (find_collation_sequence_value):
7481         Fix lookup of collation sequence value during regexp matching.
7482
7483         2010-01-22 Ulrich Drepper <drepper@redhat.com>
7484         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
7485
7486         2008-01-16 Ulrich Drepper <drepper@redhat.com>
7487         * lib/regex.h: Cleanup namespace.
7488
7489         2007-11-26 Ulrich Drepper <drepper@redhat.com>
7490         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
7491
7492         2007-08-26 Ulrich Drepper <drepper@redhat.com>
7493         * lib/regex_internal.h: Prevent some declarations and definitions
7494         to be seen when used in tests.
7495
7496         2005-05-06 Ulrich Drepper <drepper@redhat.com>
7497         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
7498         __libc_lock_* macros if not _LIBC.
7499         (struct re_dfa_t): Add lock.
7500
7501 2012-02-07  Eric Blake  <eblake@redhat.com>
7502
7503         maint.mk: also prohibit lower-case @var@
7504         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
7505         lower case, like @top_srcdir@.
7506
7507 2012-02-04  Eric Blake  <eblake@redhat.com>
7508
7509         canonicalize: avoid uninitialized memory use
7510         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
7511         random '/' left in dest.
7512         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
7513
7514 2012-02-04  Bruno Haible  <bruno@clisp.org>
7515
7516         isatty: Fix test failure of ptsname_r on native Windows.
7517         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
7518         and don't set errno.
7519         (isatty): Test first whether fd is valid. Set errno when returning 0.
7520
7521 2012-02-04  Bruno Haible  <bruno@clisp.org>
7522
7523         spawn-pipe tests: Fix a NULL program name in a diagnostic.
7524         * tests/test-spawn-pipe-main.c: Include progname.h.
7525         (main): Invoke set_program_name.
7526         * modules/spawn-pipe-tests (Depends-on): Add progname.
7527
7528         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
7529         * tests/test-nonblocking-socket-main.c: Include progname.h.
7530         (main): Invoke set_program_name.
7531         * modules/nonblocking-socket-tests (Depends-on): Add progname.
7532
7533         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
7534         * tests/test-nonblocking-pipe-main.c: Include progname.h.
7535         (main): Invoke set_program_name.
7536         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
7537
7538 2012-02-04  Eric Blake  <eblake@redhat.com>
7539
7540         canonicalize-lgpl: fix // handling
7541         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
7542
7543         canonicalize: fix // handling
7544         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
7545         /// to //, since only // is special.
7546
7547 2012-02-04  Bruno Haible  <bruno@clisp.org>
7548
7549         ioctl: Fix test failure on native Windows.
7550         * lib/ioctl.c: Include msvc-nothrow.h.
7551         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
7552
7553 2012-02-04  Bruno Haible  <bruno@clisp.org>
7554
7555         fsync: Avoid test failure on native Windows.
7556         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
7557         read-only.
7558
7559 2012-02-04  Bruno Haible  <bruno@clisp.org>
7560
7561         sys_select: Avoid syntax error on OpenBSD 5.0.
7562         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
7563         currently being included, just include the system's <sys/select.h>.
7564
7565 2012-02-04  Bruno Haible  <bruno@clisp.org>
7566
7567         sys_select: Avoid syntax error on OpenBSD 5.0.
7568         * lib/sys_select.in.h: Include <signal.h> only after the include_next
7569         <sys/select.h>, not before.
7570         Reported by Jiri B <jirib@devio.us>.
7571
7572 2012-02-04  Bruno Haible  <bruno@clisp.org>
7573
7574         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
7575         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
7576         global variables.
7577         * tests/test-get-rusage-data.c (main): Likewise.
7578         Reported by Jim Meyering.
7579
7580 2012-02-04  Bruno Haible  <bruno@clisp.org>
7581
7582         stdioext: Fix last commit.
7583         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
7584
7585 2012-02-03  Bruno Haible  <bruno@clisp.org>
7586
7587         stdioext: Add tentative support for Plan9.
7588         * lib/stdio-impl.h: Include <errno.h>.
7589         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
7590         * lib/freadable.c (freadable): Likewise.
7591         * lib/fwritable.c (fwritable): Likewise.
7592         * lib/fbufmode.c (fbufmode): Likewise.
7593         * lib/freading.c (freading): Likewise.
7594         * lib/fwriting.c (fwriting): Likewise.
7595         * lib/freadptr.c (freadptr): Likewise.
7596         * lib/freadseek.c (freadptrinc): Likewise.
7597         * lib/freadahead.c (freadahead): Likewise.
7598         * lib/fpurge.c (fpurge): Likewise.
7599         * lib/fseeko.c (rpl_fseeko): Likewise.
7600         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
7601         Reported by Jens Staal <staal1978@gmail.com>.
7602
7603 2012-02-02  Jim Meyering  <meyering@redhat.com>
7604
7605         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
7606         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
7607         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
7608         not even to try to add the attribute.  Instead, add a pragma to suppress
7609         the suggestion/warning.
7610
7611 2012-01-31  Karl Berry  <karl@gnu.org>
7612
7613         setstate doc: typo.
7614         * doc/posix-functions/setstate.texi (setstate): { not (.
7615
7616 2012-01-31  Bruno Haible  <bruno@clisp.org>
7617
7618         popen: Make more robust on Windows.
7619         * lib/popen.c: On native Windows, use the _popen based code even if
7620         HAVE_POPEN is set.
7621         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
7622         environment variable on native Windows.
7623
7624 2012-01-30  Bruno Haible  <bruno@clisp.org>
7625
7626         pclose: Fix typo.
7627         * lib/stdio.in.h (pclose): Fix typo in warning message.
7628
7629 2012-01-30  Bruno Haible  <bruno@clisp.org>
7630
7631         doc about getlogin_r, setstate.
7632         * doc/posix-functions/getlogin_r.texi: List the incompatible
7633         declaration problem under "not fixed by gnulib".
7634         * doc/posix-functions/setstate.texi: Mention incompatible declaration
7635         problem on Solaris 11 and other platforms.
7636
7637 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
7638             Bruno Haible  <bruno@clisp.org>
7639
7640         poll tests: Make test more robust.
7641         * tests/test-poll.c: Include macros.h.
7642         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
7643         return value of various I/O operations.
7644         * modules/poll-tests (Files): Add tests/macros.h.
7645
7646 2012-01-30  Bruno Haible  <bruno@clisp.org>
7647
7648         sys_stat: Fix support for mingw64 and MSVC.
7649         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
7650         header files already do it.
7651         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
7652         stat itself.
7653         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
7654
7655 2012-01-30  Bruno Haible  <bruno@clisp.org>
7656
7657         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
7658         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
7659         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
7660
7661 2012-01-29  Bruno Haible  <bruno@clisp.org>
7662
7663         quotearg: Fix test failure on MacOS X 10.5.
7664         * tests/test-quotearg-simple.c: Include localcharset.h.
7665         (main): If the locale encoding is not ASCII, bypass the tests of
7666         locale_quoting_style and clocale_quoting_style.
7667         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
7668
7669 2012-01-29  Jim Meyering  <meyering@redhat.com>
7670
7671         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
7672         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
7673         detect uses of canonicalize_file_name.
7674
7675 2012-01-28  Bruno Haible  <bruno@clisp.org>
7676
7677         test-framework-sh: Fix test failure with AIX 7.1 diff.
7678         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
7679         in column 1, like 'diff -c' does.
7680         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
7681         whether 'diff -u' is used. Instead, test whether the output contains
7682         some '@' character.
7683
7684 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
7685
7686         strtoimax: eliminate need for stdint.h, inttypes.h checks
7687         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
7688         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
7689         the prerequisites for a recently-introduced strtoimax test.
7690         I guess this might cause strtoimax to be replaced when not
7691         strictly necessary on older hosts, but this shouldn't introduce
7692         any bugs and it should make Emacs 'configure' faster on typical
7693         modern hosts.  Problem discovered when importing the latest gnulib
7694         to an Emacs test version.
7695         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
7696
7697 2012-01-28  Bruno Haible  <bruno@clisp.org>
7698
7699         sys_time: Override 'struct timeval' on some native Windows platforms.
7700         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
7701         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
7702         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
7703         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
7704         needs to be overridden.
7705         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
7706         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
7707         * tests/test-sys_select.c: Check that the tv_sec member has the same
7708         size as a 'time_t'.
7709         * tests/test-sys_time.c: Likewise.
7710         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
7711         is set, set also REPLACE_GETTIMEOFDAY.
7712         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
7713         convert the resulting 'struct timeval' before returning.
7714         * lib/select.c: Include <sys/time.h>.
7715         (select, timeval): Undefine at the right place.
7716         * modules/select (Depends-on): Add sys_time.
7717         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
7718         some Windows platforms.
7719         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
7720
7721 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
7722
7723         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
7724         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
7725         an integer.
7726         * lib/fcntl.c (dupfd): Likewise.
7727         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
7728
7729 2012-01-28  Bruno Haible  <bruno@clisp.org>
7730
7731         fcntl: Avoid compilation error on native Windows.
7732         * modules/fcntl (Depends-on): Add 'close'.
7733
7734 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
7735
7736         select, poll, isatty: Avoid warnings on x86_64 mingw64.
7737         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
7738         pointer to an integer.
7739         * lib/poll.c (IsConsoleHandle): Likewise.
7740         * lib/isatty.c (IsConsoleHandle): Likewise.
7741
7742 2012-01-28  Jim Meyering  <meyering@redhat.com>
7743
7744         doc: clarify README-release
7745         * top/README-release: Clarify: you should make a point to have
7746         the latest stable versions of build tools in your PATH, and the
7747         reference to buildreq is solely for its list of tool names, not
7748         for its minimal-functional version numbers.
7749         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
7750
7751         maint.mk: use more readable (yet functionally equivalent) quoting
7752         It is common to quote a single quote in a single quoted string like
7753         this:  '...'\''...'.  Unless you know the idiom, that looks like
7754         gibberish, so prefer to double-quote the string when possible.
7755         Then you can use a more readable, lone single quote: "...'..."
7756         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
7757         "don't" is more readable than the equivalent 'don'\''t'.
7758         (sc_cast_of_x_alloc_return_value): Likewise.
7759         (sc_cast_of_alloca_return_value): Likewise.
7760         (sc_makefile_path_separator_check): Similar: use ":" in '...',
7761         rather than '\'':'\''.
7762
7763 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
7764
7765         stdalign: relax _Alignof and tighten _Alignas test
7766         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
7767         as it was too strict: alignof must divide offsetof, but it need
7768         not equal offsetof.  Inspired by Joseph S. Myers's comment
7769         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
7770         Conversely, tighten the _Alignas test a bit, as the resulting
7771         alignment must be exactly 8.
7772
7773 2012-01-27  Bruno Haible  <bruno@clisp.org>
7774
7775         stdalign: Document the last change.
7776         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
7777
7778 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
7779
7780         stdalign: check that alignof and offsetof are consistent
7781         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
7782         Problem reported for gnulib by Richard W.M. Jones in
7783         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
7784
7785 2012-01-27  Jim Meyering  <meyering@redhat.com>
7786
7787         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
7788         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
7789         convert a sequence with gaps to the minimal containing range.
7790         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
7791         * tests/test-update-copyright.sh: Test for this.
7792         The FSF confirmed it is ok to do this, assuming there is at
7793         least one significant change per year in the affected range:
7794         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
7795
7796 2012-01-26  Bruno Haible  <bruno@clisp.org>
7797
7798         pipe2: refine doc about thread-safety
7799         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
7800         multithread-safety problem.
7801         * doc/glibc-functions/accept4.texi: Likewise.
7802
7803 2012-01-26  Bruno Haible  <bruno@clisp.org>
7804
7805         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
7806         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
7807         In the test program, include <fcntl.h>, for O_RDONLY.
7808
7809 2012-01-26  Eric Blake  <eblake@redhat.com>
7810
7811         pipe2: document lack of thread-safety in replacement
7812         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
7813         issue in replacement.
7814         * doc/glibc-functions/accept4.texi (accept4): Likewise.
7815         Based on a report by Eric Wong.
7816
7817 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
7818             Bruno Haible  <bruno@clisp.org>
7819
7820         malloca: Avoid warnings on x86_64 mingw64.
7821         * lib/malloca.c: Include <stdint.h>.
7822         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
7823         * modules/malloca (Depends-on): Add stdint.
7824         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
7825
7826 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
7827
7828         obstack: remove __STDC__ conditionals
7829         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
7830         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
7831         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
7832         m4/include_next.m4 as the only gnulib-maintained places that still
7833         refer to __STDC__.
7834
7835 2012-01-24  Bruno Haible  <bruno@clisp.org>
7836
7837         havelib: Modern quoting.
7838         * build-aux/config.rpath: Quote 'like this', not `like this', as per
7839         the recent change to the GNU coding standards.
7840
7841 2012-01-24  Bruno Haible  <bruno@clisp.org>
7842
7843         stdint: Improve support for Android.
7844         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
7845         Reported by Simon Josefsson <simon@josefsson.org>.
7846
7847 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7848
7849         doc: omit trailing empty lines from INSTALL etc.
7850         * doc/Makefile (INSTALL): Omit trailing empty lines.
7851         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
7852         omit trailing empty lines.  This simplifies the build procedure.
7853
7854 2012-01-23  Jim Meyering  <meyering@redhat.com>
7855
7856         tests: avoid spurious warnings about gl_sockets_startup
7857         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
7858         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
7859         reporting a "statement with no effect".
7860         * tests/test-accept.c (main): Mark as "(void)".
7861         * tests/test-accept4.c (main): Likewise.
7862         * tests/test-bind.c (main): Likewise.
7863         * tests/test-connect.c (main): Likewise.
7864         * tests/test-getpeername.c (main): Likewise.
7865         * tests/test-getsockname.c (main): Likewise.
7866         * tests/test-getsockopt.c (main): Likewise.
7867         * tests/test-listen.c (main): Likewise.
7868         * tests/test-recv.c (main): Likewise.
7869         * tests/test-recvfrom.c (main): Likewise.
7870         * tests/test-send.c (main): Likewise.
7871         * tests/test-sendto.c (main): Likewise.
7872         * tests/test-setsockopt.c (main): Likewise.
7873         * tests/test-shutdown.c (main): Likewise.
7874
7875 2012-01-21  Bruno Haible  <bruno@clisp.org>
7876
7877         locale-fr.m4: Fix for Android.
7878         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
7879         failure of the test program on Bionic libc.
7880
7881 2012-01-21  Jim Meyering  <meyering@redhat.com>
7882
7883         bootstrap: fail when bootstrap_post_import_hook fails
7884         Otherwise, it's far too easy to miss diagnostics emitted
7885         between gnulib-tool's output and that of running configure.
7886         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
7887
7888 2012-01-17  Jim Meyering  <meyering@redhat.com>
7889
7890         maint: enable sc_trailing_blank
7891         * build-aux/pmccabe.css: Remove trailing blanks.
7892         * doc/acl-cygwin.txt: Likewise.
7893         * doc/gnu-oids.texi: Likewise
7894         * cfg.mk: Enable sc_trailing_blank.
7895         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
7896
7897 2012-01-17  Jim Meyering  <meyering@redhat.com>
7898
7899         maint: enable sc_prohibit_openat_without_use
7900         * cfg.mk: Enable sc_prohibit_openat_without_use.
7901         Exempt lib/selinux-at.c.
7902
7903 2012-01-17  Jim Meyering  <meyering@redhat.com>
7904
7905         maint: enable sc_prohibit_cloexec_without_use
7906         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
7907         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
7908
7909 2012-01-17  Jim Meyering  <meyering@redhat.com>
7910
7911         maint: enable sc_prohibit_intprops_without_use
7912         * cfg.mk: Enable sc_prohibit_intprops_without_use
7913         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
7914
7915 2012-01-17  Jim Meyering  <meyering@redhat.com>
7916
7917         maint: enable sc_prohibit_hash_pjw_without_use
7918         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
7919         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
7920         to match any use of \<hash_pjw\>, i.e., not necessarily with a
7921         following " (".
7922
7923 2012-01-17  Jim Meyering  <meyering@redhat.com>
7924
7925         maint: enable double-word-prohibiting rule
7926         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
7927         Exempt three files.
7928
7929 2012-01-17  Jim Meyering  <meyering@redhat.com>
7930
7931         maint: remove empty lines at EOF, but excluding modules/*
7932         Apply syntax rules at home as well as abroad.  Most changes
7933         were induced by running this:
7934           make srcdir=. _build-aux=build-aux -f top/maint.mk \
7935             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
7936             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
7937         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
7938         Exempt modules/* and two binary files.
7939         Also exempt doc/INSTALL*, per request from Bruno Haible.
7940         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
7941         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
7942         * doc/Copyright/request-assign.future: Likewise.
7943         * doc/Copyright/request-disclaim.changes: Likewise.
7944         * doc/INSTALL: Likewise.
7945         * doc/INSTALL.ISO: Likewise.
7946         * doc/INSTALL.UTF-8: Likewise.
7947         * doc/acl-cygwin.txt: Likewise.
7948         * doc/acl-resources.txt: Likewise.
7949         * doc/fdl-1.2.texi: Likewise.
7950         * doc/fdl-1.3.texi: Likewise.
7951         * doc/fdl.texi: Likewise.
7952         * lib/argp-pin.c: Likewise.
7953         * lib/round.c: Likewise.
7954         * lib/unicase/u16-totitle.c: Likewise.
7955         * lib/unictype/block_test.c: Likewise.
7956         * lib/uninorm/canonical-decomposition.c: Likewise.
7957         * m4/README: Likewise.
7958         * m4/relocatable-lib.m4: Likewise.
7959         * tests/test-isnand-nolibm.c: Likewise.
7960         * tests/test-isnand.c: Likewise.
7961         * tests/uninorm/NormalizationTest.txt: Likewise.
7962
7963 2012-01-17  Jim Meyering  <meyering@redhat.com>
7964
7965         maint: add framework to run syntax-check rules against gnulib sources
7966         * cfg.mk: New file, to disable all currently-failing tests.
7967         We'll enable them one by one, as they are made to pass.
7968         * Makefile (sc_maint): New rule.
7969
7970 2012-01-21  Bruno Haible  <bruno@clisp.org>
7971
7972         stdint: Add support for Android.
7973         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
7974         include the system's <stdint.h>.
7975         Reported by Simon Josefsson <simon@josefsson.org>.
7976
7977 2012-01-19  Jim Meyering  <meyering@redhat.com>
7978
7979         bootstrap: add bootstrap_post_import_hook
7980         Bison does still need something like the gnulib_mk_hook whose
7981         invocation I had to remove along with slurp in commit 767ccd40.
7982         Technically, we could get along without it, but doing so would
7983         have required living with a warning and a mandatory post-bootstrap
7984         automake rerun.
7985         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
7986         (bootstrap_post_import_hook): New function.
7987         Invoke it after gnulib-tool --import and before autoreconf.
7988
7989 2012-01-18  Jim Meyering  <meyering@redhat.com>
7990
7991         gitlog-to-changelog: don't use "no_"-prefixed variable name
7992         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
7993         to enable both --cluster and --no-cluster.  Change variable name,
7994         s/\$no_cluster/$cluster/, and reverse usage to match.
7995
7996         gitlog-to-changelog: use "||", not "or" in expressions
7997         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
7998         expressions.
7999
8000 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
8001
8002         gitlog-to-changelog: new option --no-cluster
8003         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
8004         clustering of adjacent commit messages.
8005
8006 2012-01-17  Jim Meyering  <meyering@redhat.com>
8007
8008         maint: spell file systems with two words, not one
8009         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
8010         two words, not one.
8011
8012 2012-01-16  Jim Meyering  <meyering@redhat.com>
8013
8014         bootstrap: add a FIXME comment to ensure we eventually remove the hack
8015         * build-aux/bootstrap (gnulib_tool_options): Add comment.
8016
8017 2012-01-16  Eric Blake  <eblake@redhat.com>
8018
8019         bootstrap: cater to autoconf 2.59
8020         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
8021         is not available.
8022
8023         bootstrap: properly check for libtool
8024         * build-aux/bootstrap (libtoolize): Also run libtool when older
8025         usage is detected.
8026
8027 2012-01-15  Bruno Haible  <bruno@clisp.org>
8028
8029         Improve support for MSVC 9.
8030         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
8031         clashes on MSVC.
8032         * lib/fcntl.in.h: Likewise.
8033         * lib/stdlib.in.h: Likewise.
8034         * lib/sys_stat.in.h: Likewise.
8035
8036 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8037
8038         gnupload: we hold the master copy of this script now
8039         For motivation and more information, see:
8040         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
8041         * build-aux/gnupload: Make it clear in the heading comments that the
8042         master copy of this file is maintained by gnulib.  Since we are at
8043         it, bump its copyright year and ...
8044         ($scriptversion): ... the date in its version.
8045         ($usage): Patches and bug reports should be sent to the gnulib list,
8046         not the automake one.
8047         * config/srclist.txt: Don't try to sync 'gnupload' from automake
8048         anymore.
8049
8050 2012-01-15  Bruno Haible  <bruno@clisp.org>
8051
8052         Fix module 'random'.
8053         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
8054         initstate, setstate are declared.
8055
8056 2012-01-14  Bruno Haible  <bruno@clisp.org>
8057
8058         Tests for module 'random'.
8059         * modules/random-tests: New file.
8060         * tests/test-random.c: New file, based on tests/test-random_r.c.
8061
8062         New module 'random'.
8063         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
8064         declarations.
8065         * lib/random.c: New file, based on glibc/stdlib/random.c.
8066         * m4/random.m4: New file.
8067         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
8068         HAVE_RANDOM.
8069         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
8070         * modules/random: New file.
8071         * config/srclist.txt: Add an entry for random.c.
8072         * doc/posix-functions/random.texi: Mention the 'random' module.
8073         * doc/posix-functions/initstate.texi: Likewise.
8074         * doc/posix-functions/setstate.texi: Likewise.
8075         * doc/posix-functions/srandom.texi: Likewise.
8076
8077 2012-01-12  Bruno Haible  <bruno@clisp.org>
8078
8079         random_r: Use common idioms.
8080         * lib/random_r.c: Include <stdlib.h> first.
8081
8082         random_r: Override incompatible API on AIX, OSF/1.
8083         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
8084         Override the system function if REPLACE_RANDOM_R is 1.
8085         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
8086         and OSF/1, set REPLACE_RANDOM_R.
8087         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
8088         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
8089         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
8090         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
8091         * doc/glibc-functions/random_r.texi: Likewise.
8092         * doc/glibc-functions/setstate_r.texi: Likewise.
8093
8094         random_r: Support for MSVC 9.
8095         * lib/random_r.c: Include stdint.h, not inttypes.h.
8096
8097 2012-01-12  Eric Blake  <eblake@redhat.com>
8098
8099         inet_ntop: guard extra work by IF_LINT
8100         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
8101         better code generation when not checking for warnings.
8102         Suggested by Paul Eggert and Jim Meyering.
8103
8104         strptime: fix regression on mingw
8105         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
8106         Fix regression.  Reported by Bruno Haible.
8107
8108 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
8109             Bruno Haible  <bruno@clisp.org>
8110
8111         copy-file: add error-code-returning variant.
8112         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
8113         (qcopy_file_preserving): New declaration.
8114         * lib/copy-file.c (qcopy_file_preserving): Renamed from
8115         copy_file_preserving. Change return type to 'int'. Don't emit an error
8116         message here.
8117         (copy_file_preserving): New function.
8118         * tests/test-copy-file.c: Include <stdlib.h>.
8119         (main): Test qcopy_file_preserving if the environment variable
8120         NO_STDERR_OUTPUT is set.
8121         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
8122         with NO_STDERR_OUTPUT
8123         * tests/test-copy-file-2.sh: Likewise.
8124
8125 2012-01-10  Bruno Haible  <bruno@clisp.org>
8126
8127         copy-file: Use 'quote' module consistently.
8128         * lib/copy-file.c (copy_file_preserving): Use quote().
8129
8130         copy-file: Refactor.
8131         * lib/copy-file.c: Include quote.h.
8132         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
8133         message here.
8134         * modules/copy-file (Depends-on): Add quote.
8135
8136         acl: Export qcopy_acl.
8137         * lib/acl.h (qcopy_acl): New declaration.
8138         * lib/copy-acl.c (qcopy_acl): Make non-static.
8139
8140         acl: Rename a local variable.
8141         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
8142
8143         acl: Align return values of copy_acl and qcopy_acl.
8144         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
8145         maybe < -1.
8146
8147 2012-01-11  Eric Blake  <eblake@redhat.com>
8148
8149         strptime: silence gcc warnings
8150         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
8151         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
8152         Reported by Daniel P. Berrange.
8153
8154         inet_ntop: silence gcc warning
8155         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
8156         Reported by Daniel P. Berrange.
8157
8158 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
8159
8160         getloadavg test: skip the test on GNU/Linux without /proc mounted
8161         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
8162         file.  When /proc is not mounted, it always fails with ENOENT.
8163         * tests/test-getloadavg.c (main): Treat ENOENT return code from
8164         getloadavg(3) the same way as ENOSYS and ENOTSUP.
8165
8166 2012-01-10  Bruno Haible  <bruno@clisp.org>
8167
8168         regex: Avoid link error on MSVC 9.
8169         * modules/regex (Depends-on): Add wctype.
8170
8171 2012-01-10  Bruno Haible  <bruno@clisp.org>
8172
8173         doc: Mention --with-tests option.
8174         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
8175         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
8176         --with-tests.
8177         Reported by Reuben Thomas.
8178
8179 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
8180
8181         users.txt: order package names lexicographically.
8182         * users.txt: Order package names lexicographically.
8183
8184 2012-01-10  Jim Meyering  <meyering@redhat.com>
8185
8186         maint.mk: fix description in comment
8187         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
8188
8189         ignore-value: remove deprecated ignore_ptr function
8190         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
8191         * NEWS: Note this.
8192
8193 2012-01-09  Jim Meyering  <meyering@redhat.com>
8194
8195         test-init.sh: avoid a subshell
8196         * tests/test-init.sh: Remove protective subshell.
8197         Suggested by Bernhard Voelker.  While a subshell is normally
8198         required to protect against older shells (Solaris, FreeBSD) that
8199         warn about a missing program before performing redirection, the
8200         shell-selection tests performed by init.sh probably exclude any
8201         offending shell.
8202
8203 2012-01-08  Bruno Haible  <bruno@clisp.org>
8204
8205         setlocale tests: Avoid test failure on Solaris 11 2011-11.
8206         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
8207         variable.
8208
8209 2012-01-08  Bruno Haible  <bruno@clisp.org>
8210
8211         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
8212         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8213         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8214         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
8215         macro.
8216         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
8217         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8218         * lib/spawn_faction_addopen.c: Add workaround implementation if
8219         HAVE_WORKING_POSIX_SPAWN.
8220         * modules/spawn (Makefile): Substitute
8221         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8222         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
8223         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
8224         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8225         (Depends-on): Update conditions.
8226         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
8227         the Solaris 11 bug.
8228
8229 2012-01-08  Bruno Haible  <bruno@clisp.org>
8230
8231         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
8232         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8233         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8234         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
8235         macro.
8236         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
8237         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8238         * lib/spawn_faction_adddup2.c: Add workaround implementation if
8239         HAVE_WORKING_POSIX_SPAWN.
8240         * modules/spawn (Makefile): Substitute
8241         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8242         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
8243         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
8244         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8245         (Depends-on): Update conditions.
8246         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
8247         the Solaris 11 bug.
8248
8249 2012-01-08  Bruno Haible  <bruno@clisp.org>
8250
8251         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
8252         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8253         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8254         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
8255         HAVE_WORKING_POSIX_SPAWN.
8256         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
8257         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
8258         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8259         * lib/spawn_faction_addclose.c: Add workaround implementation if
8260         HAVE_WORKING_POSIX_SPAWN.
8261         * modules/spawn (Makefile): Substitute
8262         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8263         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
8264         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
8265         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8266         (Depends-on): Update conditions.
8267         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
8268         the Solaris 11 bug.
8269
8270 2012-01-08  Bruno Haible  <bruno@clisp.org>
8271
8272         doc: Update for Solaris 11 2011-11.
8273         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
8274         * m4/printf.m4: Update comments.
8275
8276 2012-01-08  Bruno Haible  <bruno@clisp.org>
8277
8278         mktime: Avoid compilation error on Solaris 11.
8279         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
8280
8281 2012-01-08  Bruno Haible  <bruno@clisp.org>
8282
8283         doc: Small fix.
8284         * doc/posix-headers/nl_types.texi: Correct platforms list.
8285
8286 2012-01-08  Simon Josefsson  <simon@josefsson.org>
8287
8288         Add lgpl-3.0 module.
8289         * MODULES.html.sh (Support for building documentation): Add
8290         lgpl-3.0.
8291         * modules/lgpl-3.0: New file.
8292
8293 2012-01-08  Jim Meyering  <meyering@redhat.com>
8294
8295         select.c: indent with spaces, not TABs
8296         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
8297
8298 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8299
8300         quotearg: do not use grave accent for left quote
8301         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
8302         locale_quoting_style.
8303         (quotearg_buffer_restyled): Fix example.
8304         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
8305
8306 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8307
8308         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
8309         Most programs do not have translation catalogs for English and much
8310         less separate catalogs for British and American English.  Drop the
8311         suggestion to translators about these two, and provide it
8312         automatically for Unicode locales.  Like most programs, even those
8313         using American English, we use single quotation marks.  This conflicts
8314         with the American typographic convention, but works better when you
8315         cite the entire error message within double quotes.  It also tries not
8316         to clash with established practice and with what non-gnulib programs
8317         will usually do.
8318         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
8319         using an UTF-8 or GB-18030 locale.  The list of other locales with
8320         quotes was provided by Bruno Haible.
8321         (quotearg_buffer_restyled): Adjust instructions to translators.
8322         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
8323         text, since this would be wrong when using Unicode.
8324         * modules/quotearg: Depend on c-strcaseeq.
8325
8326 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8327
8328         quotearg: fix Wikipedia link
8329         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
8330
8331 2012-01-07  Simon Josefsson  <simon@josefsson.org>
8332
8333         Fix for mingw with MSVC9.
8334         * m4/ld-version-script.m4: Check that compiler rejects version
8335         scripts with syntax errors.  Reported by Bruno Haible
8336         <bruno@clisp.org>.
8337
8338 2012-01-06  Bruno Haible  <bruno@clisp.org>
8339
8340         Talk about "native Windows API", not "Woe32".
8341         * lib/accept4.c: Update comments to mention native Windows.
8342         * lib/execute.c: Likewise.
8343         * lib/fatal-signal.c: Likewise.
8344         * lib/localcharset.c: Likewise.
8345         * lib/nanosleep.c: Likewise.
8346         * lib/nl_langinfo.c: Likewise.
8347         * lib/pclose.c: Likewise.
8348         * lib/pipe-filter-gi.c: Likewise.
8349         * lib/pipe-filter-ii.c: Likewise.
8350         * lib/pipe.c: Likewise.
8351         * lib/pipe2.c: Likewise.
8352         * lib/popen.c: Likewise.
8353         * lib/progreloc.c: Likewise.
8354         * lib/relocatable.c: Likewise.
8355         * lib/sigaction.c: Likewise.
8356         * lib/sigprocmask.c: Likewise.
8357         * lib/spawn-pipe.h: Likewise.
8358         * lib/spawn-pipe.c: Likewise.
8359         * lib/spawni.c: Likewise.
8360         * lib/stat-time.h: Likewise.
8361         * lib/w32spawn.h: Likewise.
8362         * tests/test-isatty.c: Likewise.
8363         * lib/config.charset: More comments.
8364         * doc/gnulib-intro.texi: Mention native Windows.
8365         * doc/posix-functions/_Exit_C99.texi: Likewise.
8366         * doc/posix-headers/fcntl.texi: Likewise.
8367
8368 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
8369
8370         argp: Avoid crash if translator uses % characters in a translation.
8371         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
8372         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
8373
8374 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8375
8376         doc: C11 and C++11 are now official
8377         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
8378         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
8379         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
8380         * modules/stdalign:
8381         Replace references to draft C1X to C11, and to draft C++0X to C++11.
8382
8383 2012-01-06  Bruno Haible  <bruno@clisp.org>
8384
8385         uc-is-grapheme-break tests: Tweak.
8386         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
8387         message.
8388
8389 2012-01-06  Bruno Haible  <bruno@clisp.org>
8390
8391         test-init.sh: correct the test for diff -u
8392         * tests/test-init.sh: Also redirect stdout to /dev/null.
8393
8394 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
8395
8396         Use ', not `, for quoting output.
8397         * build-aux/announce-gen (usage, sizes, print_news_deltas)
8398         (print_changelog_deltas, get_tool_versions, main program):
8399         * build-aux/git-version-gen:
8400         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
8401         * build-aux/move-if-change (help):
8402         * build-aux/useless-if-before-free (usage, main program):
8403         * check-module (parse_module_file, usage)
8404         (find_included_lib_files, check_module):
8405         * lib/argmatch.c (main) [TEST]:
8406         * lib/argp-help.c (_help):
8407         * lib/getopt1.c (main) [TEST]:
8408         * lib/git-merge-changelog.c (usage):
8409         * lib/xstrtol-error.c (xstrtol_error):
8410         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
8411         * m4/argz.m4 (gl_FUNC_ARGZ):
8412         * m4/bison.m4 (gl_BISON):
8413         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
8414         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
8415         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8416         * m4/fpending.m4 (gl_PREREQ_FPENDING):
8417         * m4/gc-random.m4 (gl_GC_RANDOM):
8418         * m4/intl.m4 (gt_CHECK_DECL):
8419         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
8420         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
8421         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
8422         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
8423         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
8424         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
8425         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
8426         * tests/test-dirname.c (main):
8427         * tests/test-getpass.c (main):
8428         * tests/test-iconvme.c (main):
8429         * tests/test-parse-datetime.c (LOG):
8430         * tests/test-xstrtoimax.sh:
8431         * tests/test-xstrtol.sh:
8432         * tests/test-xstrtoll.sh:
8433         * tests/test-xstrtoumax.sh:
8434         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
8435         * top/GNUmakefile (abort-due-to-no-makefile):
8436         Quote 'like this', not `like this', as per the recent change to
8437         the GNU coding standards.
8438
8439 2012-01-05  Bruno Haible  <bruno@clisp.org>
8440
8441         strtoimax: Don't force a replacement on systems where intmax_t is int.
8442         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
8443         'intmax_t' is not larger than 'int'.
8444         Reported by Pádraig Brady <P@draigBrady.com>.
8445
8446 2012-01-05  Bruno Haible  <bruno@clisp.org>
8447
8448         doc: Mention NetBSD bugs.
8449         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
8450         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
8451
8452 2012-01-05  Bruno Haible  <bruno@clisp.org>
8453
8454         strtoumax tests: Enhance tests.
8455         * tests/test-strtoumax.c (main): Add tests for large values.
8456
8457 2012-01-05  Bruno Haible  <bruno@clisp.org>
8458
8459         strtoimax: Work around AIX 5.1 bug.
8460         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
8461         definition.
8462         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
8463         Set HAVE_STRTOIMAX.
8464         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
8465         REPLACE_STRTOIMAX.
8466         * modules/inttypes-incomplete (Makefile.am): Substitute
8467         REPLACE_STRTOIMAX.
8468         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
8469         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
8470         (Depends-on): Update conditions.
8471         * tests/test-strtoimax.c (main): Add tests for large values.
8472         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
8473
8474 2012-01-05  Bruno Haible  <bruno@clisp.org>
8475
8476         inttypes: Modernize.
8477         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
8478         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
8479         (Makefile.am): Update inttypes.h rule.
8480
8481 2012-01-05  Jim Meyering  <meyering@redhat.com>
8482
8483         init.sh: don't waste a subshell just to redirect stderr
8484         * tests/init.sh: In testing for diff -u and diff -c, use a
8485         stderr-redirecting exec inside `...` rather than a subshell.
8486
8487         test-init.sh: avoid failure on HP-UX 11.00
8488         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
8489         resolves to diff -c or cmp.  Reported by Bruno Haible.
8490
8491 2012-01-05  Bruno Haible  <bruno@clisp.org>
8492
8493         Tests for module 'strtoull'.
8494         * modules/strtoull-tests: New file.
8495         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
8496
8497 2012-01-05  Bruno Haible  <bruno@clisp.org>
8498
8499         Tests for module 'strtoll'.
8500         * modules/strtoll-tests: New file.
8501         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
8502
8503 2012-01-05  Bruno Haible  <bruno@clisp.org>
8504
8505         Tests for module 'strtoul'.
8506         * modules/strtoul-tests: New file.
8507         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
8508
8509 2012-01-05  Bruno Haible  <bruno@clisp.org>
8510
8511         Tests for module 'strtol'.
8512         * modules/strtol-tests: New file.
8513         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
8514
8515 2012-01-04  Jim Meyering  <meyering@redhat.com>
8516
8517         test-init.sh: accommodate Solaris 5.10's different diff -u output
8518         * tests/test-init.sh: Also exempt @@ lines from the comparison
8519         of diff output, since Solaris 5.10 and GNU diff formats differ.
8520         Reported by Stefano Lattarini.
8521
8522 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
8523
8524         test-posixtm: don't assume signed integer wraparound
8525         * tests/test-posixtm.c (main): Don't assume wraparound semantics
8526         after signed integer overflow.  Inspired by (though it may not
8527         fix) Bruno Haible's bug report in
8528         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
8529
8530         Spell out "Windows 9x" and "Windows XP".
8531         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
8532         "Windows 9x" and "WinXP" with "Windows XP".
8533
8534 2012-01-04  Jim Meyering  <meyering@redhat.com>
8535
8536         test-vc-list-files-cvs.sh: remove obsolete comment
8537         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
8538         double exit.  Now that's all encapsulated via skip_ and Exit.
8539
8540 2012-01-04  Bruno Haible  <bruno@clisp.org>
8541
8542         Talk about "native Windows API", not "Win32".
8543         * lib/classpath.c: Update comments to mention native Windows.
8544         * lib/csharpexec.c: Likewise.
8545         * lib/dup2.c: Likewise.
8546         * lib/error.c: Likewise.
8547         * lib/fcntl.c: Likewise.
8548         * lib/filename.h: Likewise.
8549         * lib/findprog.c: Likewise.
8550         * lib/get-rusage-as.c: Likewise.
8551         * lib/get-rusage-data.c: Likewise.
8552         * lib/getpagesize.c: Likewise.
8553         * lib/javaexec.c: Likewise.
8554         * lib/msvc-inval.c: Likewise.
8555         * lib/msvc-nothrow.c: Likewise.
8556         * lib/nanosleep.c: Likewise.
8557         * lib/nonblocking.c: Likewise.
8558         * lib/printf-parse.c: Likewise.
8559         * lib/setlocale.c: Likewise.
8560         * lib/sigaction.c: Likewise.
8561         * lib/strerror_r.c: Likewise.
8562         * lib/tmpdir.c: Likewise.
8563         * lib/vasnprintf.c: Likewise.
8564         * lib/w32spawn.h: Likewise.
8565         * lib/waitpid.c: Likewise.
8566         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
8567         * m4/locale-ar.m4: Likewise.
8568         * m4/locale-fr.m4: Likewise.
8569         * m4/locale-ja.m4: Likewise.
8570         * m4/locale-tr.m4: Likewise.
8571         * m4/locale-zh.m4: Likewise.
8572         * m4/printf.m4: Likewise.
8573         * tests/test-cloexec.c: Likewise.
8574         * tests/test-copy-acl.sh: Likewise.
8575         * tests/test-copy-file.sh: Likewise.
8576         * tests/test-file-has-acl.sh: Likewise.
8577         * tests/test-set-mode-acl.sh: Likewise.
8578         * tests/test-dup-safer.c: Likewise.
8579         * tests/test-dup2.c: Likewise.
8580         * tests/test-dup3.c: Likewise.
8581         * tests/test-fcntl.c: Likewise.
8582         * tests/test-nonblocking-pipe.h: Likewise.
8583         * tests/test-nonblocking-socket.h: Likewise.
8584         * tests/test-pipe.c: Likewise.
8585         * tests/test-pipe2.c: Likewise.
8586         * tests/test-spawn-pipe-child.c: Likewise.
8587         * doc/acl-resources.txt: Likewise.
8588         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
8589         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
8590         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
8591         * lib/localcharset.c: Update comments to mention native Windows.
8592         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
8593         * lib/localename.c: Likewise.
8594         * lib/progreloc.c: Likewise.
8595         * lib/relocatable.c: Likewise.
8596         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
8597         (windows_compute_revents): Renamed from win32_compute_revents.
8598         (windows_compute_revents_socket): Renamed from
8599         win32_compute_revents_socket.
8600         * lib/select.c: Update comments to mention native Windows.
8601         (windows_poll_handle): Renamed from win32_poll_handle.
8602         * m4/threadlib.m4: Update comments to mention native Windows.
8603         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
8604         --enable-threads=windows instead of --enable-threads=win32. Set
8605         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
8606         * lib/glthread/lock.h: Update comments to mention native Windows.
8607         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
8608         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
8609         USE_WIN32_THREADS.
8610         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
8611         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
8612         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
8613         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
8614         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
8615         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
8616         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
8617         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
8618         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
8619         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
8620         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
8621         * tests/test-tls.c: Likewise.
8622         Rationale:
8623         Microsoft renamed the "Win32 API" to "Windows API", as it is available
8624         on both 32-bit and 64-bit Windows systems.
8625         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
8626         line of distinction is between "native Windows" on one side and Unix/
8627         POSIX systems on the other side. More details in
8628         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
8629         Suggested by Paul Eggert.
8630
8631 2012-01-03  Bruno Haible  <bruno@clisp.org>
8632
8633         isatty: Support for MSVC 9.
8634         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
8635         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
8636         (_isatty_nothrow): New function.
8637         (isatty): Use it instead of _isatty.
8638         (IsConsoleHandle): Add comment, from Paolo Bonzini.
8639         * lib/poll.c (IsConsoleHandle): Likewise.
8640         * lib/select.c (IsConsoleHandle): Likewise.
8641         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
8642         (gl_PREREQ_ISATTY): New macro.
8643         * modules/isatty (Depends-on): Add msvc-inval.
8644         (configure.ac): Invoke gl_PREREQ_ISATTY.
8645
8646 2012-01-03  Jim Meyering  <meyering@redhat.com>
8647
8648         maint.mk: remove temporary transition aid from over 1.5 years ago
8649         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
8650         purpose was to aid in the transition (avoiding silent malfunction)
8651         from that old name to the new _sc_search_regexp.  This shim was
8652         added by commit 219c504b.
8653
8654         init.sh: do not try to accommodate compare arguments starting with "-"
8655         * tests/init.sh (compare_dev_null_): Do not try to accommodate
8656         compare arguments that start with "-".  Besides, we do not worry
8657         about this when invoking diff or cmp; why start now with sed?
8658         Using "--" to separate options from argument would trigger sed
8659         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
8660         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
8661
8662 2012-01-02  Bruno Haible  <bruno@clisp.org>
8663
8664         Enhance tests for module 'isatty'.
8665         * modules/isatty-tests (Depends-on): Add pipe-posix.
8666         * tests/test-isatty.c: Include <fcntl.h>.
8667         (DEV_NULL): New macro.
8668         (main): Test the resut of isatty() also on regular files, pipes, and
8669         /dev/null.
8670
8671         New module 'isatty'.
8672         * lib/unistd.in.h (isatty): New declaration.
8673         * lib/isatty.c: New file, based on an idea of
8674         Bastien Roucariès <roucaries.bastien@gmail.com>.
8675         * m4/isatty.m4: New file.
8676         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
8677         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
8678         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
8679         REPLACE_ISATTY.
8680         * modules/isatty: New file.
8681         * doc/posix-functions/isatty.texi: Mention the new module.
8682         Suggested by Paolo Bonzini.
8683
8684 2012-01-02  Bruno Haible  <bruno@clisp.org>
8685
8686         canonicalize: Tweak 2011-12-29 commit.
8687         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
8688         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
8689
8690 2012-01-02  Jim Meyering  <meyering@redhat.com>
8691
8692         gitlog-to-changelog: describe input syntax in --help output
8693         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
8694
8695         gitlog-to-changelog: fix typo in --help: show backslash before email @
8696         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
8697         in sources, but not in actual output.
8698
8699 2011-12-30  Jim Meyering  <meyering@redhat.com>
8700
8701         gitlog-to-changelog: don't malfunction when name contains %-directive
8702         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
8703         in a name string cause trouble.  E.g., with a user name of "%s",
8704         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
8705
8706 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
8707
8708         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
8709         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
8710         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
8711         the "  (tiny change)" notation that is appended to the standard
8712         ChangeLog "date  name  email" header line.
8713
8714 2012-01-01  Jim Meyering  <meyering@redhat.com>
8715
8716         test-framework-sh: init.sh: fix "make dist" failure
8717         When using gnulib-tool's --with-tests option and any module that
8718         depends on test-framework-sh, "make dist" would fail due to the
8719         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
8720         in the gltests directory, and not in the gllib/ directory.
8721         One way to work around that is to move the EXTRA_DIST += init.sh
8722         from the primary module to the -tests one:
8723         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
8724         * modules/test-framework-sh (Makefile.am): ...not here.
8725         Reported by Tom G. Christensen in
8726         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
8727
8728         version-etc: update copyright year reported by --version
8729         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
8730
8731 2011-12-31  Pádraig Brady  <P@draigBrady.com>
8732
8733         canonicalize: only stat() if required
8734         * lib/canonicalize.c (canonicalize_filename_mode):
8735         Avoid calling l?stat() when both CAN_MISSING,
8736         and CAN_NOLINKS are set, as we neither need
8737         to resolve symlinks or test component existence.
8738
8739 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
8740
8741         doc: cover st_ino issues once; add OpenVMS etc.
8742         * doc/posix-functions/stat.texi (stat):
8743         * doc/posix-functions/lstat.texi (lstat):
8744         * doc/posix-functions/fstatat.texi (fstatat):
8745         * doc/posix-functions/fstat.texi (fstat):
8746         Move general 'struct stat' stuff to sys_stat.texi,
8747         leaving behind a pointer.
8748         * doc/posix-headers/sys_stat.texi (sys/stat.h):
8749         Merge duplicate info about 'struct stat' problems into here.
8750         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
8751         and suggest partial workarounds.
8752
8753         same-inode: port to OpenVMS
8754         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
8755         three st_ino values.
8756
8757 2011-12-30  Pádraig Brady  <P@draigBrady.com>
8758
8759         canonicalize: fix references to stat() and lstat()
8760         * lib/canonicalize.c (canonicalize_filename_mode):
8761         Ensure references always resolve to a replacement
8762         function if required (even via a macro).
8763
8764 2011-12-30  Jim Meyering  <meyering@redhat.com>
8765
8766         gitlog-to-changelog: remove a little duplication
8767         * build-aux/gitlog-to-changelog (main): Grep @lines once,
8768         rather than twice.
8769
8770 2011-12-29  Pádraig Brady  <P@draigBrady.com>
8771
8772         canonicalize: add support for not resolving symlinks
8773         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
8774         indicate we don't want to follow symlinks.  Also
8775         provide CAN_MODE_MASK to aid setting these existing
8776         mutually exclusive values.
8777         * lib/canonicalize.c (canonicalize_filename_mode):
8778         Extract the flags from can_mode parameter, which
8779         are currently just used to select between stat()
8780         and lstat().  Also ensure that mutually exclusive
8781         values are flagged immediately as invalid.
8782         * tests/test-canonicalize.c: Verify symlinks are
8783         not followed, and that invalid flag combinations
8784         are diagnosed.
8785
8786 2011-12-25  Jim Meyering  <meyering@redhat.com>
8787
8788         gitlog-to-changelog: do not clump multi-paragraph entries
8789         Identical header lines (date,name,email+coauthors) are suppressed,
8790         thus putting all entries with those same characteristics under
8791         a single header.  However, when a log entry consists of two or
8792         more paragraphs, it may not be clear where it starts and ends.
8793         This change makes it so that such an entry is always separated
8794         from others by a header line, even when that header would
8795         otherwise be suppressed.
8796         * build-aux/gitlog-to-changelog: Implement the above.
8797         Inspired by a related request from Stefano Lattarini in
8798         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
8799
8800 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
8801
8802         announce-gen: fix `cmd' typo in diagnostic
8803         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
8804         diagnostic: a missing '$' meant that the command was not output.
8805
8806 2011-12-23  Jim Meyering  <meyering@redhat.com>
8807
8808         test-framework-sh: distribute init.sh
8809         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
8810         Otherwise, "make -C gnulib-tests check" (at least in grep) would
8811         fail due to the lack of init.sh.
8812
8813         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
8814         * modules/atexit-tests: Rather than listing tests/init.sh,
8815         now that there's a module for it, simply depend on that new module.
8816         * modules/closein-tests: Likewise.
8817         * modules/exclude-tests: Likewise.
8818         * modules/getcwd-tests: Likewise.
8819         * modules/perror-tests: Likewise.
8820         * modules/pread-tests: Likewise.
8821         * modules/pwrite-tests: Likewise.
8822         * modules/vc-list-files-tests: Likewise.
8823         * modules/verify-tests: Likewise.
8824         * modules/xalloc-die-tests: Likewise.
8825         * modules/xstrtoimax-tests: Likewise.
8826         * modules/xstrtol-tests: Likewise.
8827         * modules/xstrtoll-tests: Likewise.
8828         * modules/xstrtoumax-tests: Likewise.
8829         * modules/yesno-tests: Likewise.
8830
8831 2011-12-22  Jim Meyering  <meyering@redhat.com>
8832
8833         test-framework-sh: add minimal tests of init.sh's compare function
8834         * modules/test-framework-sh-tests: New file.
8835         * tests/test-init.sh: New file.
8836
8837         test-framework-sh: new module
8838         * modules/test-framework-sh: New file.
8839         * MODULES.html.sh (Support for maintaining and releasing projects):
8840         List it.
8841
8842         init.sh: do not emit simulated diff output to stderr
8843         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
8844
8845 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
8846
8847         .gitignore: ignore gnulib.dvi and regex.info
8848         * doc/.gitignore:add gnulib.dvi and regex.info
8849
8850 2011-12-22  Jim Meyering  <meyering@redhat.com>
8851
8852         init.sh: correct previous change
8853         * tests/init.sh (compare): My previous change was wrong.
8854         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
8855
8856         init.sh: avoid unwarranted test failure when using "set -e"
8857         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
8858         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
8859         a use like "compare exp out" would get evoke an unconditional failure.
8860
8861 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
8862
8863         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
8864         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
8865         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
8866         autoreconf that did not.
8867         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
8868         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
8869
8870 2011-12-17  Jim Meyering  <meyering@redhat.com>
8871
8872         bootstrap: remove some now-unneeded code
8873         This script arose back when gnulib-tool was young.
8874         Since then, it has seen improvements that render much of this
8875         script unnecessary.  In particular, it can now make symlinks
8876         to the files it uses.  Also, I no longer see as much value in
8877         marking files as read-only via comments.
8878         If you relied on the symlink-creation feature of the preceding
8879         version of this script, you can get most of that functionality
8880         by adding the --symlink option to the definition of
8881         gnulib_tool_option_extras in your bootstrap.conf file.
8882         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
8883         Run autopoint and libtoolize *before* gnulib-tool.
8884         After it, run an abbreviated autoreconf, rather than a loop around
8885         all tools.
8886         (slirp, bt_mark_as_generated): Remove functions.
8887
8888 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8889
8890         ftoastr: fix typo
8891         * lib/ftoastr.h: Fix misspelling in comment.
8892
8893 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
8894
8895         * top/README-release: fix punctuation.
8896
8897 2011-12-17  Jim Meyering  <meyering@redhat.com>
8898
8899         bootstrap: correct the recent buildreq change
8900         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
8901         had no effect.
8902         * build-aux/bootstrap (buildreq): Bracket each search term with
8903         "*...*", so that the shell "case" statement works as intended.
8904         Add comments.
8905
8906 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
8907
8908         build: let bootstrap resort to wget when downloading .po files
8909         * build-aux/bootstrap (download_po_files): Fallback to wget when
8910         downloading the .po files via rsync fails.  This is necessary to
8911         bootstrap from behind a strict firewall.
8912
8913 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
8914
8915         stdint: don't assume C++11 when compiling with g++
8916         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
8917         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
8918         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
8919         work also in C++ before C++11, as that improperly inhibits
8920         generating a substitute stdint.h for that case.
8921
8922 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
8923
8924         alloca: protect comment from gnulib-tool
8925         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
8926         that gnulib-tool doesn't think it's a license, and munge it to
8927         say "GCC version 3".
8928
8929 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
8930
8931         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
8932         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
8933         $(abs_top_builddir) instead of $(top_builddir).
8934
8935 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
8936
8937         strftime-tests: also test nanoseconds
8938         * tests/test-strftime.c (T): Add a test of %N.
8939
8940 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
8941
8942         inttypes, stdint: add C++11 support
8943         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
8944         when including inttypes.h and stdint.h.  Support this change to
8945         the standard.
8946         * doc/posix-headers/inttypes.texi (inttypes.h):
8947         * doc/posix-headers/stdint.texi (stdint.h): Document this.
8948         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
8949         Define if not defined already, for the benefit of pre-C++11 hosts.
8950         Define the standard format macros (e.g., PRId8) always.
8951         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
8952         Likewise, if __cpluspus.  Define the standard constant and limit
8953         macros (e.g., INT8_C, INT8_MAX) always.
8954         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
8955         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
8956         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
8957         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
8958         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
8959         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
8960         Likewise.
8961
8962 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
8963
8964         nonblocking tests: Fix test failure on Linux/PPC.
8965         Suggested by Prerna Saxena in
8966         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
8967         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
8968         Set to 1100000.
8969
8970 2011-12-12  Jim Meyering  <meyering@redhat.com>
8971
8972         argmatch: don't hard-code `' when listing valid option arguments
8973         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
8974         use the quote function to add quotes.  Use fputs rather than
8975         fprintf for the format string with no format directive.
8976
8977 2011-12-07  Eric Blake  <eblake@redhat.com>
8978
8979         bootstrap: detect tools required by gnulib-tool
8980         * build-aux/bootstrap (buildreq): Provide minimum implicit
8981         dependencies.
8982         * DEPENDENCIES: Mention patch as a prereq.
8983
8984 2011-12-04  Bruno Haible  <bruno@clisp.org>
8985
8986         sethostname: Port to Windows platforms.
8987         * lib/sethostname.c: Provide an alternate implementation for Windows
8988         platforms.
8989         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
8990         (main): Skip the test if sethostname() fails with EPERM. On Windows
8991         platforms, don't check the result of gethostname().
8992
8993 2011-12-04  Bruno Haible  <bruno@clisp.org>
8994             Jim Meyering  <meyering@redhat.com>
8995
8996         tests: Avoid spurious error message on platforms without mktemp program.
8997         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
8998
8999 2011-12-04  Bruno Haible  <bruno@clisp.org>
9000
9001         sethostname: Fix documentation.
9002         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
9003         "not fixed" section.
9004
9005 2011-12-03  Bruno Haible  <bruno@clisp.org>
9006
9007         gnulib-tool: Verify that the License field is present and non-empty.
9008         * gnulib-tool (func_get_license_raw): New function, extracted from
9009         func_get_license.
9010         (func_get_license): Use it. Warn if the module is not a test module and
9011         has no license.
9012         Suggested by Jim Meyering.
9013
9014 2011-12-03  Bruno Haible  <bruno@clisp.org>
9015
9016         sethostname tests: Fix link error on mingw.
9017         * tests/test-sethostname1.c: New file, extracted from
9018         tests/test-sethostname.c.
9019         * tests/test-sethostname2.c: New file, extracted from
9020         tests/test-sethostname.c.
9021         * tests/test-sethostname.c: Remove file.
9022         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
9023         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
9024         (Depends-on): Add gethostname.
9025         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
9026         Link the latter with $(GETHOSTNAME_LIB).
9027
9028         sethostname tests: Fix compilation error on mingw.
9029         * tests/test-sethostname.c: Don't include <sys/types.h>.
9030         (geteuid): Use a dummy value without uid_t.
9031         * modules/sethostname-tests (Depends-on): Remove sys_types.
9032
9033         sethostname tests: Avoid a gcc warning.
9034         * tests/test-sethostname.c (main): Remove an unused variable.
9035
9036         Tweak last commit.
9037         * modules/sethostname-tests (Files): Sort by decreasing importance.
9038         (configure.ac): Check for geteuid.
9039         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
9040         the test when there's nothing to test. Drop an unnecessary cast.
9041         Improve an error message. Verify that the final sethostname() call
9042         succeeds.
9043
9044 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9045
9046         Add a test suite for the sethostname module.
9047         * modules/sethostname-tests: New file.  A test program
9048         for the sethostname module.
9049         * tests/test-sethostname.c: Likewise.
9050
9051 2011-12-03  Bruno Haible  <bruno@clisp.org>
9052
9053         Tweak last commit.
9054         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
9055         Fix preprocessor directives indentation. Fix typos.
9056         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
9057         * modules/unistd (Makefile): Likewise.
9058
9059 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9060
9061         Integrate the sethostname module into unistd.
9062         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
9063         into the unistd.h header.
9064         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
9065         preprocessor directives.
9066         * modules/unistd: Setup the Makefile substitutions of the
9067         SETHOSTNAME preprocessor directives.
9068
9069 2011-12-03  Bruno Haible  <bruno@clisp.org>
9070
9071         Tweak last commit.
9072         * lib/sethostname.c: Don't include <string.h>.
9073         (sethostname): No need to copy the argument string to the stack. Don't
9074         call clearerr. Preserve errno when fprintf failed.
9075         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
9076         Don't invoke AC_REPLACE_FUNCS.
9077         * modules/sethostname (Link): Remove empty section.
9078         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
9079         failure problem.
9080
9081 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9082
9083         New module 'sethostname'.
9084         * lib/sethostname.c (sethostname): New file.  Provide sethostname
9085         for systems that lack it.
9086         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
9087         sethostname declaration and function.
9088         * modules/sethostname: New file.  Define the sethostname module.
9089
9090 2011-12-03  Bruno Haible  <bruno@clisp.org>
9091
9092         Tweak last commit.
9093         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
9094
9095 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9096
9097         Split the HOST_NAME_MAX detection into a separate m4 macro.
9098         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
9099         macro so it can be used by the pending sethostname module.
9100
9101 2011-12-03  Bruno Haible  <bruno@clisp.org>
9102
9103         Fix module descriptions syntax.
9104         * modules/argv-iter (License): Fix syntax.
9105         * modules/di-set (License): Likewise.
9106         * modules/ino-map (License): Likewise.
9107         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
9108
9109 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9110
9111         stdalign: port to Clang 3.0
9112         Problem reported by Simon Josefsson in
9113         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
9114         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
9115         which has <stdalign.h> but which does not define alignof.
9116         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
9117
9118 2011-12-01  Eric Blake  <eblake@redhat.com>
9119
9120         mktempd: silence dd usage
9121         * build-aux/mktempd (rand_bytes): Silence dd.
9122
9123 2011-11-30  Simon Josefsson  <simon@josefsson.org>
9124
9125         manywarnings: Don't mention gcc version in docstring.
9126         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
9127         Jim Meyering <meyering@redhat.com>.
9128
9129 2011-11-30  Jim Meyering  <meyering@redhat.com>
9130
9131         hash: mark a few floating point constants with "f" suffix
9132         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
9133         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
9134         floating point constants with "f", since they're destined to be
9135         saved/used as "float"s.
9136
9137 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
9138
9139         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
9140         * tests/test-float.c (test_long_double): Correct and re-enable the
9141         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
9142
9143 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
9144
9145         Avoid subtracting two pointers that don't point into the same block.
9146         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
9147         only pointers into the same memory block are subtracted. We cannot
9148         assume that sizeof (ptrdiff_t) == sizeof (void *).
9149
9150 2011-11-29  Eric Blake  <eblake@redhat.com>
9151
9152         maint.mk: add syntax check for use of compare from init.sh
9153         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
9154         moved here from coreutils.
9155
9156         manywarnings: drop -Wunsuffixed-float-constants
9157         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
9158         '1.0D', which is the only way to silence this warning for 'double'.
9159
9160 2011-11-29  Jim Meyering  <meyering@redhat.com>
9161
9162         hash: mark compute_bucket_size with the pure attribute
9163         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
9164
9165         quotearg, propername: correct pragma guard expression
9166         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
9167         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
9168
9169 2011-11-28  Jim Meyering  <meyering@redhat.com>
9170
9171         propername: do not mark proper_name with the const attribute
9172         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
9173         since it examines data pointed to by its parameter.
9174         * lib/propername.c (proper_name): Instead, add a pragma to suppress
9175         the suggestion from -Wsuggest-attribute=const.
9176
9177         propername: mark one more function as const
9178         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
9179
9180 2011-11-27  Jim Meyering  <meyering@redhat.com>
9181
9182         mark functions with const and pure attributes
9183
9184         Mark functions per suggestions from gcc-4.6 when using these options:
9185         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
9186         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
9187         Follow these guidelines: when possible, apply the attribute to
9188         an extern declaration, not to its definition.  Apply it to the
9189         definition only when the definition is static.
9190         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
9191         * lib/argv-iter.h (argv_iter_n_args): Likewise.
9192         * lib/base64.h (isbase64): Likewise.
9193         * lib/basename-lgpl.c (last_component, base_len): Likewise.
9194         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
9195         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
9196         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
9197         (c_tolower, c_toupper): Likewise.
9198         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
9199         * lib/chdir-long.c (find_non_slash): Likewise.
9200         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
9201         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
9202         * lib/file-type.h (file_type): Likewise.
9203         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
9204         * lib/filevercmp.c (verrevcmp): Likewise.
9205         * lib/freadahead.h (freadahead): Likewise.
9206         * lib/fts.c (fts_maxarglen): Likewise.
9207         * lib/hash-pjw.h (hash_pjw): Likewise.
9208         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
9209         * lib/hash.c (is_prime, next_prime): Likewise.
9210         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
9211         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
9212         (hash_table_ok, hash_get_first, hash_string): Likewise.
9213         (compute_bucket_size): Likewise.
9214         * lib/i-ring.h (i_ring_empty): Likewise.
9215         * lib/isnan.c (isnanl): Likewise.
9216         * lib/math.h (isnanl, rpl_isnanl): Likewise.
9217         * lib/memcasecmp.h (memcasecmp): Likewise.
9218         * lib/memchr2.h (memchr2): Likewise.
9219         * lib/memcmp2.h (memcmp2): Likewise.
9220         * lib/parse-datetime.y (lookup_zone): Likewise.
9221         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
9222         [!WINDOWS_SOCKETS]: Likewise.
9223         * lib/strnlen1.h (strnlen1): Likewise.
9224         * lib/uniwidth.in.h (uc_width): Likewise.
9225         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
9226         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
9227         (quoting_options_from_style): Add a comment.
9228         * lib/propername.h (proper_name): Add a comment.
9229
9230 2011-11-27  Bruno Haible  <bruno@clisp.org>
9231
9232         Remove unused macros from !_LIBC code in glibc-borrowed files.
9233         * lib/fnmatch.c (STRCOLL): Remove macro.
9234         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
9235         * lib/glob.c (__stat, __readdir64): Remove macros.
9236         * lib/tempname.c (__open64, __xstat64): Remove macros.
9237         Suggested by Paul Eggert.
9238
9239 2011-11-27  Bruno Haible  <bruno@clisp.org>
9240
9241         getcwd: Fix link error on MSVC 9.
9242         * modules/getcwd (Depends-on): Add readdir, rewinddir.
9243
9244 2011-11-27  Bruno Haible  <bruno@clisp.org>
9245
9246         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
9247         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
9248         HAVE_OPENDIR is 0.
9249         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
9250         HAVE_CLOSEDIR is 0.
9251         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
9252         is 0.
9253         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
9254
9255 2011-11-27  Bruno Haible  <bruno@clisp.org>
9256
9257         getcwd: Fix bug from 2011-08-17.
9258         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
9259         platforms that need it.
9260         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
9261         code of 4 to be a failure, not a success. This ensures that
9262         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
9263
9264 2011-11-27  Bruno Haible  <bruno@clisp.org>
9265
9266         binary-io tests: Avoid test failure on mingw when libtool is used.
9267         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
9268         Don't verify the size of t-bin-out1.tmp here.
9269         * tests/test-binary-io.sh: Verify it here.
9270         Reported by Simon Josefsson.
9271
9272 2011-11-26  Bruno Haible  <bruno@clisp.org>
9273
9274         Fix conflict between two instantiations of module 'unistd'.
9275         * gnulib-tool (func_emit_autoconf_snippet): Substitute
9276         ${include_guard_prefix} also in the autoconf snippet.
9277         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
9278         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
9279         GNULIB_UNISTD_H_GETOPT.
9280         * modules/getopt-posix (configure.ac): Set the
9281         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
9282         * modules/getopt-gnu (configure.ac): Likewise.
9283         * modules/unistd (Makefile.am): Change the substitution value of
9284         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
9285         Reported by Simon Josefsson.
9286
9287 2011-11-25  Bruno Haible  <bruno@clisp.org>
9288
9289         pagealign_alloc: Doc and comments.
9290         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
9291         module.
9292         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
9293
9294 2011-11-25  Jim Meyering  <meyering@redhat.com>
9295
9296         test-update-copyright.sh: avoid false-positive failure
9297         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
9298         around false positive failure on Cygwin/Windows.  The latter was
9299         matching erroneously-created files with names like
9300         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
9301
9302 2011-11-25  Simon Josefsson  <simon@josefsson.org>
9303
9304         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
9305         * m4/valgrind-tests.m4: Check that the parameters that will be
9306         used works, not just a subset of them.  Reported by Bruno Haible
9307         <bruno@clisp.org>.
9308
9309 2011-11-24  Jim Meyering  <meyering@redhat.com>
9310
9311         test-stdalign.c: comment out long double tests
9312         * tests/test-stdalign.c: Don't try to reduce alignment of long double
9313         variables.  That provokes errors like this from gcc-4.7.0 20111124:
9314         error: '_Alignas' specifiers cannot reduce alignment of \
9315         'static_longdouble_alignas'.
9316
9317 2011-11-22  Jim Meyering  <meyering@redhat.com>
9318
9319         init.sh: make "compare /dev/null FILE" output more readable
9320         * tests/init.sh (compare_): Document the preferred order of arguments.
9321         (emit_diff_u_header_): New function.
9322         (compare_dev_null_): Emit a simulated diff, rather than just the
9323         contents of the unexpected file.  Suggestion from Bruno Haible.
9324
9325 2011-11-21  Jim Meyering  <meyering@redhat.com>
9326             Eric Blake  <eblake@redhat.com>
9327
9328         init.sh: work around OSF/1 5.1's mishandling of /dev/null
9329         * tests/init.sh: Make our compare function slightly more portable.
9330         Reported by Bruno Haible in
9331         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
9332
9333 2011-11-21  Simon Josefsson  <simon@josefsson.org>
9334
9335         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
9336         before using it, in code that ends up in config.h.
9337
9338 2011-11-20  Bruno Haible  <bruno@clisp.org>
9339
9340         getcwd: Work around getcwd bug on AIX 5..7.
9341         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
9342         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
9343         Use a different value for gl_cv_func_getcwd_path_max. Move the
9344         definition of HAVE_PARTLY_WORKING_GETCWD from here...
9345         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
9346         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
9347         Define HAVE_MINIMALLY_WORKING_GETCWD.
9348         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
9349         where it is not even minimally working, that is, on AIX.
9350         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
9351         m4/getcwd-path-max.m4.
9352         (main): Update exit code computation.
9353         * doc/posix-functions/getcwd.texi: Mention list of platforms where
9354         getcwd does not handle long file names.
9355
9356 2011-11-20  Bruno Haible  <bruno@clisp.org>
9357
9358         getcwd: Fix bug from 2009-09-10.
9359         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
9360         like "no".
9361
9362 2011-11-20  Simon Josefsson  <simon@josefsson.org>
9363
9364         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
9365
9366 2011-11-20  Bruno Haible  <bruno@clisp.org>
9367
9368         fma tests: Avoid shadowing local variables.
9369         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
9370         expected.
9371
9372 2011-11-20  Bruno Haible  <bruno@clisp.org>
9373
9374         copysignf tests: Fix.
9375         * tests/test-copysignf.c: Fix signature check.
9376
9377 2011-11-20  Bruno Haible  <bruno@clisp.org>
9378
9379         fma: Remove unused code.
9380         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
9381         unused macros.
9382
9383 2011-11-20  Bruno Haible  <bruno@clisp.org>
9384
9385         sethostname: Fix doc about AIX.
9386         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
9387         sethostname; it has it.
9388
9389         sethostname: Mention more portability problems.
9390         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
9391         problem.
9392         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
9393
9394 2011-11-19  Bruno Haible  <bruno@clisp.org>
9395
9396         Depend on module fcntl-h when AT_FDCWD is used.
9397         * modules/utimens (Depends-on): Add fcntl-h.
9398         * modules/areadlinkat (Depends-on): Likewise.
9399         * modules/areadlinkat-with-size (Depends-on): Likewise.
9400         * modules/faccessat (Depends-on): Likewise.
9401         * modules/fchmodat (Depends-on): Likewise.
9402         * modules/fchownat (Depends-on): Likewise.
9403         * modules/getcwd (Depends-on): Likewise.
9404         * modules/mkdirat (Depends-on): Likewise.
9405         * modules/mkfifoat (Depends-on): Likewise.
9406         * modules/readlinkat (Depends-on): Likewise.
9407         * modules/symlinkat (Depends-on): Likewise.
9408         * modules/dup2-tests (Depends-on): Likewise.
9409         * modules/fdutimensat-tests (Depends-on): Likewise.
9410         * modules/futimens-tests (Depends-on): Likewise.
9411
9412 2011-11-19  Bruno Haible  <bruno@clisp.org>
9413
9414         euidaccess: Update a comment.
9415         * lib/euidaccess.c: Update comment about platforms with faccessat.
9416
9417 2011-11-19  Bruno Haible  <bruno@clisp.org>
9418
9419         openat: Fix file list.
9420         * modules/openat (Files): Remove lib/at-func.c.
9421
9422 2011-11-19  Bruno Haible  <bruno@clisp.org>
9423
9424         fstatat: Simplify.
9425         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
9426         gnulib should define rpl_fstatat, there is a
9427         "#define fstatat rpl_fstatat" in <sys/stat.h>.
9428
9429 2011-11-19  Bruno Haible  <bruno@clisp.org>
9430
9431         Ensure 'inline' can be used in tests/test-utimens-common.h.
9432         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
9433         * modules/futimens-tests (configure.ac): Likewise.
9434         * modules/utimens-tests (configure.ac): Likewise.
9435         * modules/utimensat-tests (configure.ac): Likewise.
9436
9437 2011-11-19  Simon Josefsson  <simon@josefsson.org>
9438
9439         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
9440         not hash_insert0.
9441         (hash_insert_if_absent): Doc fix.
9442
9443 2011-11-19  Simon Josefsson  <simon@josefsson.org>
9444
9445         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
9446
9447 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
9448
9449         test-getcwd: disambiguate exit status
9450         * tests/test-getcwd.c (test_long_name): Return 0..7.
9451         (main): Exit with an unambiguous exit status.  The old
9452         code yielded a mysterious mixture of two failure codes.
9453
9454         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
9455         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
9456         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
9457         rpl_fstatat or fstatat.  This should fix the other problem
9458         reported by Kai Habel in
9459         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
9460         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
9461         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
9462         and I reproduced it on a Solaris 8 host we still have in production.
9463
9464 2011-11-18  Jim Meyering  <meyering@redhat.com>
9465
9466         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
9467         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
9468         Add a sentence to the comment.
9469         (hash_insert0): New function that simply calls hash_insert_if_absent.
9470         * lib/hash.h (hash_insert_if_absent): Declare it.
9471         (hash_insert0): Add deprecation attribute.
9472         (_GL_ATTRIBUTE_DEPRECATED): Define.
9473         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
9474         not hash_insert0.
9475         * NEWS: Mention it, even though it's not really an incompatible change.
9476
9477 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
9478
9479         openat: avoid compilation failure due to lack of <errno.h> inclusion
9480         * lib/openat.c: Include <errno.h>.
9481
9482 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
9483
9484         * modules/getcwd (Depends-on): Add fdopendir.
9485         This fixes one of the two problems reported by Kai Habel in
9486         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
9487
9488         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
9489         stdalign problem reported by Ian Beckwith in
9490         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
9491         * modules/crypto/gc-arcfour (Depends-on):
9492         Depend conditionally on crypto/arcfour.
9493         * modules/crypto/gc-arctwo (Depends-on):
9494         Depend conditionally on crypto/arctwo.
9495         * modules/crypto/gc-des (Depends-on):
9496         Depend conditionally on crypto/des.
9497         * modules/crypto/gc-hmac-md5 (Depends-on):
9498         Depend conditionally on crypto/hmac-md5.
9499         * modules/crypto/gc-hmac-sha1 (Depends-on):
9500         Depend conditionally on crypto/hmac-sha1.
9501         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
9502         * modules/crypto/gc-md4 (Depends-on):
9503         Depend conditionally on crypto/md4.
9504         * modules/crypto/gc-md5 (Depends-on):
9505         Depend conditionally on crypto/md5.
9506         * modules/crypto/gc-rijndael (Depends-on):
9507         Depend conditionally on crypto/rijndael.
9508         * modules/crypto/gc-sha1 (Depends-on):
9509         Depend conditionally on crypto/sha1.
9510         * modules/crypto/gc-arcfour:
9511         * modules/crypto/gc-arctwo:
9512         * modules/crypto/gc-des:
9513         * modules/crypto/gc-hmac-md5:
9514         * modules/crypto/gc-hmac-sha1:
9515         * modules/crypto/gc-md2:
9516         * modules/crypto/gc-md4:
9517         * modules/crypto/gc-md5:
9518         * modules/crypto/gc-rijndael:
9519         * modules/crypto/gc-sha1:
9520         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
9521         now that the conditional dependencies do the work for us.
9522
9523 2011-11-17  Jim Meyering  <meyering@redhat.com>
9524
9525         tests: factor st_ctime-comparison out of two headers
9526         * tests/test-utimens-common.h (ctime_compare): Define.
9527         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
9528         * tests/test-lutimens.h (test_lutimens): Likewise.
9529         * tests/test-utimens.h (test_utimens): Likewise.
9530
9531         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
9532         Invoke the test program via an init.sh-using wrapper.
9533         * tests/test-getcwd.sh: New file.
9534         * modules/getcwd-tests (Files): Add it.
9535         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
9536
9537 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
9538
9539         gitlog-to-changelog: support multi-author commits.
9540         The FSF cares about keeping track of all authors of patches to its
9541         projects, but Git doesn't provide obvious support for multi-author
9542         changesets. Consensus seems to be forming around the use of extra
9543         Signed-off-by inspired lines in the log message formatted as
9544         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
9545         multi-author commits between version control systems.
9546         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
9547         log message and output in standard ChangeLog multi-author format.
9548         Reported by Peter Rosin <peda@lysator.liu.se>
9549
9550 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
9551             Bruno Haible  <bruno@clisp.org>
9552
9553         Fix some modules' file list.
9554         * modules/fstatat (Files): Add m4/lstat.m4.
9555         * modules/openat (Files): Likewise.
9556         * modules/unlinkat (Files): Likewise.
9557
9558 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
9559
9560         maint.mk: fix tight-scope.mk generation in VPATH builds.
9561         * top/maint.mk (tight-scope.mk): Make sure to prefix file
9562         reference with $(srcdir) so that the file is found correctly even
9563         when running `make syntax-check' in a VPATH build.
9564
9565 2011-11-13  Bruno Haible  <bruno@clisp.org>
9566             Jim Meyering  <meyering@redhat.com>
9567
9568         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
9569         * tests/init.sh (compare): Remove "No differences encountered" or
9570         synonymous output from the 'diff' program.
9571
9572 2011-11-13  Bruno Haible  <bruno@clisp.org>
9573
9574         Makefile: Tweak indentation.
9575         * Makefile: Use tab as first character in every line that contains rule
9576         commands.
9577
9578 2011-11-13  Bruno Haible  <bruno@clisp.org>
9579
9580         Syntax check for copyright statements.
9581         * check-copyright: New file.
9582         * Makefile (sc_check_copyright): New rule.
9583
9584 2011-11-13  Simon Josefsson  <simon@josefsson.org>
9585
9586         * build-aux/git-version-gen: Add --prefix to configure the tag
9587         match string.
9588
9589 2011-11-13  Simon Josefsson  <simon@josefsson.org>
9590
9591         * build-aux/git-version-gen: Add --help and --version.
9592
9593 2011-11-12  Jim Meyering  <meyering@redhat.com>
9594
9595         revamp the other test-exclude?.sh scripts to use init.sh, too
9596         * tests/test-exclude1.sh: Use init.sh.
9597         * tests/test-exclude2.sh: Likewise.
9598         * tests/test-exclude3.sh: Likewise.
9599         * tests/test-exclude4.sh: Likewise.
9600         * tests/test-exclude5.sh: Likewise.
9601         * tests/test-exclude6.sh: Likewise.
9602         * tests/test-exclude7.sh: Likewise.
9603         * tests/test-exclude8.sh: Likewise.
9604         * modules/exclude-tests (Files): List init.sh.
9605
9606         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
9607         These shell scripts ignored failure of the binary test-exclude,
9608         so making the latter return 77 didn't cause them to be skipped.
9609         * tests/test-exclude5.sh: Exit with test-exclude's error status
9610         when that program fails.  Revamp to use init.sh.
9611         * tests/test-exclude2.sh: Likewise.
9612
9613         test-exclude: fix a typo
9614         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
9615
9616 2011-11-11  Bruno Haible  <bruno@clisp.org>
9617
9618         obstack: Fix compilation error on MSVC 9.
9619         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
9620
9621 2011-11-11  Jim Meyering  <meyering@redhat.com>
9622
9623         test-exclude: skip tests rather than failing on deficient systems
9624         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
9625         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
9626         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
9627         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
9628
9629 2011-11-10  Bruno Haible  <bruno@clisp.org>
9630
9631         ptsname_r test: Avoid gcc warning on glibc systems.
9632         * tests/test-ptsname_r.c (null_ptr): New function.
9633         (test_errors): Use it.
9634
9635 2011-11-10  Bruno Haible  <bruno@clisp.org>
9636
9637         ptsname_r: Avoid compilation error on OSF/1 5.1.
9638         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
9639         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
9640         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
9641         function is not declared or incompatibly declared.
9642         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
9643         * modules/ptsname_r (Depends-on, configure.ac): Update.
9644         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
9645
9646 2011-11-10  Bruno Haible  <bruno@clisp.org>
9647
9648         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
9649         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
9650         When cross-compiling, guess yes on all platforms except AIX.
9651         Reported by Ludovic Courtès <ludo@gnu.org>.
9652
9653 2011-11-09  Bruno Haible  <bruno@clisp.org>
9654
9655         ptsname_r tests: Fix bugs.
9656         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
9657         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
9658
9659 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
9660
9661         fstatat: work with cross-compilation
9662         Problem reported by Ludovic Courtès in
9663         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
9664         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
9665         "cross-compiling" and assume the bug is present.  Replace
9666         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
9667         an inverted sense, to be more conservative about our assumptions.
9668         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
9669
9670 2011-11-09  Bruno Haible  <bruno@clisp.org>
9671
9672         Improve MODULES.html output.
9673         * modules/mkfifoat (Description): Use the word "function".
9674         * modules/readlinkat (Description): Likewise.
9675         * modules/symlinkat (Description): Likewise.
9676
9677 2011-11-09  Eric Blake  <eblake@redhat.com>
9678
9679         ptsname_r-tests: new test module
9680         * modules/ptsname_r-tests: New module.
9681         * tests/test-ptsname_r.c: New file.
9682
9683         ptsname_r: new module
9684         * modules/ptsname_r: New module.
9685         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
9686         * lib/ptsname.c (__ptsname_r): Split...
9687         * lib/ptsname_r.c: ...into new file.
9688         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
9689         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
9690         * modules/stdlib (Makefile.am): Substitute witnesses.
9691         * lib/stdlib.in.h (ptsname_r): Declare it.
9692         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
9693         * MODULES.html.sh (Misc): Likewise.
9694         * modules/ptsname (Depends-on): Alter dependency.
9695         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
9696
9697 2011-11-09  Jim Meyering  <meyering@redhat.com>
9698
9699         announce-gen: be more concise when there's only one URL+tarball
9700         * build-aux/announce-gen (get_tool_versions): When you distribute
9701         only one type of tarball, combine the first two "Here are..."
9702         sections and make the key-checking grammar independent of
9703         how many tarballs there are.
9704
9705 2011-11-09  Eric Blake  <eblake@redhat.com>
9706
9707         openpty: provide a stub on mingw
9708         * lib/pty.in.h (includes): Provide forward declarations.
9709         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
9710
9711         raise: fix mingw handling of SIGPIPE
9712         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
9713
9714 2011-11-08  Bruno Haible  <bruno@clisp.org>
9715
9716         More conditional dependencies.
9717         * modules/faccessat (Depends-on): Add conditions.
9718         * modules/fchmodat (Depends-on): Likewise.
9719         * modules/fchownat (Depends-on): Likewise.
9720         * modules/fstatat (Depends-on): Likewise.
9721         * modules/mkfifoat (Depends-on): Likewise.
9722         * modules/readlinkat (Depends-on): Likewise.
9723         * modules/symlinkat (Depends-on): Likewise.
9724         * modules/unlinkat (Depends-on): Likewise.
9725         * modules/utimensat (Depends-on): Likewise.
9726         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
9727         * modules/linkat (Depends-on): Refine the conditions.
9728         * modules/renameat (Depends-on): Likewise.
9729
9730 2011-11-08  Bruno Haible  <bruno@clisp.org>
9731
9732         faccessat: Move AC_LIBOBJ invocation to module description.
9733         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
9734         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
9735         invocation from here...
9736         * modules/faccessat (configure.ac): ... to here. Invoke
9737         gl_PREREQ_FACCESSAT.
9738
9739 2011-11-08  Bruno Haible  <bruno@clisp.org>
9740
9741         faccessat: Simplify autoconf macro.
9742         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
9743         gl_FUNC_EUIDACCESS.
9744
9745 2011-11-08  Bruno Haible  <bruno@clisp.org>
9746
9747         renameat: Fix dependencies.
9748         * modules/renameat (Depends-on): Add stdbool.
9749
9750 2011-11-08  Bruno Haible  <bruno@clisp.org>
9751
9752         mkfifoat: Fix module description.
9753         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
9754         not gl_UNISTD_MODULE_INDICATOR.
9755
9756 2011-11-08  Bruno Haible  <bruno@clisp.org>
9757
9758         fstatat: Remove unused dependency.
9759         * modules/fstatat (Depends-on): Remove fstat.
9760
9761 2011-11-08  Simon Josefsson  <simon@josefsson.org>
9762
9763         GNUmakefile: behave when Makefile is missing.
9764         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
9765
9766 2011-11-08  Bruno Haible  <bruno@clisp.org>
9767
9768         openat: Conditionalize dependencies.
9769         * lib/openat.c: Reduce the scope of some #includes.
9770         * modules/openat (Depends-on): Add conditions.
9771
9772 2011-11-07  Jim Meyering  <meyering@redhat.com>
9773
9774         maint.mk: extract GPG key ID without using a temporary file
9775         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
9776         without using a temporary file.  Based on a suggestion from Werner Koch
9777         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
9778
9779 2011-11-07  Eric Blake  <eblake@redhat.com>
9780
9781         grantpt: fix typo
9782         * lib/stdlib.in.h (grantpt): Check correct function.
9783
9784         maint.mk: silence new syntax check
9785         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
9786
9787 2011-11-06  Bruno Haible  <bruno@clisp.org>
9788
9789         Doc about floating-point and math API.
9790         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
9791         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
9792
9793 2011-11-06  Bruno Haible  <bruno@clisp.org>
9794
9795         stdalign tests: Skip the test when compiled by Sun C.
9796         * tests/test-stdalign.c (main): Skip the test on Sun C.
9797
9798 2011-11-06  Bruno Haible  <bruno@clisp.org>
9799
9800         ansi-c++-opt: Complete the 2011-06-05 change.
9801         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
9802         does not support namespaces, set the variable to "no", not to ":".
9803
9804 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
9805
9806         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
9807
9808 2011-11-06  Bruno Haible  <bruno@clisp.org>
9809
9810         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
9811         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
9812         (minus_zerol) [HP-UX]: New macro.
9813         (unary_minus) [HP-UX]: New function.
9814         (copysignl) [HP-UX]: Use unary_minus function.
9815
9816 2011-11-06  Bruno Haible  <bruno@clisp.org>
9817
9818         ldexp, ldexpf, ldexpl: Enhance tests.
9819         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
9820         and tests/test-ldexpl.c.
9821         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
9822         LDEXP, MIN_EXP, MAX_EXP): New macros.
9823         Include test-ldexp.h.
9824         (main): Just call test_function.
9825         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
9826         infinity.h, nan.h.
9827         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
9828         MAX_EXP): New macros.
9829         Include test-ldexp.h.
9830         (x, y): Remove variables.
9831         (main): Just call test_function.
9832         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
9833         infinity.h, nan.h.
9834         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
9835         MAX_EXP): New macros.
9836         Include test-ldexp.h.
9837         (x, y): Remove variables.
9838         (main): Just call test_function.
9839         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
9840         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
9841         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
9842         (Depends-on): Add isnand-nolibm, signbit, float.
9843         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
9844         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
9845         (Depends-on): Add isnanf-nolibm, signbit, float.
9846
9847 2011-11-06  Bruno Haible  <bruno@clisp.org>
9848
9849         math tests: Cosmetics.
9850         * tests/test-math-c++.cc: Reorder declarations.
9851
9852 2011-11-05  Bruno Haible  <bruno@clisp.org>
9853
9854         fma*: Simplify test.
9855         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
9856         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
9857
9858         Tests for module 'fmal'.
9859         * modules/fmal-tests: New file.
9860         * tests/test-fmal1.c: New file.
9861         * tests/test-fmal2.c: New file.
9862
9863         New module 'fmal'.
9864         * lib/math.in.h (fmal): New declaration.
9865         * lib/fmal.c: New file.
9866         * m4/fmal.m4: New file.
9867         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
9868         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
9869         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
9870         REPLACE_FMAL.
9871         * modules/fmal: New file.
9872         * doc/posix-functions/fmal.texi: Mention the new module and the various
9873         bugs.
9874
9875         Tests for module 'fmaf'.
9876         * modules/fmaf-tests: New file.
9877         * tests/test-fmaf1.c: New file.
9878         * tests/test-fmaf2.c: New file.
9879
9880         New module 'fmaf'.
9881         * lib/math.in.h (fmaf): New declaration.
9882         * lib/fmaf.c: New file.
9883         * m4/fmaf.m4: New file.
9884         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
9885         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
9886         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
9887         REPLACE_FMAF.
9888         * modules/fmaf: New file.
9889         * doc/posix-functions/fmaf.texi: Mention the new module and the various
9890         bugs.
9891
9892         Tests for module 'fma'.
9893         * modules/fma-tests: New file.
9894         * tests/test-fma1.c: New file.
9895         * tests/test-fma1.h: New file.
9896         * tests/test-fma2.c: New file.
9897         * tests/test-fma2.h: New file.
9898
9899         New module 'fma'.
9900         * lib/math.in.h (fma): New declaration.
9901         * lib/fma.c: New file.
9902         * m4/fma.m4: New file.
9903         * m4/fegetround.m4: New file.
9904         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
9905         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
9906         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
9907         REPLACE_FMA.
9908         * modules/fma: New file.
9909         * doc/posix-functions/fma.texi: Mention the new module and the various
9910         bugs.
9911
9912         Extend gl_MATHFUNC.
9913         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
9914         Support 'void' as argument type.
9915         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
9916
9917 2011-11-05  Jim Meyering  <meyering@redhat.com>
9918
9919         maint.mk: also prohibit inclusion of dirent.h without use
9920         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
9921
9922 2011-11-05  Bruno Haible  <bruno@clisp.org>
9923
9924         ldexpl tests: Avoid test failure on MSVC 9.
9925         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
9926         value. Needed in order to enforce the conversion from a value greater
9927         than LDBL_MAX to Infinity.
9928
9929 2011-11-05  Bruno Haible  <bruno@clisp.org>
9930
9931         New modules 'at-internal', 'openat-h', split off from module 'openat'.
9932         * modules/at-internal: New file, extracted from modules/openat.
9933         * modules/openat-h: New file.
9934         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
9935         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
9936         * modules/openat (Description): Add reference to POSIX function.
9937         (Files): Remove lib/openat.h, lib/openat-proc.c.
9938         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
9939         intprops, unistd.
9940         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
9941         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
9942         gl_FCNTL_MODULE_INDICATOR.
9943         (Include): Remove unistd.h, openat.h.
9944         * modules/areadlinkat (Files): Add lib/at-func.c.
9945         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
9946         openat-die, openat-h, save-cwd.
9947         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
9948         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
9949         openat-die, openat-h, save-cwd, unistd.
9950         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
9951         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
9952         openat-h, save-cwd. Remove fcntl-h, openat.
9953         * modules/fchmodat (Files): Remove lib/openat.h.
9954         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
9955         openat, stdbool, unistd.
9956         * modules/fchownat (Files): Remove lib/openat.h.
9957         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
9958         openat, stdbool, sys_stat.
9959         * modules/fdopendir (Files): Remove lib/openat-priv.h,
9960         lib/openat-proc.c.
9961         (Depends-on): Add at-internal.
9962         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
9963         * modules/fstatat (Files): Remove lib/openat.h.
9964         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
9965         stdbool, unistd.
9966         * modules/fts (Depends-on): Add openat-h.
9967         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
9968         openat.
9969         * modules/mkdirat (Files): Remove lib/openat.h.
9970         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
9971         openat, stdbool, sys_stat.
9972         * modules/mkfifoat (Files): Add lib/at-func.c.
9973         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
9974         openat-h, save-cwd. Remove fcntl-h, openat.
9975         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
9976         * modules/readlinkat (Files): Add lib/at-func.c.
9977         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
9978         openat-h, save-cwd. Remove fcntl-h, openat.
9979         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
9980         openat.
9981         * modules/selinux-at (Files): Add lib/at-func.c.
9982         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
9983         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
9984         * modules/symlinkat (Files): Add lib/at-func.c.
9985         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
9986         openat-h, save-cwd. Remove fcntl-h, openat.
9987         * modules/unlinkat (Files): Remove lib/openat.h.
9988         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
9989         stdbool.
9990         * modules/utimensat (Files): Add lib/at-func.c.
9991         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
9992         openat-die, openat-h, save-cwd.
9993         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
9994         * modules/fdutimensat-tests (Depends-on): Add openat.
9995         * modules/fstatat-tests (Depends-on): Add openat-h.
9996         * modules/readlinkat-tests (Depends-on): Add openat.
9997         * modules/symlinkat-tests (Depends-on): Add openat.
9998
9999 2011-11-05  Bruno Haible  <bruno@clisp.org>
10000
10001         openat: Include <stdbool.h>.
10002         * lib/openat.c: Include <stdbool.h>.
10003
10004 2011-11-04  Bruno Haible  <bruno@clisp.org>
10005
10006         fchownat, renameat, unlinkat: Fix dependencies.
10007         * modules/fchownat (Depends-on): Add fstatat.
10008         * modules/renameat (Depends-on): Likewise.
10009         * modules/unlinkat (Depends-on): Likewise.
10010
10011 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
10012
10013         openat: remove direct dependency on dirent
10014         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
10015         and hasn't been needed ever since fdopendir was split into its own
10016         module on 2009-08-31.
10017         * modules/openat (Depends-on): Remove dirent.
10018
10019 2011-11-04  Bruno Haible  <bruno@clisp.org>
10020
10021         renameat: Optimize code size.
10022         * modules/renameat (configure.ac): Don't compile at-func2.c if
10023         REPLACE_RENAMEAT is 1.
10024
10025 2011-11-04  Bruno Haible  <bruno@clisp.org>
10026
10027         openat tests: Fix file list.
10028         * modules/openat-tests (Files): Add tests/test-open.h.
10029
10030 2011-11-04  Bruno Haible  <bruno@clisp.org>
10031
10032         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
10033         * modules/fchmodat (Depends-on): Add openat-die.
10034         * modules/fchownat (Depends-on): Likewise.
10035         * modules/linkat (Depends-on): Likewise.
10036         * modules/renameat (Depends-on): Likewise.
10037         * modules/openat (Depends-on): Add dirent.
10038
10039 2011-11-04  Jim Meyering  <meyering@redhat.com>
10040
10041         at-func*.c: fix comments
10042         * lib/at-func2.c: Correct/improve first-line comment.
10043         * lib/at-func.c: Correct grammar in first-line comment.
10044
10045 2011-11-04  Bruno Haible  <bruno@clisp.org>
10046
10047         New module 'mkdirat', split off from module 'openat'.
10048         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
10049         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
10050         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
10051         * modules/mkdirat: New file, extracted from modules/openat.
10052         * modules/openat (Files): Remove lib/mkdirat.c.
10053         (Depends-on): Remove mkdir.
10054         (configure.ac): Remove AC_LIBOBJ of mkdirat.
10055         (Include): Remove <sys/stat.h>.
10056         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
10057         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
10058         tests/test-mkdir.h.
10059         (Depends-on): Remove ignore-value.
10060         (Makefile.am): Remove rules for test-mkdirat.
10061         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
10062         of module 'openat'.
10063         * NEWS: Mention the change.
10064
10065 2011-11-04  Bruno Haible  <bruno@clisp.org>
10066
10067         closedir: Avoid warning on mingw.
10068         * lib/closedir.c: Include <unistd.h>.
10069
10070 2011-11-04  Bruno Haible  <bruno@clisp.org>
10071
10072         New module 'fstatat', split off from module 'openat'.
10073         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
10074         defined.
10075         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
10076         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
10077         gl_FUNC_FSTATAT.
10078         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
10079         * modules/fstatat: New file, extracted from modules/openat.
10080         * modules/openat (Files): Remove lib/fstatat.c.
10081         (Depends-on): Remove lstat.
10082         (configure.ac): Remove AC_LIBOBJ of fstatat.
10083         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
10084         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
10085         tests/test-lstat.h, tests/test-stat.h.
10086         (Depends-on): Remove getcwd-lgpl.
10087         (Makefile.am): Remove rules for test-fstatat.
10088         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
10089         of module 'openat'.
10090         * NEWS: Mention the change.
10091         * modules/getcwd (Depends-on): Add fstatat.
10092         * modules/linkat (Depends-on): Likewise.
10093         * modules/mkfifoat-tests (Depends-on): Likewise.
10094         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
10095
10096 2011-11-03  Bruno Haible  <bruno@clisp.org>
10097
10098         New module 'unlinkat', split off from module 'openat'.
10099         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
10100         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
10101         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
10102         * modules/unlinkat: New file, extracted from modules/openat. Correct
10103         the dependency conditions.
10104         * modules/openat (Files): Remove lib/unlinkat.c.
10105         (Depends-on): Remove rmdir, unlink.
10106         (configure.ac): Remove AC_LIBOBJ of unlinkat.
10107         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
10108         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
10109         tests/test-rmdir.h, tests/test-unlink.h.
10110         (Depends-on): Remove unlinkdir.
10111         (Makefile.am): Remove rules for test-unlinkat.
10112         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
10113         of module 'openat'.
10114         * NEWS: Mention the change.
10115         * modules/linkat-tests (Depends-on): Add unlinkat.
10116         * modules/mkfifoat-tests (Depends-on): Likewise.
10117         * modules/readlinkat-tests (Depends-on): Likewise.
10118
10119 2011-11-02  Bruno Haible  <bruno@clisp.org>
10120
10121         New module 'fchmodat', split off from module 'openat'.
10122         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
10123         defined.
10124         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
10125         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
10126         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
10127         * modules/fchmodat: New file, extracted from modules/openat.
10128         * modules/openat (Files): Remove lib/fchmodat.c.
10129         (configure.ac): Remove AC_LIBOBJ of fchmodat.
10130         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
10131         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
10132         (Makefile.am): Remove rules for test-fchmodat.
10133         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
10134         of module 'openat'.
10135         * NEWS: Mention the change.
10136
10137 2011-11-02  Jim Meyering  <meyering@redhat.com>
10138
10139         putenv: indent #definition of "environ" to placate cppi
10140         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
10141
10142         gitlog-to-changelog: provide a ChangeLog-repair mechanism
10143         Git logs are often treated as immutable, because editing them
10144         changes the SHA1 checksums of all descendants.  Thus, errors in
10145         git logs tend to stay there forever.  However, when we generate
10146         a ChangeLog file -- typically for distribution -- from that git log,
10147         we can actually make corrections in the generated file.  The key
10148         lies in recording in machine-readable/applicable form the desired
10149         corrections.  See --help for description and an example.
10150         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
10151         (usage): Describe it; alphabetize option descriptions.
10152         (main): Honor the new option, carefully.
10153
10154 2011-11-01  Jim Meyering  <meyering@redhat.com>
10155
10156         gitlog-to-changelog: avoid an infloop
10157         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
10158         that ends up being empty.
10159
10160 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10161
10162         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
10163         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
10164         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
10165         contains (possibly-quoted) backslashes.  This should avoid
10166         all-too-common shell bugs if COMPLICATED contains backslashes in
10167         the "wrong" places.  Reported by David Evans in
10168         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
10169         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
10170         because we want ASCII ranges.  Is there some reason we don't use
10171         the C locale everywhere in this script?
10172         (func_module, top level): Avoid unwanted pathname expansion when
10173         $repo_url_prefix or $repo_url_suffix_repl contain shell
10174         metacharacters like '?' and '*'.
10175
10176 2011-11-01  Bruno Haible  <bruno@clisp.org>
10177
10178         fchownat: Improve description.
10179         * modules/fchownat (Description): Add link to function.
10180
10181 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10182
10183         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
10184         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
10185         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
10186         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
10187
10188 2011-11-01  Bruno Haible  <bruno@clisp.org>
10189
10190         alignof: Avoid collision with stdalign module.
10191         * lib/alignof.h (alignof): Remove macro.
10192         * NEWS: Mention the change.
10193         Reported by Paul Eggert.
10194
10195 2011-11-01  Bruno Haible  <bruno@clisp.org>
10196
10197         New module 'fchownat', split off from module 'openat'.
10198         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
10199         defined.
10200         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
10201         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
10202         invoke gl_FUNC_FCHOWNAT.
10203         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
10204         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
10205         * modules/fchownat: New file, extracted from modules/openat.
10206         * modules/openat (Files): Remove lib/fchownat.c.
10207         (Depends-on): Remove lchown.
10208         (configure.ac): Remove AC_LIBOBJ of fchownat.
10209         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
10210         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
10211         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
10212         (Depends-on): Remove mgetgroups, usleep, stat-time.
10213         (configure.ac): Remove test for getegid.
10214         (Makefile.am): Remove rules for test-fchownat.
10215         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
10216         of module 'openat'.
10217         * NEWS: Mention the change.
10218
10219 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
10220
10221         stdalign: port better to MSVC and to Sun C 5.11
10222         This fixes some of the problems reported by Bruno Haible in
10223         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
10224         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
10225         shortcomings of MSVC and of Sun C 5.11.
10226         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
10227         around __declspec arg.
10228         * modules/stdalign-tests (Files): Add tests/macros.h.
10229         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
10230         Include macros.h, for ASSERT.
10231         (DECLARE_ALIGNED): Remove.
10232         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
10233         to catch bug), and to 1 if not (simplifies the rest of the code).
10234         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
10235         (CHECK_AUTO): Remove.
10236         (CHECK_ALIGNED): Check only the alignment of the static vars,
10237         since auto var alignment isn't supported by Sun C 5.11.
10238         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
10239         ASSERT failures are easier to diagnose.
10240
10241 2011-10-31  Bruno Haible  <bruno@clisp.org>
10242
10243         doc about some IRIX 5.3 problems.
10244         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
10245         on IRIX 5.3.
10246         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
10247         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
10248         5.3.
10249         * doc/posix-functions/grantpt.texi: Likewise.
10250         * doc/posix-functions/unlockpt.texi: Likewise.
10251         * doc/posix-functions/lgamma.texi: Likewise.
10252         * doc/posix-functions/nextafter.texi: Likewise.
10253         * doc/posix-functions/remainder.texi: Likewise.
10254         * doc/posix-functions/select.texi: Mention misplaced declaration on
10255         IRIX 5.3.
10256         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10257
10258 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
10259
10260         gitlog-to-changelog: fix git-log invocation.
10261         git-log mishandles date strings before 1970-01-01 UTC, and there is
10262         no use to specify --since=1970-01-01 by default anyway.
10263         * build-aux/gitlog-to-changelog: By default, when no --since option
10264         was given, do not specify explicit --since option to git-log.
10265
10266 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
10267
10268         gitlog-to-changelog: new option --append-dot.
10269         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
10270         first non-blank line of each commit message terminated with a dot.
10271
10272 2011-10-30  Bruno Haible  <bruno@clisp.org>
10273
10274         ffsl, ffsll: Avoid compilation error due to 'restrict'.
10275         * lib/ffsl.h: Include <config.h>.
10276         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
10277
10278 2011-10-30  Jim Meyering  <meyering@redhat.com>
10279
10280         GNUmakefile: reenable "make syntax-check" for most projects
10281         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
10282         build-aux variable", "syntax-check" would do nothing but succeed with
10283         the "No version control files detected..." diagnostic (unless you
10284         happened to override _build-aux via cfg.mk).
10285         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
10286         to precede inclusion of maint.mk.  Otherwise, these variables would
10287         be used undefined in any project that does not override the default.
10288
10289 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
10290
10291         gitlog-to-changelog: treat a message with only blank lines as empty.
10292         * build-aux/gitlog-to-changelog: Move the code that removes leading and
10293         trailing blank lines before the code that issues a warning about an
10294         empty commit message.
10295
10296 2011-10-30  Jim Meyering  <meyering@redhat.com>
10297
10298         test-parse-datetime.c: avoid new DST-related false positive test failure
10299         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
10300         based on the time/date we'll convert, not the current time.
10301         Otherwise, the moment we cross a DST boundary like today's in
10302         Europe, (CEST to CET), that offset ends up being one hour off.
10303
10304 2011-10-27  Bruno Haible  <bruno@clisp.org>
10305
10306         fstat: Tweak documentation.
10307         * modules/fstat (Description): More precise description.
10308
10309 2011-10-27  Bruno Haible  <bruno@clisp.org>
10310
10311         Update documentation regarding 'largefile' module.
10312         * doc/posix-functions/fstat.texi: Tweak wording.
10313         * doc/posix-functions/opendir.texi: Mention that the module fixes the
10314         problems with huge directories and/or small ino_t types.
10315         * doc/posix-functions/readdir.texi: Likewise.
10316         * doc/posix-functions/rewinddir.texi: Likewise.
10317
10318 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
10319
10320         maint.mk: don't maintain a second build-aux variable.
10321         * maint.mk (build_aux): Removed.  The maintainer-makefile module
10322         depends on GNUmakefile, which already maintains a cfg.mk
10323         overridable $(_build-aux) for projects with a non-standard
10324         build-aux directory location, although without the $(srcdir)
10325         prefix.  Use that variable consistently instead of introducing a
10326         second one.  Adjust all call sites.
10327
10328 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
10329
10330         Add stdalign module and use it in other modules.
10331         This is based on a previous proposal by Bruno Haible
10332         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
10333
10334         stdalign: new module
10335         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
10336         * modules/stdalign: New files.
10337         * MODULES.html.sh (c1x_core_properties): Add stdalign.
10338         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
10339
10340         stdalign-tests: new module
10341         * modules/stdalign-tests, tests/test-stdalign.c: New files.
10342
10343         argp: use stdalign
10344         * lib/argp-parse.c: Include <stdalign.h>.
10345         (alignof): Remove.
10346         * modules/argp (Depends-on): Add stdalign.
10347
10348         crypto libraries: use stdalign
10349         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
10350         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
10351         Do not include <stdlib.h> twice, in md4.c.
10352         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
10353         because we are accessing a pointer's bit-pattern, not a size.
10354         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
10355         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
10356         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
10357         * modules/crypto/sha512: Likewise.
10358
10359         sys_socket: use stdalign, not alignof
10360         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
10361         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
10362
10363 2011-10-27  Bruno Haible  <bruno@clisp.org>
10364
10365         raise test: Avoid a test failure on Linux/MIPS.
10366         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
10367         because 99 is a valid signal on Linux/MIPS.
10368
10369 2011-10-27  Bruno Haible  <bruno@clisp.org>
10370
10371         nonblocking tests: Fix test failure on Linux/MIPS.
10372         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
10373         Set to 270000.
10374
10375 2011-10-27  Bruno Haible  <bruno@clisp.org>
10376
10377         utimensat: Work around problem on Linux/hppa.
10378         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
10379         values.
10380         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
10381
10382 2011-10-25  Jim Meyering  <meyering@redhat.com>
10383
10384         maint.mk: fix a bug in sc_prohibit_stddef_without_use
10385         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
10386         after symbols like NULL, size_t, etc.
10387         Reported by Alfred M. Szmidt.
10388
10389         maint.mk: exempt ENODATA from a syntax-check rule
10390         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
10391         from the sc_prohibit_always-defined_macros syntax-check rule.
10392         Add a comment.  See this for more details:
10393         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
10394
10395 2011-10-23  Jim Meyering  <meyering@redhat.com>
10396
10397         fts: close parent dir FD before returning from post-traversal fts_read
10398         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
10399         unlink A, even though an FD open on A remained.  This is suboptimal
10400         (holding a file descriptor open longer than needed), but otherwise not
10401         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
10402         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
10403         that represents a real problem: it causes the removal of A to fail
10404         with e.g., "rm: cannot remove `A': Device or resource busy"
10405
10406         fts visits each directory twice and keeps a cache (fts_fd_ring) of
10407         directory file descriptors.  After completing the final, FTS_DP,
10408         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
10409         cache, but then proceeded to add a new FD to it via the subsequent
10410         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
10411         final file descriptor would be closed only via fts_close's call to
10412         fd_ring_clear.  Now, it is usually closed earlier, via the final
10413         FTS_DP-returning fts_read call.
10414         * lib/fts.c (restore_initial_cwd): New function, converted from
10415         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
10416         Update callers.
10417         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
10418         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
10419
10420 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
10421             Bruno Haible  <bruno@clisp.org>
10422             Jim Meyering  <jim@meyering.net>
10423
10424         readme-release: improve safety of release prep instructions.
10425         * README-release: Don't git pull all branches when only master
10426         is needed for the release process.
10427         Run make maintainer-clean before changing trees and merging.
10428         Don't try to run ./configure right after git pull in case files
10429         that influence the bootstrap process have changed, move the
10430         ./configure step to after running ./bootstrap.
10431         Don't bootstrap "one last time"... it's the first time!
10432
10433 2011-10-22  Bruno Haible  <bruno@clisp.org>
10434
10435         errno, strerror-override: Support for MSVC 10.
10436         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
10437         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
10438         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
10439         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
10440         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
10441         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
10442         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
10443         Assign values compatible with MSVC 10.
10444         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
10445         New macros.
10446         (GNULIB_defined_EWINSOCK): New macro.
10447         * lib/strerror-override.c (strerror_override): Update accordingly.
10448         * lib/strerror-override.h: Likewise.
10449         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
10450         longer equal to the corresponding errno value.
10451         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10452
10453 2011-10-22  Bruno Haible  <bruno@clisp.org>
10454
10455         perror: Recognize when test program crashes.
10456         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
10457         strerror, set gl_cv_func_perror_works to no.
10458         Reported by Daniel Richard G. <skunk@iskunk.org>.
10459
10460         perror: Fix indentation.
10461         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
10462
10463 2011-10-22  Bruno Haible  <bruno@clisp.org>
10464
10465         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
10466         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
10467         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
10468         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
10469         functions, not as a macro.
10470         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
10471         macros.
10472         (isfinite, isinf, isnan, signbit): Check overloaded functions and
10473         absence of macro.
10474         Suggested by Eric Blake.
10475         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10476
10477 2011-10-21  Bruno Haible  <bruno@clisp.org>
10478
10479         relocatable-prog-wrapper: Don't leave object files behind.
10480         * build-aux/install-reloc: Re-synchronize list of .o files to be
10481         removed with list of compilation units.
10482
10483 2011-10-20  Bruno Haible  <bruno@clisp.org>
10484
10485         openpty, posix_openpt: Remove code duplication.
10486         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
10487         * lib/openpty.c: Include <stdlib.h>.
10488         (openpty): Use posix_openpt on all platforms except IRIX.
10489         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
10490
10491 2011-10-20  Bruno Haible  <bruno@clisp.org>
10492
10493         unlockpt: Detect invalid argument.
10494         * lib/unlockpt.c: Include <fcntl.h>.
10495         (unlockpt): Check whether fd is valid, using fcntl().
10496         * modules/unlockpt (Depends-on): Add fcntl-h.
10497
10498 2011-10-20  Bruno Haible  <bruno@clisp.org>
10499
10500         openpty: Avoid compilation error on AIX 6.1.
10501         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
10502
10503 2011-10-20  Bruno Haible  <bruno@clisp.org>
10504
10505         posix_openpt: Support for OpenBSD.
10506         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
10507         (posix_openpt) [OpenBSD]: New code.
10508         * lib/grantpt.c: Include <fcntl.h>.
10509         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
10510         * modules/grantpt (Depends-on): Add fcntl-h.
10511
10512 2011-10-20  Bruno Haible  <bruno@clisp.org>
10513
10514         posix_openpt test: Coding style.
10515         * tests/test-posix_openpt.c: Use GNU coding style.
10516
10517 2011-10-20  Bruno Haible  <bruno@clisp.org>
10518
10519         grantpt: Support --avoid=pt_chown.
10520         * modules/grantpt (Files): Add lib/pty-private.h.
10521
10522 2011-10-20  Bruno Haible  <bruno@clisp.org>
10523
10524         posix_openpt: Fix autoconf macro.
10525         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
10526         unneeded check for _getpty.
10527
10528 2011-10-20  Bruno Haible  <bruno@clisp.org>
10529
10530         openpty: Update comments.
10531         * lib/openpty.c: Add comments about Minix.
10532
10533 2011-10-19  Eric Blake  <eblake@redhat.com>
10534
10535         openpty: relax license
10536         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
10537
10538         pt_chown: use configmake to simplify build
10539         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
10540
10541         ptsname and others: relax license
10542         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
10543         * modules/unlockpt (License): Likewise.
10544         * modules/pt_chown (License): Likewise.
10545         * modules/ptsname (License): Likewise.
10546         * modules/ttyname_r (License): Likewise.
10547
10548 2011-10-19  Jim Meyering  <meyering@redhat.com>
10549
10550         posix_openpt: remove spurious #endif
10551         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
10552
10553 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
10554
10555         maint.mk: Respect $(build_aux) in web-manual rule.
10556         * top/maint.mk (web-manual): Find gen-announce script in user's
10557         $(build_aux) directory instead of hard-coding 'build-aux'.
10558
10559 2011-10-19  Bruno Haible  <bruno@clisp.org>
10560
10561         posix_openpt: Fix compilation error.
10562         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
10563         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
10564         Mention the openpty module as an alternative.
10565
10566 2011-10-19  Bruno Haible  <bruno@clisp.org>
10567
10568         Support for old NeXTstep 3.3 frexp().
10569         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
10570         execution time of the test to 5 seconds.
10571         Reported by Daniel Richard G. <skunk@iskunk.org>.
10572
10573 2011-10-19  Bruno Haible  <bruno@clisp.org>
10574
10575         Support for old NeXTstep 3.3 sed.
10576         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
10577         part, use /.../, not \|...|. Escape periods in the header file name.
10578         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
10579         Reported by Daniel Richard G. <skunk@iskunk.org>.
10580
10581 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
10582
10583         Support for old NeXTstep 3.3 gcc.
10584         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
10585         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
10586         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
10587         * lib/spawn.in.h (_Restrict_arr_): Likewise.
10588         * lib/regex.h (_Restrict_arr_): Likewise.
10589         * lib/regex_internal.h (re_token_t): Likewise.
10590         * lib/regexec.c (check_node_accept_bytes): Likewise.
10591         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
10592
10593 2011-10-18  Eric Blake  <eblake@redhat.com>
10594
10595         posix_openpt: new module
10596         * modules/posix_openpt: New module.
10597         * m4/posix_openpt.m4: New file.
10598         * lib/posix_openpt.c: Likewise.
10599         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10600         (gl_STDLIB_H_DEFAULTS): Set defaults.
10601         * modules/stdlib (Makefile.am): Substitute macros.
10602         * lib/stdlib.in.h (posix_openpt): Declare.
10603         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
10604         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
10605         * modules/posix_openpt-tests: New test module.
10606         * tests/test-posix_openpt.c: New test.
10607
10608 2011-10-15  Bruno Haible  <bruno@clisp.org>
10609
10610         xstrtoll: Fix compilation failure.
10611         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
10612         from lib/strtol.c.
10613         * doc/posix-headers/limits.texi: Mention missing numerical limits on
10614         some platforms.
10615         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10616
10617 2011-10-15  Bruno Haible  <bruno@clisp.org>
10618
10619         vasnprintf: Optimize bit search operation.
10620         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
10621         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
10622         gl_DOUBLE_EXPONENT_LOCATION.
10623         * modules/vasnprintf (Files): Add m4/exponentd.m4.
10624         * modules/unistdio/u8-vasnprintf (Files): Likewise.
10625         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
10626         * modules/unistdio/u16-vasnprintf (Files): Likewise.
10627         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
10628         * modules/unistdio/u32-vasnprintf (Files): Likewise.
10629         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
10630         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
10631         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
10632
10633 2011-10-15  Bruno Haible  <bruno@clisp.org>
10634
10635         vasnprintf: Fix comments.
10636         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
10637
10638 2011-10-14  Bruno Haible  <bruno@clisp.org>
10639
10640         Tests for module 'integer_length_ll'.
10641         * modules/integer_length_ll-tests: New file.
10642         * tests/test-integer_length_ll.c: New file.
10643
10644         New module 'integer_length_ll'.
10645         * lib/integer_length_ll.c: New file.
10646         * modules/integer_length_ll: New file.
10647
10648 2011-10-14  Bruno Haible  <bruno@clisp.org>
10649
10650         Tests for module 'integer_length_l'.
10651         * modules/integer_length_l-tests: New file.
10652         * tests/test-integer_length_l.c: New file.
10653
10654         New module 'integer_length_l'.
10655         * lib/integer_length_l.c: New file.
10656         * modules/integer_length_l: New file.
10657
10658 2011-10-14  Bruno Haible  <bruno@clisp.org>
10659
10660         Tests for module 'integer_length'.
10661         * modules/integer_length-tests: New file.
10662         * tests/test-integer_length.c: New file.
10663
10664         New module 'integer_length'.
10665         * lib/integer_length.h: New file.
10666         * lib/integer_length.c: New file.
10667         * modules/integer_length: New file.
10668
10669 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
10670
10671         popen: Fix dependency conditions.
10672         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
10673
10674 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
10675
10676         perror: Fix autoconf test.
10677         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
10678         <stdlib.h> and <string.h>.
10679
10680 2011-10-14  Bruno Haible  <bruno@clisp.org>
10681
10682         ffsl: Optimize on 64-bit platforms.
10683         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
10684         unrolling.
10685
10686 2011-10-13  Bruno Haible  <bruno@clisp.org>
10687
10688         ffsl: Optimize on 32-bit platforms.
10689         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
10690         use ffs() without a loop.
10691
10692         ffsl, ffsll: Optimize for GCC.
10693         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
10694         * lib/ffsl.c (GCC_BUILTIN): New macro.
10695         * lib/ffsll.c (GCC_BUILTIN): Likewise.
10696
10697 2011-10-13  Bruno Haible  <bruno@clisp.org>
10698
10699         ffs, bcopy, memset: Support symbol renaming via config.h.
10700         * lib/ffs.c: Include <config.h>.
10701         * lib/bcopy.c: Likewise.
10702         * lib/memset.c: Likewise.
10703
10704 2011-10-10  Bruno Haible  <bruno@clisp.org>
10705
10706         atanl: Simplify for platforms where 'long double' == 'double'.
10707         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10708         alternative implementation.
10709         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10710         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10711         * modules/atanl (Depends-on): Add atan. Update conditions.
10712
10713 2011-10-10  Bruno Haible  <bruno@clisp.org>
10714
10715         acosl: Simplify for platforms where 'long double' == 'double'.
10716         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10717         alternative implementation.
10718         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10719         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10720         * modules/acosl (Depends-on): Add acos. Update conditions.
10721
10722 2011-10-10  Bruno Haible  <bruno@clisp.org>
10723
10724         asinl: Simplify for platforms where 'long double' == 'double'.
10725         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10726         alternative implementation.
10727         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10728         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10729         * modules/asinl (Depends-on): Add asin. Update conditions.
10730
10731 2011-10-10  Bruno Haible  <bruno@clisp.org>
10732
10733         tanl: Simplify for platforms where 'long double' == 'double'.
10734         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10735         implementation.
10736         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10737         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10738         * modules/tanl (Depends-on): Add tan. Update conditions.
10739         (configure.ac): Don't compile trigl.c if
10740         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10741
10742 2011-10-10  Bruno Haible  <bruno@clisp.org>
10743
10744         cosl: Simplify for platforms where 'long double' == 'double'.
10745         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10746         implementation.
10747         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10748         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10749         * modules/cosl (Depends-on): Add cos. Update conditions.
10750         (configure.ac): Don't compile sincosl.c and trigl.c if
10751         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10752
10753 2011-10-10  Bruno Haible  <bruno@clisp.org>
10754
10755         sinl: Simplify for platforms where 'long double' == 'double'.
10756         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10757         implementation.
10758         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10759         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10760         * modules/sinl (Depends-on): Add sin. Update conditions.
10761         (configure.ac): Don't compile sincosl.c and trigl.c if
10762         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10763
10764 2011-10-10  Bruno Haible  <bruno@clisp.org>
10765
10766         logl: Simplify for platforms where 'long double' == 'double'.
10767         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10768         implementation.
10769         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10770         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10771         * modules/logl (Depends-on): Add log. Update conditions.
10772
10773 2011-10-10  Bruno Haible  <bruno@clisp.org>
10774
10775         expl: Simplify for platforms where 'long double' == 'double'.
10776         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10777         implementation.
10778         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10779         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10780         * modules/expl (Depends-on): Add exp. Update conditions.
10781
10782 2011-10-10  Bruno Haible  <bruno@clisp.org>
10783
10784         sqrtl: Simplify for platforms where 'long double' == 'double'.
10785         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10786         alternative implementation.
10787         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10788         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10789         * modules/sqrtl (Depends-on): Update conditions.
10790
10791 2011-10-10  Bruno Haible  <bruno@clisp.org>
10792
10793         ldexpl: Simplify for platforms where 'long double' == 'double'.
10794         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10795         alternative implementation.
10796         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10797         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10798         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
10799
10800 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
10801
10802         ffsll: set correct witness
10803         * modules/ffsll (configure.ac): Fix typo.
10804
10805 2011-10-10  Bruno Haible  <bruno@clisp.org>
10806
10807         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
10808         * lib/printf-frexpl.c: Include <config.h>.
10809         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10810         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
10811         second time.
10812         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
10813         gl_LONG_DOUBLE_VS_DOUBLE.
10814         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
10815         conditions.
10816
10817 2011-10-10  Bruno Haible  <bruno@clisp.org>
10818
10819         frexpl: Simplify for platforms where 'long double' == 'double'.
10820         * lib/frexpl.c: Include <config.h>.
10821         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10822         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10823         time.
10824         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10825         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10826         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
10827         * modules/frexpl (Depends-on): Add frexp. Update conditions.
10828         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
10829         conditions.
10830
10831 2011-10-10  Jim Meyering  <meyering@redhat.com>
10832
10833         test-renameat: don't leave behind a temporary file
10834         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
10835           ERROR: files left in build directory after distclean:
10836           ./gltests/test-renameat.too
10837           make[1]: *** [distcleancheck] Error 1
10838         Reported by Tom G. Christensen.
10839
10840 2011-10-09  Bruno Haible  <bruno@clisp.org>
10841
10842         rint: Determine RINT_LIBM correctly on AIX 7.
10843         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
10844         directly, not only through a function pointer. Also accept an optional
10845         4th argument with extra code.
10846         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
10847         rintf() call by gcc when optimizing.
10848
10849         mathfunc.m4: Refactor.
10850         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
10851         m4 variable.
10852
10853 2011-10-09  Bruno Haible  <bruno@clisp.org>
10854
10855         rintl: Simplify for platforms where 'long double' == 'double'.
10856         * lib/rintl.c: Include <config.h>.
10857         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10858         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10859         time.
10860         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10861         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10862         * modules/rintl (Depends-on): Add rint. Update conditions.
10863
10864 2011-10-09  Bruno Haible  <bruno@clisp.org>
10865
10866         roundl: Simplify for platforms where 'long double' == 'double'.
10867         * lib/roundl.c: Include <config.h>.
10868         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10869         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10870         time.
10871         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10872         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10873         * modules/roundl (Depends-on): Add round. Update conditions.
10874
10875 2011-10-09  Bruno Haible  <bruno@clisp.org>
10876
10877         truncl: Simplify for platforms where 'long double' == 'double'.
10878         * lib/truncl.c: Include <config.h>.
10879         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10880         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10881         time.
10882         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10883         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10884         * modules/truncl (Depends-on): Add trunc. Update conditions.
10885
10886 2011-10-09  Bruno Haible  <bruno@clisp.org>
10887
10888         ceill: Simplify for platforms where 'long double' == 'double'.
10889         * lib/ceill.c: Include <config.h>.
10890         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10891         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10892         time.
10893         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10894         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10895         * modules/ceill (Depends-on): Add ceil. Update conditions.
10896
10897 2011-10-09  Bruno Haible  <bruno@clisp.org>
10898
10899         floorl: Simplify for platforms where 'long double' == 'double'.
10900         * lib/floorl.c: Include <config.h>.
10901         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10902         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10903         time.
10904         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10905         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10906         * modules/floorl (Depends-on): Add floor. Update conditions.
10907
10908 2011-10-09  Bruno Haible  <bruno@clisp.org>
10909
10910         rint: Fix ordering constraints.
10911         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
10912         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
10913         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
10914
10915 2011-10-09  Bruno Haible  <bruno@clisp.org>
10916
10917         copysignl: Simplify for platforms where 'long double' == 'double'.
10918         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10919         alternative.
10920         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10921         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10922         * modules/copysignl (Depends-on): Add copysign. Update conditions.
10923
10924 2011-10-09  Bruno Haible  <bruno@clisp.org>
10925
10926         Tests for module 'rintl'.
10927         * modules/rintl-tests: New file.
10928         * tests/test-rintl.c: New file.
10929
10930         New module 'rintl'.
10931         * lib/math.in.h (rintl): New declaration.
10932         * lib/rintl.c: New file.
10933         * m4/rintl.m4: New file.
10934         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
10935         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
10936         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
10937         * modules/rintl: New file.
10938         * tests/test-math-c++.cc: Check the declaration of rintl.
10939         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
10940         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
10941         * doc/posix-functions/rintl.texi: Mention the new module.
10942
10943 2011-10-09  Bruno Haible  <bruno@clisp.org>
10944
10945         Tests for module 'rintf'.
10946         * modules/rintf-tests: New file.
10947         * tests/test-rintf.c: New file.
10948
10949         New module 'rintf'.
10950         * lib/math.in.h (rintf): New declaration.
10951         * lib/rintf.c: New file.
10952         * m4/rintf.m4: New file.
10953         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
10954         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
10955         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
10956         * modules/rintf: New file.
10957         * tests/test-math-c++.cc: Check the declaration of rintf.
10958         * doc/posix-functions/rintf.texi: Mention the new module.
10959
10960 2011-10-09  Bruno Haible  <bruno@clisp.org>
10961
10962         rint: Support for MSVC.
10963         * lib/math.in.h (rint): New declaration.
10964         * lib/rint.c: New file.
10965         * m4/rint.m4: New file.
10966         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
10967         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
10968         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
10969         * modules/rint (Description): Fix.
10970         (Files): Add lib/rint.c, m4/rint.m4.
10971         (Depends-on): Add math.
10972         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
10973         gl_MATH_MODULE_INDICATOR.
10974         * tests/test-math-c++.cc: Check the declaration of rint.
10975         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
10976         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
10977         * doc/posix-functions/rint.texi: Mention the replacement provided by
10978         the module.
10979
10980         rint tests: More tests.
10981         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
10982         minus-zero.h, infinity.h, nan.h.
10983         (main): Skip the test if the current rounding mode is not standard. Add
10984         tests for negative numbers, minus zero, infinity, NaN.
10985         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
10986         tests/nan.h.
10987         (Depends-on): Add isnand-nolibm.
10988
10989 2011-10-09  Bruno Haible  <bruno@clisp.org>
10990
10991         Tests for module 'copysignl'.
10992         * modules/copysignl-tests: New file.
10993         * tests/test-copysignl.c: New file.
10994
10995         New module 'copysignl'.
10996         * lib/math.in.h (copysignl): New declaration.
10997         * lib/copysignl.c: New file.
10998         * m4/copysignl.m4: New file.
10999         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
11000         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
11001         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
11002         HAVE_COPYSIGNL.
11003         * modules/copysignl: New file.
11004         * tests/test-math-c++.cc: Check the declaration of copysignl.
11005         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11006         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
11007         * doc/posix-functions/copysignl.texi: Mention the new module.
11008
11009 2011-10-09  Bruno Haible  <bruno@clisp.org>
11010
11011         Tests for module 'copysignf'.
11012         * modules/copysignf-tests: New file.
11013         * tests/test-copysignf.c: New file.
11014
11015         New module 'copysignf'.
11016         * lib/math.in.h (copysignf): New declaration.
11017         * lib/copysignf.c: New file.
11018         * m4/copysignf.m4: New file.
11019         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
11020         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
11021         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
11022         HAVE_COPYSIGNF.
11023         * modules/copysignf: New file.
11024         * tests/test-math-c++.cc: Check the declaration of copysignf.
11025         * doc/posix-functions/copysignf.texi: Mention the new module.
11026
11027 2011-10-09  Bruno Haible  <bruno@clisp.org>
11028
11029         Ensure that HAVE_* variables are set to 1 before they are set to 0.
11030         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
11031         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
11032         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11033         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
11034         gl_SIGNAL_H_DEFAULTS.
11035
11036 2011-10-09  Bruno Haible  <bruno@clisp.org>
11037
11038         poll: Make macro safer.
11039         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
11040         ac_cv_header_poll_h is not set.
11041
11042 2011-10-09  Bruno Haible  <bruno@clisp.org>
11043
11044         copysign: Provide replacement.
11045         * lib/math.in.h (copysign): New declaration.
11046         * lib/copysign.c: New file.
11047         * m4/copysign.m4: New file.
11048         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
11049         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
11050         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
11051         HAVE_COPYSIGN.
11052         * modules/copysign (Description): Clarify.
11053         (Files): Add lib/copysign.c, m4/copysign.m4.
11054         (Depends-on): Add math, signbit.
11055         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
11056         gl_MATH_MODULE_INDICATOR.
11057         * tests/test-math-c++.cc: Check the declaration of copysign.
11058         * doc/posix-functions/copysign.texi: Mention the effects of the module
11059         on Minix and MSVC.
11060
11061 2011-10-09  Bruno Haible  <bruno@clisp.org>
11062
11063         isinf: Ensure macro on AIX 5.1.
11064         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
11065         macro.
11066         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
11067
11068 2011-10-09  Bruno Haible  <bruno@clisp.org>
11069
11070         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
11071         * modules/snprintf-posix-tests (configure.ac): Require
11072         gl_LONG_DOUBLE_VS_DOUBLE.
11073         * modules/sprintf-posix-tests (configure.ac): Likewise.
11074         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
11075         * modules/vasprintf-posix-tests (configure.ac): Likewise.
11076         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
11077         * modules/vsprintf-posix-tests (configure.ac): Likewise.
11078         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
11079         tests on platforms where 'long double' is the same as 'double'.
11080         * tests/test-sprintf-posix.h (test_function): Likewise.
11081         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11082         * tests/test-vasprintf-posix.c (test_function): Likewise.
11083
11084         *printf: Fix for platforms where 'long double' == 'double'.
11085         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
11086         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
11087         * modules/dprintf-posix (Files): Add m4/math_h.m4.
11088         * modules/fprintf-posix (Files): Likewise.
11089         * modules/obstack-printf-posix (Files): Likewise.
11090         * modules/snprintf-posix (Files): Likewise.
11091         * modules/sprintf-posix (Files): Likewise.
11092         * modules/vasnprintf (Files): Likewise.
11093         * modules/vasnprintf-posix (Files): Likewise.
11094         * modules/vasprintf-posix (Files): Likewise.
11095         * modules/vdprintf-posix (Files): Likewise.
11096         * modules/vfprintf-posix (Files): Likewise.
11097         * modules/vsnprintf-posix (Files): Likewise.
11098         * modules/vsprintf-posix (Files): Likewise.
11099         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11100         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11101         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11102         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11103         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11104         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11105         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11106
11107         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
11108         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
11109         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11110         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
11111         'long double'.
11112         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
11113
11114         isinf: Fix for platforms where 'long double' == 'double'.
11115         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11116         Don't blindly assume 80-bit 'long double'.
11117
11118         isfinite: Fix for platforms where 'long double' == 'double'.
11119         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11120         Don't blindly assume 80-bit 'long double'.
11121
11122         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
11123         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
11124         * modules/isfinite-tests (configure.ac): Require
11125         gl_LONG_DOUBLE_VS_DOUBLE.
11126         * modules/isinf-tests (configure.ac): Likewise.
11127         * modules/isnan-tests (configure.ac): Likewise.
11128         * modules/isnanl-tests (configure.ac): Likewise.
11129         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
11130         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
11131         tests on platforms where 'long double' is the same as 'double'.
11132         * tests/test-isinf.c (test_isinfl): Likewise.
11133         * tests/test-isnan.c (test_long_double): Likewise.
11134         * tests/test-isnanl.h (main): Likewise.
11135
11136 2011-10-08  Bruno Haible  <bruno@clisp.org>
11137
11138         Tests for module 'tanhf'.
11139         * modules/tanhf-tests: New file.
11140         * tests/test-tanhf.c: New file.
11141
11142         New module 'tanhf'.
11143         * lib/math.in.h (tanhf): New declaration.
11144         * lib/tanhf.c: New file.
11145         * m4/tanhf.m4: New file.
11146         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
11147         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
11148         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
11149         * modules/tanhf: New file.
11150         * tests/test-math-c++.cc: Check the declaration of tanhf.
11151         * doc/posix-functions/tanhf.texi: Mention the new module.
11152
11153         tanh: Use a .m4 file.
11154         * m4/tanh.m4: New file.
11155         * modules/tanh (Files): Add it.
11156         (configure.ac): Just invoke gl_FUNC_TANH.
11157
11158 2011-10-08  Bruno Haible  <bruno@clisp.org>
11159
11160         Tests for module 'coshf'.
11161         * modules/coshf-tests: New file.
11162         * tests/test-coshf.c: New file.
11163
11164         New module 'coshf'.
11165         * lib/math.in.h (coshf): New declaration.
11166         * lib/coshf.c: New file.
11167         * m4/coshf.m4: New file.
11168         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
11169         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
11170         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
11171         * modules/coshf: New file.
11172         * tests/test-math-c++.cc: Check the declaration of coshf.
11173         * doc/posix-functions/coshf.texi: Mention the new module.
11174
11175         cosh: Use a .m4 file.
11176         * m4/cosh.m4: New file.
11177         * modules/cosh (Files): Add it.
11178         (configure.ac): Just invoke gl_FUNC_COSH.
11179
11180 2011-10-08  Bruno Haible  <bruno@clisp.org>
11181
11182         Tests for module 'sinhf'.
11183         * modules/sinhf-tests: New file.
11184         * tests/test-sinhf.c: New file.
11185
11186         New module 'sinhf'.
11187         * lib/math.in.h (sinhf): New declaration.
11188         * lib/sinhf.c: New file.
11189         * m4/sinhf.m4: New file.
11190         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
11191         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
11192         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
11193         * modules/sinhf: New file.
11194         * tests/test-math-c++.cc: Check the declaration of sinhf.
11195         * doc/posix-functions/sinhf.texi: Mention the new module.
11196
11197         sinh: Use a .m4 file.
11198         * m4/sinh.m4: New file.
11199         * modules/sinh (Files): Add it.
11200         (configure.ac): Just invoke gl_FUNC_SINH.
11201
11202 2011-10-08  Bruno Haible  <bruno@clisp.org>
11203
11204         Tests for module 'atan2f'.
11205         * modules/atan2f-tests: New file.
11206         * tests/test-atan2f.c: New file.
11207
11208         New module 'atan2f'.
11209         * lib/math.in.h (atan2f): New declaration.
11210         * lib/atan2f.c: New file.
11211         * m4/atan2f.m4: New file.
11212         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
11213         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
11214         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
11215         * modules/atan2f: New file.
11216         * tests/test-math-c++.cc: Check the declaration of atan2f.
11217         * doc/posix-functions/atan2f.texi: Mention the new module.
11218
11219         atan2: Use a .m4 file.
11220         * m4/atan2.m4: New file.
11221         * modules/atan2 (Files): Add it.
11222         (configure.ac): Just invoke gl_FUNC_ATAN2.
11223
11224 2011-10-08  Bruno Haible  <bruno@clisp.org>
11225
11226         Tests for module 'atanf'.
11227         * modules/atanf-tests: New file.
11228         * tests/test-atanf.c: New file.
11229
11230         New module 'atanf'.
11231         * lib/math.in.h (atanf): New declaration.
11232         * lib/atanf.c: New file.
11233         * m4/atanf.m4: New file.
11234         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
11235         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
11236         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
11237         * modules/atanf: New file.
11238         * tests/test-math-c++.cc: Check the declaration of atanf.
11239         * doc/posix-functions/atanf.texi: Mention the new module.
11240
11241         atan: Use a .m4 file.
11242         * m4/atan.m4: New file.
11243         * modules/atan (Files): Add it.
11244         (configure.ac): Just invoke gl_FUNC_ATAN.
11245
11246 2011-10-08  Bruno Haible  <bruno@clisp.org>
11247
11248         Tests for module 'acosf'.
11249         * modules/acosf-tests: New file.
11250         * tests/test-acosf.c: New file.
11251
11252         New module 'acosf'.
11253         * lib/math.in.h (acosf): New declaration.
11254         * lib/acosf.c: New file.
11255         * m4/acosf.m4: New file.
11256         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
11257         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
11258         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
11259         * modules/acosf: New file.
11260         * tests/test-math-c++.cc: Check the declaration of acosf.
11261         * doc/posix-functions/acosf.texi: Mention the new module.
11262
11263         acos: Use a .m4 file.
11264         * m4/acos.m4: New file.
11265         * modules/acos (Files): Add it.
11266         (configure.ac): Just invoke gl_FUNC_ACOS.
11267
11268 2011-10-08  Bruno Haible  <bruno@clisp.org>
11269
11270         Tests for module 'asinf'.
11271         * modules/asinf-tests: New file.
11272         * tests/test-asinf.c: New file.
11273
11274         New module 'asinf'.
11275         * lib/math.in.h (asinf): New declaration.
11276         * lib/asinf.c: New file.
11277         * m4/asinf.m4: New file.
11278         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
11279         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
11280         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
11281         * modules/asinf: New file.
11282         * tests/test-math-c++.cc: Check the declaration of asinf.
11283         * doc/posix-functions/asinf.texi: Mention the new module.
11284
11285         asin: Use a .m4 file.
11286         * m4/asin.m4: New file.
11287         * modules/asin (Files): Add it.
11288         (configure.ac): Just invoke gl_FUNC_ASIN.
11289
11290 2011-10-08  Bruno Haible  <bruno@clisp.org>
11291
11292         Tests for module 'tanf'.
11293         * modules/tanf-tests: New file.
11294         * tests/test-tanf.c: New file.
11295
11296         New module 'tanf'.
11297         * lib/math.in.h (tanf): New declaration.
11298         * lib/tanf.c: New file.
11299         * m4/tanf.m4: New file.
11300         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
11301         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
11302         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
11303         * modules/tanf: New file.
11304         * tests/test-math-c++.cc: Check the declaration of tanf.
11305         * doc/posix-functions/tanf.texi: Mention the new module.
11306
11307         tan: Use a .m4 file.
11308         * m4/tan.m4: New file.
11309         * modules/tan (Files): Add it.
11310         (configure.ac): Just invoke gl_FUNC_TAN.
11311
11312 2011-10-08  Bruno Haible  <bruno@clisp.org>
11313
11314         Tests for module 'cosf'.
11315         * modules/cosf-tests: New file.
11316         * tests/test-cosf.c: New file.
11317
11318         New module 'cosf'.
11319         * lib/math.in.h (cosf): New declaration.
11320         * lib/cosf.c: New file.
11321         * m4/cosf.m4: New file.
11322         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
11323         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
11324         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
11325         * modules/cosf: New file.
11326         * tests/test-math-c++.cc: Check the declaration of cosf.
11327         * doc/posix-functions/cosf.texi: Mention the new module.
11328
11329         cos: Use a .m4 file.
11330         * m4/cos.m4: New file.
11331         * modules/cos (Files): Add it.
11332         (configure.ac): Just invoke gl_FUNC_COS.
11333
11334 2011-10-08  Bruno Haible  <bruno@clisp.org>
11335
11336         Tests for module 'sinf'.
11337         * modules/sinf-tests: New file.
11338         * tests/test-sinf.c: New file.
11339
11340         New module 'sinf'.
11341         * lib/math.in.h (sinf): New declaration.
11342         * lib/sinf.c: New file.
11343         * m4/sinf.m4: New file.
11344         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
11345         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
11346         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
11347         * modules/sinf: New file.
11348         * tests/test-math-c++.cc: Check the declaration of sinf.
11349         * doc/posix-functions/sinf.texi: Mention the new module.
11350
11351         sin: Use a .m4 file.
11352         * m4/sin.m4: New file.
11353         * modules/sin (Files): Add it.
11354         (configure.ac): Just invoke gl_FUNC_SIN.
11355
11356 2011-10-08  Bruno Haible  <bruno@clisp.org>
11357
11358         Tests for module 'powf'.
11359         * modules/powf-tests: New file.
11360         * tests/test-powf.c: New file.
11361
11362         New module 'powf'.
11363         * lib/math.in.h (powf): New declaration.
11364         * lib/powf.c: New file.
11365         * m4/powf.m4: New file.
11366         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
11367         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
11368         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
11369         * modules/powf: New file.
11370         * tests/test-math-c++.cc: Check the declaration of powf.
11371         * doc/posix-functions/powf.texi: Mention the new module.
11372
11373         pow: Use a .m4 file.
11374         * m4/pow.m4: New file.
11375         * modules/pow (Files): Add it.
11376         (configure.ac): Just invoke gl_FUNC_POW.
11377
11378 2011-10-08  Bruno Haible  <bruno@clisp.org>
11379
11380         Tests for module 'log10f'.
11381         * modules/log10f-tests: New file.
11382         * tests/test-log10f.c: New file.
11383
11384         New module 'log10f'.
11385         * lib/math.in.h (log10f): New declaration.
11386         * lib/log10f.c: New file.
11387         * m4/log10f.m4: New file.
11388         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
11389         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
11390         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
11391         * modules/log10f: New file.
11392         * tests/test-math-c++.cc: Check the declaration of log10f.
11393         * doc/posix-functions/log10f.texi: Mention the new module.
11394
11395         log10: Use a .m4 file.
11396         * m4/log10.m4: New file.
11397         * modules/log10 (Files): Add it.
11398         (configure.ac): Just invoke gl_FUNC_LOG10.
11399
11400 2011-10-08  Bruno Haible  <bruno@clisp.org>
11401
11402         Tests for module 'logf'.
11403         * modules/logf-tests: New file.
11404         * tests/test-logf.c: New file.
11405
11406         New module 'logf'.
11407         * lib/math.in.h (logf): New declaration.
11408         * lib/logf.c: New file.
11409         * m4/logf.m4: New file.
11410         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
11411         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
11412         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
11413         * modules/logf: New file.
11414         * tests/test-math-c++.cc: Check the declaration of logf.
11415         * doc/posix-functions/logf.texi: Mention the new module.
11416
11417         log: Use a .m4 file.
11418         * m4/log.m4: New file.
11419         * modules/log (Files): Add it.
11420         (configure.ac): Just invoke gl_FUNC_LOG.
11421
11422 2011-10-08  Bruno Haible  <bruno@clisp.org>
11423
11424         Tests for module 'expf'.
11425         * modules/expf-tests: New file.
11426         * tests/test-expf.c: New file.
11427
11428         New module 'expf'.
11429         * lib/math.in.h (expf): New declaration.
11430         * lib/expf.c: New file.
11431         * m4/expf.m4: New file.
11432         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
11433         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
11434         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
11435         * modules/expf: New file.
11436         * tests/test-math-c++.cc: Check the declaration of expf.
11437         * doc/posix-functions/expf.texi: Mention the new module.
11438
11439         exp: Use a .m4 file.
11440         * m4/exp.m4: New file.
11441         * modules/exp (Files): Add it.
11442         (configure.ac): Just invoke gl_FUNC_EXP.
11443
11444 2011-10-08  Bruno Haible  <bruno@clisp.org>
11445
11446         Tests for module 'sqrtf'.
11447         * modules/sqrtf-tests: New file.
11448         * tests/test-sqrtf.c: New file.
11449
11450         New module 'sqrtf'.
11451         * lib/math.in.h (sqrtf): New declaration.
11452         * lib/sqrtf.c: New file.
11453         * m4/sqrtf.m4: New file.
11454         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
11455         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
11456         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
11457         * modules/sqrtf: New file.
11458         * tests/test-math-c++.cc: Check the declaration of sqrtf.
11459         * doc/posix-functions/sqrtf.texi: Mention the new module.
11460
11461 2011-10-08  Bruno Haible  <bruno@clisp.org>
11462
11463         Tests: Avoid link failures w.r.t. libintl.
11464         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
11465         $(LIBINTL).
11466         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
11467         $(LIBINTL).
11468         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
11469         against $(LIBINTL).
11470         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
11471         $(LIBINTL).
11472         * modules/openat-tests (Makefile.am): Link test-fchmodat against
11473         $(LIBINTL).
11474         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
11475
11476 2011-10-08  Bruno Haible  <bruno@clisp.org>
11477
11478         pow tests: Defeat compiler optimizations.
11479         * tests/test-pow.c (main): Assign arguments to x and y before use.
11480
11481 2011-10-08  Bruno Haible  <bruno@clisp.org>
11482
11483         gnulib-tool: Improve last commit.
11484         * gnulib-tool (func_modules_transitive_closure): Simplify code.
11485         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
11486         ignore dependencies that are not among the modules list.
11487
11488 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
11489
11490         gnulib-tool: don't follow dependencies to avoided modules
11491         This fixes a bug that is related to the previous one.
11492         * gnulib-tool (func_modules_transitive_closure)
11493         (func_emit_autoconf_snippets):
11494         Check whether a dependency is acceptable before using it.
11495         (--extract-dependencies): Report an error if --avoid is also used,
11496         since this combination of options is not yet supported.
11497
11498         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
11499         Problem reported by Peter Dyballa in
11500         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
11501         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
11502         when echoing "$condition".
11503
11504 2011-10-07  Bruno Haible  <bruno@clisp.org>
11505
11506         Fix documentation about math functions on MacOS X.
11507         * doc/posix-functions/exp2.texi: Don't say the function is missing on
11508         MacOS X 10.5.
11509         * doc/posix-functions/fdim.texi: Likewise.
11510         * doc/posix-functions/feclearexcept.texi: Likewise.
11511         * doc/posix-functions/fegetenv.texi: Likewise.
11512         * doc/posix-functions/fegetround.texi: Likewise.
11513         * doc/posix-functions/feholdexcept.texi: Likewise.
11514         * doc/posix-functions/feraiseexcept.texi: Likewise.
11515         * doc/posix-functions/fesetenv.texi: Likewise.
11516         * doc/posix-functions/fesetround.texi: Likewise.
11517         * doc/posix-functions/fetestexcept.texi: Likewise.
11518         * doc/posix-functions/feupdateenv.texi: Likewise.
11519         * doc/posix-functions/fmax.texi: Likewise.
11520         * doc/posix-functions/fmin.texi: Likewise.
11521         * doc/posix-functions/log2.texi: Likewise.
11522         * doc/posix-functions/modff.texi: Likewise.
11523         * doc/posix-functions/nan.texi: Likewise.
11524         * doc/posix-functions/nanf.texi: Likewise.
11525         * doc/posix-functions/nextafterf.texi: Likewise.
11526         * doc/posix-functions/remquo.texi: Likewise.
11527
11528 2011-10-07  Bruno Haible  <bruno@clisp.org>
11529
11530         modff: Drop assumption about library that defines modff.
11531         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
11532         AC_CHECK_FUNCS.
11533         * modules/modff (Files): Add m4/mathfunc.m4.
11534
11535 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
11536
11537         raise tests: Avoid a GCC warning.
11538         * tests/test-raise.c (handler): Use _Noreturn.
11539
11540 2011-10-07  Bruno Haible  <bruno@clisp.org>
11541
11542         Tests for module 'ldexpf'.
11543         * modules/ldexpf-tests: New file.
11544         * tests/test-ldexpf.c: New file.
11545
11546         New module 'ldexpf'.
11547         * lib/math.in.h (ldexpf): New declaration.
11548         * lib/ldexpf.c: New file.
11549         * m4/ldexpf.m4: New file.
11550         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
11551         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
11552         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
11553         * modules/ldexpf: New file.
11554         * tests/test-math-c++.cc: Check the declaration of ldexpf.
11555         * doc/posix-functions/ldexpf.texi: Mention the new module.
11556
11557 2011-10-06  Bruno Haible  <bruno@clisp.org>
11558
11559         frexpf: Work around problems on IRIX and mingw.
11560         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
11561         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
11562         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
11563         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
11564         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
11565         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
11566         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
11567
11568 2011-10-06  Bruno Haible  <bruno@clisp.org>
11569
11570         fabsf: Drop assumption about library that defines fabsf.
11571         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
11572         AC_CHECK_FUNCS.
11573         * modules/fabsf (Files): Add m4/mathfunc.m4.
11574
11575 2011-10-06  Bruno Haible  <bruno@clisp.org>
11576
11577         frexpf: Drop assumption about library that defines frexpf.
11578         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
11579         'int *', 'float *', 'long double *', 'float', 'long double'.
11580         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
11581         AC_CHECK_FUNCS.
11582         * modules/frexpf (Files): Add m4/mathfunc.m4.
11583
11584         Tests for module 'frexpf'.
11585         * modules/frexpf-tests: New file.
11586         * tests/test-frexpf.c: New file.
11587
11588         New module 'frexpf'.
11589         * lib/math.in.h (frexpf): New declaration.
11590         * lib/frexpf.c: New file.
11591         * m4/frexpf.m4: New file.
11592         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
11593         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
11594         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
11595         * modules/frexpf: New file.
11596         * tests/test-math-c++.cc: Check the declaration of frexpf.
11597         * doc/posix-functions/frexpf.texi: Mention the new module.
11598
11599 2011-10-06  Bruno Haible  <bruno@clisp.org>
11600
11601         math: Sort function declarations of math.in.h.
11602         * lib/math.in.h (frexp, logb): Move declarations.
11603
11604 2011-10-05  Bruno Haible  <bruno@clisp.org>
11605
11606         Tests for module 'modff'.
11607         * modules/modff-tests: New file.
11608         * tests/test-modff.c: New file.
11609
11610         New module 'modff'.
11611         * lib/math.in.h (modff): New declaration.
11612         * lib/modff.c: New file.
11613         * m4/modff.m4: New file.
11614         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
11615         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
11616         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
11617         * modules/modff: New file.
11618         * tests/test-math-c++.cc: Check the declaration of modff.
11619         * doc/posix-functions/modff.texi: Mention the new module.
11620
11621         modf tests: Make test sharper.
11622         * tests/test-modf.c (main): Strengthen upper bound.
11623
11624         modf: Use a .m4 file.
11625         * m4/modf.m4: New file.
11626         * modules/modf (Files): Add it.
11627         (configure.ac): Just invoke gl_FUNC_MODF.
11628
11629 2011-10-05  Bruno Haible  <bruno@clisp.org>
11630
11631         Tests for module 'fmodf'.
11632         * modules/fmodf-tests: New file.
11633         * tests/test-fmodf.c: New file.
11634
11635         New module 'fmodf'.
11636         * lib/math.in.h (fmodf): New declaration.
11637         * lib/fmodf.c: New file.
11638         * m4/fmodf.m4: New file.
11639         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
11640         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
11641         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
11642         * modules/fmodf: New file.
11643         * tests/test-math-c++.cc: Check the declaration of fmodf.
11644         * doc/posix-functions/fmodf.texi: Mention the new module.
11645
11646         fmod: Use a .m4 file.
11647         * m4/fmod.m4: New file.
11648         * modules/fmod (Files): Add it.
11649         (configure.ac): Just invoke gl_FUNC_FMOD.
11650
11651 2011-10-05  Bruno Haible  <bruno@clisp.org>
11652
11653         Tests for module 'fabsf'.
11654         * modules/fabsf-tests: New file.
11655         * tests/test-fabsf.c: New file.
11656
11657         New module 'fabsf'.
11658         * lib/math.in.h (fabsf): New declaration.
11659         * lib/fabsf.c: New file.
11660         * m4/fabsf.m4: New file.
11661         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
11662         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
11663         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
11664         * modules/fabsf: New file.
11665         * tests/test-math-c++.cc: Check the declaration of fabsf.
11666         * doc/posix-functions/fabsf.texi: Mention the new module.
11667
11668         fabs: Use a .m4 file.
11669         * m4/fabs.m4: New file.
11670         * modules/fabs (Files): Add it.
11671         (configure.ac): Just invoke gl_FUNC_FABS.
11672
11673 2011-10-05  Jim Meyering  <meyering@redhat.com>
11674
11675         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
11676         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
11677         ls -lL regression introduced in coreutils-8.12, it does so at the
11678         cost of an additional stat call in the common case.  Besides, now
11679         that the kernel change that prompted commit 95f7c57f has been reverted
11680         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
11681         we have no use for commit 95f7c57f, "file-has-acl: use
11682         acl_extended_file_nofollow if available".
11683
11684 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
11685
11686         file-has-acl: revert unintended change in behavior of ls -L
11687         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
11688         derived from...
11689         (file_has_acl): ...code here.  Call it.
11690         This problem was introduced with 2011-07-22 commit 95f7c57f,
11691         "file-has-acl: use acl_extended_file_nofollow if available".
11692         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
11693
11694 2011-10-03  Bruno Haible  <bruno@clisp.org>
11695
11696         poll: Avoid link errors on MSVC.
11697         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
11698         * modules/poll (Depends-on): Add sockets.
11699         (Link): New section.
11700         * NEWS: Mention the change.
11701         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
11702         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
11703         $(LIB_POLL) instead of $(LIBSOCKET).
11704
11705 2011-10-03  Bruno Haible  <bruno@clisp.org>
11706
11707         sys_select tests: Fix link error on MSVC 9.
11708         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
11709         with $(LIB_SELECT) instead of $(LIBSOCKET).
11710
11711 2011-10-03  Bruno Haible  <bruno@clisp.org>
11712
11713         sys_select: Fix compilation error on mingw.
11714         * lib/sys_select.in.h: On native Windows, include <io.h>.
11715
11716 2011-10-03  Bruno Haible  <bruno@clisp.org>
11717
11718         wmemset: Support for MSVC.
11719         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
11720         whether wmemset() exists.
11721
11722 2011-10-03  Bruno Haible  <bruno@clisp.org>
11723
11724         wmemmove: Support for MSVC.
11725         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
11726         whether wmemmove() exists.
11727
11728 2011-10-03  Bruno Haible  <bruno@clisp.org>
11729
11730         wmemcpy: Support for MSVC.
11731         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
11732         whether wmemcpy() exists.
11733
11734 2011-10-03  Bruno Haible  <bruno@clisp.org>
11735
11736         wmemcmp: Support for MSVC.
11737         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
11738         whether wmemcmp() exists.
11739
11740 2011-10-03  Bruno Haible  <bruno@clisp.org>
11741
11742         wmemchr: Support for MSVC.
11743         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
11744         whether wmemchr() exists.
11745
11746 2011-10-03  Bruno Haible  <bruno@clisp.org>
11747
11748         glthread/*, strsignal: Support for MSVC.
11749         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
11750         including <winsock.h> on MSVC 9.
11751         * lib/glthread/lock.h: Likewise.
11752         * lib/glthread/thread.h: Likewise.
11753         * lib/glthread/tls.h: Likewise.
11754         * lib/glthread/yield.h: Likewise.
11755         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
11756         if HAVE_UNISTD_H is false.
11757         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
11758
11759 2011-10-03  Bruno Haible  <bruno@clisp.org>
11760
11761         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
11762         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
11763         Set to 100000.
11764
11765 2011-10-03  Bruno Haible  <bruno@clisp.org>
11766
11767         acl: Fix specification.
11768         * lib/file-has-acl.c (file_has_acl): Fix specification.
11769
11770 2011-10-03  Bruno Haible  <bruno@clisp.org>
11771
11772         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
11773         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
11774         (compute_curr_prefix, shared_library_fullname,
11775         find_shared_library_fullname, get_shared_library_fullname, relocate):
11776         Use it together with PIC && INSTALLDIR.
11777         Reported by <jojelino@gmail.com>
11778         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
11779
11780 2011-10-01  Jim Meyering  <meyering@redhat.com>
11781
11782         maint.mk: adjust a release-related rule not to require use of gzip
11783         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
11784         Instead, check each file in $(DIST_ARCHIVES).  This is better for
11785         projects that build only .tar.xz files.  Also fix an erroneous test.
11786
11787         test-linkat: don't leave behind a temporary file
11788         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
11789         Otherwise, coreutils' "make distcheck" would fail with this:
11790           Only in /c/cu/tests/torture/coreutils/test/\
11791             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
11792           make[2]: *** [my-distcheck] Error 1
11793
11794         float, math: add omitted file
11795         * lib/itold.c: Add file, required for yesterday's float change.
11796
11797 2011-10-01  Bruno Haible  <bruno@clisp.org>
11798
11799         isinf: Fix for OpenBSD/x86.
11800         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
11801         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
11802         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
11803
11804 2011-10-01  Bruno Haible  <bruno@clisp.org>
11805
11806         isfinite: Fix syntax error in configure test.
11807         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
11808
11809         isfinite: Fix typo.
11810         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
11811         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
11812
11813 2011-10-01  Bruno Haible  <bruno@clisp.org>
11814
11815         nonblocking tests: Fix test failure on Linux/IA-64.
11816         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
11817         Set to 270000.
11818
11819 2011-10-01  Bruno Haible  <bruno@clisp.org>
11820
11821         mkfifoat tests: Fix a test failure on mingw.
11822         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
11823         with error ENOSYS.
11824
11825 2011-09-30  Bruno Haible  <bruno@clisp.org>
11826
11827         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
11828         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
11829         'long double'. Set REPLACE_ITOLD.
11830         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
11831         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
11832         * lib/itold.c: New file.
11833         * modules/float (Files): Add lib/itold.c.
11834         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
11835         (Makefile.am): Substitute REPLACE_ITOLD.
11836         * modules/math (Depends-on): Add float.
11837         (Makefile.am): Substitute REPLACE_ITOLD.
11838         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
11839         * doc/posix-headers/math.texi: Likewise.
11840         * doc/posix-functions/logl.texi: Likewise.
11841
11842 2011-09-30  Bruno Haible  <bruno@clisp.org>
11843
11844         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
11845         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
11846         Set to 140000.
11847
11848 2011-09-30  Bruno Haible  <bruno@clisp.org>
11849
11850         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
11851         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
11852         invocation, say "right after AC_PROG_CC_STDC", not "right after
11853         AC_PROG_CC".
11854         Reported by Gary V. Vaughan <gary@gnu.org>.
11855
11856 2011-09-30  Bruno Haible  <bruno@clisp.org>
11857
11858         Centralize C99 requirement.
11859         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
11860         * modules/stdarg (configure.ac-early): Invoke it instead of
11861         AC_PROG_CC_STDC.
11862         Reported by Gary V. Vaughan and Paul Eggert.
11863
11864 2011-09-29  Bruno Haible  <bruno@clisp.org>
11865
11866         float: Fix LDBL_MAX value on Linux/PowerPC.
11867         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
11868         on Linux/PowerPC.
11869         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
11870         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
11871         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
11872         platform.
11873         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
11874
11875 2011-09-29  Bruno Haible  <bruno@clisp.org>
11876
11877         doc: Improve doc about gl_EARLY.
11878         * doc/gnulib-tool.texi (Initial import): Mention where to place an
11879         AC_PROG_CC_STDC invocation.
11880         Reported by Gary V. Vaughan <gary@gnu.org>.
11881
11882 2011-09-28  Bruno Haible  <bruno@clisp.org>
11883
11884         fgetc, fputc, fread, fwrite tests: Fix link error.
11885         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
11886         on non-MSVC platforms.
11887         * tests/test-fputc.c (main): Likewise.
11888         * tests/test-fread.c (main): Likewise.
11889         * tests/test-fwrite.c (main): Likewise.
11890         Reported by Jim Meyering.
11891
11892 2011-09-27  Bruno Haible  <bruno@clisp.org>
11893
11894         fputc, fwrite tests: Avoid test failure on MSVC.
11895         * tests/test-fgetc.c: Include msvc-inval.h.
11896         (main): Invoke gl_msvc_inval_ensure_handler.
11897         * tests/test-fputc.c: Include msvc-inval.h.
11898         (main): Invoke gl_msvc_inval_ensure_handler.
11899         * tests/test-fread.c: Include msvc-inval.h.
11900         (main): Invoke gl_msvc_inval_ensure_handler.
11901         * tests/test-fwrite.c: Include msvc-inval.h.
11902         (main): Invoke gl_msvc_inval_ensure_handler.
11903         * modules/fgetc-tests (Depends-on): Add msvc-inval.
11904         * modules/fputc-tests (Depends-on): Likewise.
11905         * modules/fread-tests (Depends-on): Likewise.
11906         * modules/fwrite-tests (Depends-on): Likewise.
11907
11908 2011-09-27  Bruno Haible  <bruno@clisp.org>
11909
11910         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
11911         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
11912         (raise): Remove older, duplicated declaration.
11913         (_gl_raise_SIGPIPE): New declaration.
11914         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
11915         (rpl_raise): Remove function.
11916         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
11917         a gnulib-defined SIGPIPE here.
11918         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
11919         'sigprocmask' has detected missing signal-blocking and the module
11920         'sigpipe' is enabled.
11921         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
11922
11923 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
11924
11925         base64-tests: avoid memory leak
11926         * tests/test-base64.c (main): Plug memory leak.
11927
11928         base32: new module
11929         * modules/base32: New module.
11930         * lib/base32.c: New file.
11931         * lib/base32.h: Likewise.
11932         * m4/base32.m4: Likewise.
11933         * modules/base32-tests: New test.
11934         * tests/test-base32.c: Likewise.
11935         * MODULES.html.sh (Misc): Mention it.
11936
11937 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
11938
11939         gnulib: use more-standard license notice wording
11940         * gnulib-tool (func_emit_copyright_notice): When emitting a
11941         license notice into a file, use the standard wording as suggested
11942         by the current information for GNU maintainers, except say "file"
11943         rather than "program".  The new wording gives a license version
11944         number, which addresses an issue raised by Glenn Morris in
11945         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
11946         * m4/onceonly.m4: Use that same wording here, too.
11947
11948         dup2: minor simplification
11949         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
11950         as lib/dup2.c no longer uses 'inline'.
11951
11952 2011-09-25  Bruno Haible  <bruno@clisp.org>
11953
11954         strings: Fix compilation error on MSVC.
11955         * lib/strings.in.h: Include <stddef.h> for size_t.
11956
11957 2011-09-25  Bruno Haible  <bruno@clisp.org>
11958
11959         fflush et al.: Document limitation on MSVC.
11960         * doc/posix-functions/fflush.texi: Document possible crash in handling
11961         mode other than DEFAULT_HANDLING.
11962         * doc/posix-functions/fgetc.texi: Likewise.
11963         * doc/posix-functions/fputc.texi: Likewise.
11964         * doc/posix-functions/fread.texi: Likewise.
11965         * doc/posix-functions/fwrite.texi: Likewise.
11966
11967 2011-09-25  Bruno Haible  <bruno@clisp.org>
11968
11969         msvc-inval: Allow three invalid parameter handling modes.
11970         * lib/msvc-inval.h: Don't include <stdlib.h> here.
11971         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
11972         macros.
11973         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
11974         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
11975         SANE_LIBRARY_HANDLING as a no-op.
11976         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
11977         <stdlib.h>.
11978         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
11979
11980 2011-09-25  Bruno Haible  <bruno@clisp.org>
11981
11982         msvc-inval: Make handler multithread-safe.
11983         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
11984         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
11985         declarations.
11986         (gl_msvc_inval_current): New declaration.
11987         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
11988         Operate on the structure returned by gl_msvc_inval_current().
11989         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
11990         Remove varaiables.
11991         (tls_index, tls_initialized): New variables.
11992         (not_per_thread): New variable.
11993         (gl_msvc_inval_current): New function.
11994         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
11995         returned by gl_msvc_inval_current().
11996
11997 2011-09-25  Bruno Haible  <bruno@clisp.org>
11998
11999         msvc-inval: Install handler globally.
12000         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
12001         !_MSC_VER.
12002         (gl_msvc_invalid_parameter_handler): Remove declaration.
12003         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
12004         declarations.
12005         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12006         Install the handler globally, don't uninstall it.
12007         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
12008         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
12009         currently valid, call RaiseException instead.
12010         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
12011         for !_MSC_VER.
12012
12013 2011-09-25  Bruno Haible  <bruno@clisp.org>
12014
12015         strerror_r-posix: Fix for MSVC 9.
12016         * lib/strerror_r.c (local_snprintf): New function.
12017         (snprintf): Define to local_snprintf, not to _snprintf.
12018
12019 2011-09-25  Bruno Haible  <bruno@clisp.org>
12020
12021         ftruncate: Support for MSVC 9.
12022         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
12023         (chsize_nothrow): New function.
12024         (chsize): Redefine as a macro.
12025         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
12026         * modules/ftruncate (Depends-on): Add msvc-inval.
12027
12028 2011-09-25  Bruno Haible  <bruno@clisp.org>
12029
12030         New module 'fstat'.
12031         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
12032         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
12033         * lib/fchdir.c (rpl_fstat): Remove function.
12034         * m4/fstat.m4: New file.
12035         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
12036         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
12037         declared.
12038         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
12039         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
12040         * modules/fstat: New file.
12041         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
12042         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
12043         is set.
12044         * doc/posix-functions/fstat.texi: Mention the new module and the
12045         problem on MSVC.
12046         * NEWS: Mention the change.
12047         * modules/acl (Depends-on): Add fstat.
12048         * modules/chdir-safer (Depends-on): Likewise.
12049         * modules/chown (Depends-on): Likewise.
12050         * modules/copy-file (Depends-on): Likewise.
12051         * modules/fchdir (Depends-on): Likewise.
12052         * modules/fdopendir (Depends-on): Likewise.
12053         * modules/fopen (Depends-on): Likewise.
12054         * modules/fts (Depends-on): Likewise.
12055         * modules/getcwd (Depends-on): Likewise.
12056         * modules/isapipe (Depends-on): Likewise.
12057         * modules/linkat (Depends-on): Likewise.
12058         * modules/lseek (Depends-on): Likewise.
12059         * modules/mkdir-p (Depends-on): Likewise.
12060         * modules/open (Depends-on): Likewise.
12061         * modules/openat (Depends-on): Likewise.
12062         * modules/read-file (Depends-on): Likewise.
12063         * modules/renameat (Depends-on): Likewise.
12064         * modules/utimens (Depends-on): Likewise.
12065
12066 2011-09-25  Bruno Haible  <bruno@clisp.org>
12067
12068         linkat: Fix compilation on MSVC 9.
12069         * lib/linkat.c: Don't include <stdint.h>.
12070
12071 2011-09-25  Bruno Haible  <bruno@clisp.org>
12072
12073         fclose: Support for MSVC 9.
12074         * lib/fclose.c: Include msvc-inval.h.
12075         (fclose_nothrow): New function.
12076         (rpl_fclose): Use it.
12077         * modules/fclose (Depends-on): Add msvc-inval.
12078         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
12079
12080 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12081
12082         dup2: minor simplifications
12083         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
12084         that it's a performance win.
12085         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
12086         ! defined __CYGWIN__)" to "ifdef F_GETFL".
12087
12088 2011-09-24  Jim Meyering  <meyering@redhat.com>
12089
12090         test-futimens: avoid a warning from gcc -Wshadow
12091         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
12092         to avoid a shadowing warning.
12093
12094 2011-09-24  Bruno Haible  <bruno@clisp.org>
12095
12096         fdopen: Support for MSVC 9.
12097         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
12098         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
12099         * lib/fdopen.c: Include msvc-inval.h.
12100         (fdopen_nothrow): New function.
12101         (rpl_fdopen): Use it.
12102         * modules/fdopen (Depends-on): Add msvc-inval.
12103         * modules/fclose-tests (Depends-on): Add fdopen.
12104         * modules/fflush-tests (Depends-on): Likewise.
12105         * modules/fgetc-tests (Depends-on): Likewise.
12106         * modules/fputc-tests (Depends-on): Likewise.
12107         * modules/fread-tests (Depends-on): Likewise.
12108         * modules/freopen-tests (Depends-on): Likewise.
12109         * modules/fseeko-tests (Depends-on): Likewise.
12110         * modules/ftello-tests (Depends-on): Likewise.
12111         * modules/fwrite-tests  (Depends-on): Likewise.
12112         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
12113
12114 2011-09-24  Bruno Haible  <bruno@clisp.org>
12115
12116         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
12117         * modules/fgetc-tests (Depends-on): Add unistd.
12118         * modules/fputc-tests (Depends-on): Likewise.
12119         * modules/fread-tests (Depends-on): Likewise.
12120         * modules/fwrite-tests (Depends-on): Likewise.
12121
12122 2011-09-24  Bruno Haible  <bruno@clisp.org>
12123
12124         dup: Simplify autoconf test.
12125         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
12126         on gl_MSVC_INVAL's result.
12127
12128 2011-09-24  Bruno Haible  <bruno@clisp.org>
12129
12130         Tests for function fwrite().
12131         * modules/fwrite-tests: New file.
12132         * tests/test-fwrite.c: New file.
12133         * modules/stdio-tests (Depends-on): Add fwrite-tests.
12134
12135         Tests for function fread().
12136         * modules/fread-tests: New file.
12137         * tests/test-fread.c: New file.
12138         * modules/stdio-tests (Depends-on): Add fread-tests.
12139
12140         Activate fputc tests.
12141         * modules/stdio-tests (Depends-on): Add fputc-tests.
12142
12143         Enhance fgetc, fputc tests.
12144         * tests/test-fgetc.c (main): Also test the stream's error indicator.
12145         * tests/test-fputc.c (main): Likewise.
12146
12147 2011-09-24  Bruno Haible  <bruno@clisp.org>
12148
12149         write: Support for MSVC 9.
12150         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12151         is not 1.
12152         * lib/write.c (write_nothrow): New function.
12153         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
12154         not 1. Use write_nothrow.
12155         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
12156         invalid parameter handler.
12157         (gl_PREREQ_WRITE): New macro.
12158         * modules/write (Depends-on): Add msvc-inval.
12159         (configure.ac): Invoke gl_PREREQ_WRITE.
12160         * doc/posix-functions/write.texi: Mention the problem on MSVC.
12161
12162 2011-09-24  Bruno Haible  <bruno@clisp.org>
12163
12164         read: Fix last commit.
12165         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
12166
12167 2011-09-24  Bruno Haible  <bruno@clisp.org>
12168
12169         dup2: Fix last commit.
12170         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
12171         (rpl_dup2): Disable fcntl workaround on native Windows.
12172
12173         sigprocmask: Make code safer.
12174         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
12175         section that changes macro definitions for this compilation unit.
12176
12177 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12178
12179         dup2: clarify by coalescing Windows-specific material
12180         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
12181         "msvc-nothrow.h"' to the Windows-specific section, so that the
12182         Emacs source need not contain these include files.
12183         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
12184         Windows-specific fixes into this function rather than just the
12185         nothrow fix, as this shortens and clarifies the code.  Always
12186         define as a function, as that's a bit cleaner than having it be
12187         sometimes a function and sometimes a macro.
12188         (rpl_dup2): Move the Windows-specific stuff out of here and into
12189         ms_windows_dup2.  Don't protect the Haiku-related fix with
12190         "#if !defined __linux__", as the same code also works around
12191         a Linux kernel bug, and it doesn't add any system calls on any
12192         platform.  Add comment about FreeBSD 6.1.
12193
12194         sigprocmask: move #include directive
12195         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
12196         Windows-specific section, so that the Emacs source need not
12197         contain msvc-inval.h.
12198
12199 2011-09-23  Bruno Haible  <bruno@clisp.org>
12200
12201         read: Support for MSVC 9.
12202         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12203         is not 1.
12204         * lib/read.c (read_nothrow): New function.
12205         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
12206         read_nothrow.
12207         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
12208         invalid parameter handler.
12209         (gl_PREREQ_READ): New macro.
12210         * modules/read (Depends-on): Add msvc-inval.
12211         (configure.ac): Invoke gl_PREREQ_READ.
12212         * doc/posix-functions/read.texi: Mention the problem on MSVC.
12213
12214 2011-09-23  Bruno Haible  <bruno@clisp.org>
12215
12216         close: Support for MSVC 9.
12217         * lib/close.c: Include <errno.h>, msvc-inval.h.
12218         (close_nothrow): New function.
12219         (rpl_close): Use it.
12220         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
12221         invalid parameter handler.
12222         * modules/close (Depends-on): Add msvc-inval.
12223         * modules/dup2-tests (Depends-on): Add close.
12224         * modules/dup3-tests (Depends-on): Likewise.
12225         * modules/fcntl-tests (Depends-on): Likewise.
12226         * modules/spawn-pipe-tests (Depends-on): Likewise.
12227         * modules/unistd-safer-tests (Depends-on): Likewise.
12228         * doc/posix-functions/close.texi: Mention the problem on MSVC.
12229
12230 2011-09-23  Bruno Haible  <bruno@clisp.org>
12231
12232         New module 'dup'.
12233         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
12234         Allow replacement.
12235         * lib/dup.c: New file.
12236         * lib/fchdir.c (rpl_dup): Remove function.
12237         * m4/dup.m4: New file.
12238         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
12239         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
12240         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
12241         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
12242         * modules/dup: New file.
12243         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
12244         'dup' module is in use.
12245         * modules/fdopendir (Depends-on): Add dup.
12246         * modules/fdutimensat-tests (Depends-on): Likewise.
12247         * modules/fts (Depends-on): Likewise.
12248         * modules/futimens-tests (Depends-on): Likewise.
12249         * modules/posix_spawnp-tests (Depends-on): Likewise.
12250         * modules/unistd-safer-tests (Depends-on): Likewise.
12251         * modules/utimens-tests (Depends-on): Likewise.
12252         * doc/posix-functions/dup.texi: Mention the new module and the problem
12253         on MSVC.
12254
12255 2011-09-23  Bruno Haible  <bruno@clisp.org>
12256
12257         getdtablesize: Support for MSVC 9.
12258         * lib/getdtablesize.c: Include msvc-inval.h.
12259         (_setmaxstdio_nothrow): New function.
12260         (_setmaxstdio): Redefine it.
12261         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
12262         * modules/getdtablesize (Depends-on): Add msvc-inval.
12263         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
12264
12265 2011-09-23  Bruno Haible  <bruno@clisp.org>
12266
12267         signal-h: Rename from signal.
12268         * modules/signal-h: Renamed from modules/signal.
12269         * modules/pthread_sigmask (Depends-on): Update.
12270         * modules/raise (Depends-on): Likewise.
12271         * modules/sigaction (Depends-on): Likewise.
12272         * modules/sigpipe (Depends-on): Likewise.
12273         * modules/sigprocmask (Depends-on): Likewise.
12274         * modules/sys_select (Depends-on): Likewise.
12275         * modules/signal-h-tests: Renamed from modules/signal-tests.
12276         (Files, Depends-on, Makefile.am): Update.
12277         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
12278         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
12279         (Files, Makefile.am): Update.
12280         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
12281         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
12282         * modules/signal: New placeholder file.
12283         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
12284         * doc/posix-headers/signal.texi: Update.
12285         * NEWS: Mention the change.
12286
12287 2011-09-23  Bruno Haible  <bruno@clisp.org>
12288
12289         sigprocmask: Avoid crashes through signal() on MSVC 9.
12290         * lib/sigprocmask.c: Include msvc-inval.h.
12291         (signal_nothrow): New function.
12292         (signal): Redefine it.
12293         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
12294         * modules/sigprocmask (Depends-on): Add msvc-inval.
12295         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
12296
12297 2011-09-23  Bruno Haible  <bruno@clisp.org>
12298
12299         Tests for module 'raise'.
12300         * modules/raise-tests: New file.
12301         * tests/test-raise.c: New file.
12302
12303         raise: Support for MSVC.
12304         * lib/signal.in.h (raise): New declaration.
12305         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
12306         for native Windows platforms.
12307         * m4/raise.m4: New file.
12308         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
12309         HAVE_RAISE, REPLACE_RAISE.
12310         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
12311         REPLACE_RAISE.
12312         * modules/raise (Status, Notice): Remove fields.
12313         (Files): Add m4/raise.m4.
12314         (Depends-on): Add signal, msvc-inval.
12315         (configure.ac): Use the common idioms.
12316         (Maintainer): Add me.
12317         * tests/test-signal-c++.cc: Check the signature of raise.
12318         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
12319
12320 2011-09-23  Bruno Haible  <bruno@clisp.org>
12321
12322         pipe2: Fix compilation on pre-C99 compilers.
12323         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
12324
12325 2011-09-23  Bruno Haible  <bruno@clisp.org>
12326
12327         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
12328         * lib/msvc-nothrow.h: New file.
12329         * lib/msvc-nothrow.c: New file.
12330         * m4/msvc-nothrow.m4: New file.
12331         * modules/msvc-nothrow: New file.
12332         * lib/dup2.c: Include msvc-nothrow.h.
12333         (rpl_dup2): No need to protect _get_osfhandle call here.
12334         * lib/accept4.c: Include msvc-nothrow.h.
12335         * lib/error.c: Likewise.
12336         * lib/fcntl.c: Likewise.
12337         * lib/lseek.c: Likewise.
12338         * lib/nonblocking.c: Likewise.
12339         * lib/poll.c: Likewise.
12340         * lib/read.c: Likewise.
12341         * lib/select.c: Likewise.
12342         * lib/sockets.h: Likewise.
12343         * lib/sockets.c: Likewise.
12344         * lib/stdio-read.c: Likewise.
12345         * lib/stdio-write.c: Likewise.
12346         * lib/write.c: Likewise.
12347         * lib/w32sock.h: Likewise.
12348         * lib/w32spawn.h: Likewise.
12349         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
12350         * lib/fsync.c: Likewise.
12351         * lib/isapipe.c: Likewise.
12352         * modules/dup2 (Depends-on): Add msvc-nothrow.
12353         * modules/accept4 (Depends-on): Likewise.
12354         * modules/error (Depends-on): Likewise.
12355         * modules/fcntl (Depends-on): Likewise.
12356         * modules/lseek (Depends-on): Likewise.
12357         * modules/nonblocking (Depends-on): Likewise.
12358         * modules/poll (Depends-on): Likewise.
12359         * modules/read (Depends-on): Likewise.
12360         * modules/select (Depends-on): Likewise.
12361         * modules/sockets (Depends-on): Likewise.
12362         * modules/sigpipe (Depends-on): Likewise.
12363         * modules/write (Depends-on): Likewise.
12364         * modules/accept (Depends-on): Likewise.
12365         * modules/bind (Depends-on): Likewise.
12366         * modules/connect (Depends-on): Likewise.
12367         * modules/gethostname (Depends-on): Likewise.
12368         * modules/getpeername (Depends-on): Likewise.
12369         * modules/getsockname (Depends-on): Likewise.
12370         * modules/getsockopt (Depends-on): Likewise.
12371         * modules/ioctl (Depends-on): Likewise.
12372         * modules/listen (Depends-on): Likewise.
12373         * modules/recv (Depends-on): Likewise.
12374         * modules/recvfrom (Depends-on): Likewise.
12375         * modules/send (Depends-on): Likewise.
12376         * modules/sendto (Depends-on): Likewise.
12377         * modules/setsockopt (Depends-on): Likewise.
12378         * modules/shutdown (Depends-on): Likewise.
12379         * modules/socket (Depends-on): Likewise.
12380         * modules/execute (Depends-on): Likewise.
12381         * modules/spawn-pipe (Depends-on): Likewise.
12382         * modules/flock (Depends-on): Likewise.
12383         * modules/fsync (Depends-on): Likewise.
12384         * modules/isapipe (Depends-on): Likewise.
12385         * tests/test-cloexec.c: Include msvc-nothrow.h.
12386         * tests/test-dup-safer.c: Likewise.
12387         * tests/test-dup2.c: Likewise.
12388         * tests/test-dup3.c: Likewise.
12389         * tests/test-fcntl.c: Likewise.
12390         * tests/test-pipe.c: Likewise.
12391         * tests/test-pipe2.c: Likewise.
12392         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
12393         * modules/unistd-safer-tests (Depends-on): Likewise.
12394         * modules/dup2-tests (Depends-on): Likewise.
12395         * modules/dup3-tests (Depends-on): Likewise.
12396         * modules/fcntl-tests (Depends-on): Likewise.
12397         * modules/pipe-posix-tests (Depends-on): Likewise.
12398         * modules/pipe2-tests (Depends-on): Likewise.
12399
12400 2011-09-23  Bruno Haible  <bruno@clisp.org>
12401
12402         dup2: Make code more maintainable.
12403         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
12404         (rpl_dup2): Use it.
12405         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
12406         * modules/dup2 (configure.ac): Invoke it.
12407         Reported by Paul Eggert.
12408
12409 2011-09-23  Bruno Haible  <bruno@clisp.org>
12410
12411         msvc-inval: Fix compilation error.
12412         * lib/msvc-inval.h: Include <excpt.h>.
12413
12414 2011-09-23  Bruno Haible  <bruno@clisp.org>
12415
12416         mkdir: Tweak for MSVC 9.
12417         * lib/sys_stat.in.h: Update comments.
12418         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
12419
12420         Tests for module 'chdir'.
12421         * modules/chdir-tests: New file.
12422         * tests/test-chdir.c: New file.
12423
12424         New module 'chdir'.
12425         * modules/chdir: New file.
12426         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
12427         (chdir): New declaration.
12428         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
12429         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
12430         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
12431         * tests/test-unistd-c++.cc: Check signature of chdir.
12432         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
12433         * modules/chdir-long (Depends-on): Add chdir.
12434         * modules/fchdir (Depends-on): Likewise.
12435         * modules/rename (Depends-on): Likewise.
12436         * modules/savewd (Depends-on): Likewise.
12437
12438         rmdir: Support for mingw, MSVC 9.
12439         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
12440         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
12441
12442         getcwd: Tweak for MSVC 9.
12443         * lib/unistd.in.h: Update comments.
12444         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
12445
12446 2011-09-22  Bruno Haible  <bruno@clisp.org>
12447
12448         strerror_r-posix: Avoid a link error on MSVC.
12449         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
12450         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
12451
12452 2011-09-22  Bruno Haible  <bruno@clisp.org>
12453
12454         select: Avoid link errors on MSVC.
12455         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
12456         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
12457         * modules/pselect (Link): Likewise.
12458         * NEWS: Mention the change.
12459         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
12460         test-select-stdin against $(LIB_SELECT).
12461         * modules/pselect-tests (Makefile.am): Link test-pselect against
12462         $(LIB_SELECT).
12463
12464 2011-09-22  Bruno Haible  <bruno@clisp.org>
12465
12466         select: Avoid compilation error on MSVC.
12467         * lib/select.c: Don't include <stdbool.h>.
12468
12469 2011-09-21  Bruno Haible  <bruno@clisp.org>
12470
12471         Consolidate all uses of PATH_MAX in *.m4 files.
12472         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
12473         macros.
12474         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
12475         and gl_PATHMAX_SNIPPET.
12476         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
12477         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
12478         * modules/chdir-long (Files): Add m4/pathmax.m4.
12479         * modules/getcwd (Files): Likewise.
12480
12481 2011-09-21  Bruno Haible  <bruno@clisp.org>
12482
12483         ftruncate: Un-deprecate, concentrate on Win32 support.
12484         * modules/ftruncate (Status, Notice): Remove sections.
12485         (Depends-on): Add largefile.
12486         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
12487         non-mingw platforms.
12488         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
12489         include <io.h>.
12490         * modules/perror-tests (Depends-on): Add ftruncate.
12491         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
12492         'ftruncate' module.
12493
12494 2011-09-21  Bruno Haible  <bruno@clisp.org>
12495
12496         Add dependencies to new dirent related modules.
12497         * modules/opendir (Depends-on): Add closedir.
12498         * modules/getcwd (Depends-on): Add opendir, closedir.
12499         * modules/dirent-safer-tests (Depends-on): Likewise.
12500         * modules/fdopendir-tests (Depends-on): Likewise.
12501         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
12502         * modules/renameat-tests (Depends-on): Likewise.
12503
12504 2011-09-21  Bruno Haible  <bruno@clisp.org>
12505
12506         opendir: Avoid compilation error on mingw.
12507         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
12508         * modules/opendir (Depends-on): Add unistd.
12509
12510 2011-09-21  Bruno Haible  <bruno@clisp.org>
12511
12512         ftruncate tests: Avoid a test failure on mingw.
12513         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
12514
12515 2011-09-21  Bruno Haible  <bruno@clisp.org>
12516
12517         select tests: Avoid test failures on OSF/1 5.1 and mingw.
12518         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
12519         native Windows.
12520
12521 2011-09-21  Bruno Haible  <bruno@clisp.org>
12522
12523         New module 'fdopen'.
12524         * lib/stdio.in.h (fdopen): New declaration.
12525         * lib/fdopen.c: New file.
12526         * m4/fdopen.m4: New file.
12527         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
12528         REPLACE_FDOPEN.
12529         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
12530         REPLACE_FDOPEN.
12531         * modules/fdopen: New file.
12532         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
12533         * tests/test-stdio-c++.cc: Check signature of fdopen.
12534         * doc/posix-functions/fdopen.texi: Mention the new module.
12535
12536 2011-09-21  Bruno Haible  <bruno@clisp.org>
12537
12538         unlockpt tests: Avoid test failure on NetBSD 5.1.
12539         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
12540         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
12541
12542 2011-09-21  Bruno Haible  <bruno@clisp.org>
12543
12544         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
12545         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
12546         * tests/test-getlogin_r.c (main): Likewise.
12547
12548 2011-09-20  Bruno Haible  <bruno@clisp.org>
12549
12550         time tests: Don't require pid_t.
12551         * doc/posix-headers/time.texi: Revert last change.
12552         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
12553         * tests/test-time.c: Comment out the check for pid_t.
12554
12555 2011-09-20  Bruno Haible  <bruno@clisp.org>
12556
12557         fsync tests: Avoid a test failure on mingw.
12558         * tests/test-fsync.c (main): Allow a failure with EIO.
12559
12560 2011-09-20  Bruno Haible  <bruno@clisp.org>
12561
12562         euidaccess: Update comments.
12563         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
12564
12565 2011-09-20  Bruno Haible  <bruno@clisp.org>
12566
12567         Ensure EBADF returns for socket functions on mingw.
12568         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
12569         descriptor is invalid.
12570         * lib/bind.c (rpl_bind): Likewise.
12571         * lib/connect.c (rpl_connect): Likewise.
12572         * lib/getpeername.c (rpl_getpeername): Likewise.
12573         * lib/getsockname.c (rpl_getsockname): Likewise.
12574         * lib/getsockopt.c (rpl_getsockopt): Likewise.
12575         * lib/listen.c (rpl_listen): Likewise.
12576         * lib/recv.c (rpl_recv): Likewise.
12577         * lib/recvfrom.c (rpl_recvfrom): Likewise.
12578         * lib/send.c (rpl_send): Likewise.
12579         * lib/sendto.c (rpl_sendto): Likewise.
12580         * lib/setsockopt.c (rpl_setsockopt): Likewise.
12581         * lib/shutdown.c (rpl_shutdown): Likewise.
12582
12583 2011-09-20  Bruno Haible  <bruno@clisp.org>
12584
12585         select tests: EBADF tests.
12586         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
12587         test_bad_fd): New functions.
12588         (test_function): Invoke also test_bad_fd.
12589
12590 2011-09-20  Bruno Haible  <bruno@clisp.org>
12591
12592         Tests for module 'posix_spawn_file_actions_addopen.
12593         * modules/posix_spawn_file_actions_addopen-tests: New file.
12594         * tests/test-posix_spawn_file_actions_addopen.c: New file.
12595
12596         Tests for module 'posix_spawn_file_actions_adddup2'.
12597         * modules/posix_spawn_file_actions_adddup2-tests: New file.
12598         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
12599
12600         Tests for module 'posix_spawn_file_actions_addclose'.
12601         * modules/posix_spawn_file_actions_addclose-tests: New file.
12602         * tests/test-posix_spawn_file_actions_addclose.c: New file.
12603
12604 2011-09-20  Bruno Haible  <bruno@clisp.org>
12605
12606         Tests for module 'unlockpt'.
12607         * modules/unlockpt-tests: New file.
12608         * tests/test-unlockpt.c: New file.
12609         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
12610
12611         Tests for module 'grantpt'.
12612         * modules/grantpt-tests: New file.
12613         * tests/test-grantpt.c: New file.
12614         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
12615
12616 2011-09-20  Bruno Haible  <bruno@clisp.org>
12617
12618         freopen tests: EBADF tests.
12619         * tests/test-freopen.c: Include errno.h, unistd.h.
12620         (main): Add tests for EBADF, commented out for the moment.
12621
12622         fclose tests: EBADF tests.
12623         * tests/test-fclose.c (main): Add tests for EBADF.
12624
12625         fflush tests: EBADF tests.
12626         * tests/test-fflush.c: Include errno.h, macros.h.
12627         (main): Add tests for EBADF.
12628
12629         ftello tests: EBADF tests.
12630         * tests/test-ftello4.sh: New file.
12631         * tests/test-ftello4.c: New file.
12632         * modules/ftello-tests (Files): Add them.
12633         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
12634
12635         fseeko tests: EBADF tests.
12636         * tests/test-fseeko4.sh: New file.
12637         * tests/test-fseeko4.c: New file.
12638         * modules/fseeko-tests (Files): Add them.
12639         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
12640
12641         Tests for function fputc().
12642         * modules/fputc-tests: New file.
12643         * tests/test-fputc.c: New file.
12644         * modules/stdio-tests (Depends-on): Add fputc-tests.
12645
12646         Tests for function fgetc().
12647         * modules/fgetc-tests: New file.
12648         * tests/test-fgetc.c: New file.
12649         * modules/stdio-tests (Depends-on): Add fgetc-tests.
12650
12651         Tests for function fdopen().
12652         * modules/fdopen-tests: New file.
12653         * tests/test-fdopen.c: New file.
12654         * modules/stdio-tests (Depends-on): Add fdopen-tests.
12655
12656         Tests for module 'vdprintf'.
12657         * modules/vdprintf-tests: New file.
12658         * tests/test-vdprintf.c: New file.
12659
12660         Tests for module 'dprintf'.
12661         * modules/dprintf-tests: New file.
12662         * tests/test-dprintf.c: New file.
12663
12664 2011-09-20  Bruno Haible  <bruno@clisp.org>
12665
12666         Tests for module 'ioctl'.
12667         * modules/ioctl-tests: New file.
12668         * tests/test-ioctl.c: New file.
12669
12670 2011-09-20  Bruno Haible  <bruno@clisp.org>
12671
12672         fcntl tests: EBADF tests.
12673         * tests/test-fcntl.c (main): Add more tests for EBADF.
12674
12675 2011-09-20  Bruno Haible  <bruno@clisp.org>
12676
12677         utimensat tests: EBADF tests.
12678         * tests/test-utimensat.c (main): Add tests for EBADF.
12679
12680         renameat tests: EBADF tests.
12681         * tests/test-renameat.c (main): Add tests for EBADF.
12682
12683         mkfifoat tests: EBADF tests.
12684         * tests/test-mkfifoat.c (main): Add tests for EBADF.
12685
12686         readlinkat tests: EBADF tests.
12687         * tests/test-readlinkat.c (main): Add tests for EBADF.
12688
12689         symlinkat tests: EBADF tests.
12690         * tests/test-symlinkat.c (main): Add tests for EBADF.
12691
12692         linkat tests: EBADF tests.
12693         * tests/test-linkat.c (main): Add tests for EBADF.
12694
12695         Tests for module 'faccessat'.
12696         * modules/faccessat-tests: New file.
12697         * tests/test-faccessat.c: New file.
12698
12699         fdopendir tests: EBADF tests.
12700         * tests/test-fdopendir.c (main): Add more tests for EBADF.
12701
12702         openat tests: EBADF tests.
12703         * tests/test-fchownat.c (main): Add tests for EBADF.
12704         * tests/test-fstatat.c (main): Likewise.
12705         * tests/test-mkdirat.c (main): Likewise.
12706         * tests/test-openat.c (main): Likewise.
12707         * tests/test-unlinkat.c (main): Likewise.
12708         * tests/test-fchmodat.c: New file.
12709         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
12710         (Makefile.am): Also run 'test-fchmodat'.
12711
12712 2011-09-20  Bruno Haible  <bruno@clisp.org>
12713
12714         utimens, futimens, fdutimensat tests: EBADF tests.
12715         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
12716
12717         Tests for function fstat().
12718         * modules/fstat-tests: New file.
12719         * tests/test-fstat.c: New file.
12720         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
12721
12722 2011-09-20  Bruno Haible  <bruno@clisp.org>
12723
12724         test-ttyname_r tests: EBADF tests.
12725         * tests/test-ttyname_r.c (main): Add tests for EBADF.
12726
12727         Tests for module 'isatty'.
12728         * modules/isatty-tests: New file.
12729         * tests/test-isatty.c: New file.
12730
12731         Tests for module 'write'.
12732         * modules/write-tests: New file.
12733         * tests/test-write.c: New file.
12734
12735         Tests for module 'read'.
12736         * modules/read-tests: New file.
12737         * tests/test-read.c: New file.
12738
12739         pwrite tests: EBADF tests.
12740         * tests/test-pwrite.c (main): Add tests for EBADF.
12741
12742         pread tests: EBADF tests.
12743         * tests/test-pread.c (main): Add tests for EBADF.
12744
12745         lseek tests: EBADF tests.
12746         * tests/test-lseek.c (main): Add more tests for EBADF.
12747
12748         Tests for module 'ftruncate'.
12749         * modules/ftruncate-tests: New file.
12750         * tests/test-ftruncate.sh: New file.
12751         * tests/test-ftruncate.c: New file.
12752
12753         fsync tests: EBADF tests.
12754         * tests/test-fsync.c (main): Add more tests for EBADF.
12755
12756         fdatasync tests: EBADF tests.
12757         * tests/test-fdatasync.c (main): Add more tests for EBADF.
12758
12759         Tests for module 'fchown'.
12760         * modules/fchown-tests: New file.
12761         * tests/test-fchown.c: New file.
12762
12763         Tests for module 'fchmod'.
12764         * modules/fchmod-tests: New file.
12765         * tests/test-fchmod.c: New file.
12766
12767         fchdir tests: EBADF tests.
12768         * tests/test-fchdir.c (main): Add more tests for EBADF.
12769
12770         dup2 tests: EBADF tests.
12771         * tests/test-dup2.c (main): Add more tests for EBADF.
12772
12773         Tests for module 'dup'.
12774         * modules/dup-tests: New file.
12775         * tests/test-dup.c: New file.
12776
12777         Tests for module 'close'.
12778         * modules/close-tests: New file.
12779         * tests/test-close.c: New file.
12780
12781 2011-09-20  Bruno Haible  <bruno@clisp.org>
12782
12783         Tests for module 'shutdown'.
12784         * modules/shutdown-tests: New file.
12785         * tests/test-shutdown.c: New file.
12786
12787         Tests for module 'setsockopt'.
12788         * modules/setsockopt-tests: New file.
12789         * tests/test-setsockopt.c: New file.
12790
12791         Tests for module 'sendto'.
12792         * modules/sendto-tests: New file.
12793         * tests/test-sendto.c: New file.
12794
12795         Tests for module 'send'.
12796         * modules/send-tests: New file.
12797         * tests/test-send.c: New file.
12798
12799         Tests for module 'recvfrom'.
12800         * modules/recvfrom-tests: New file.
12801         * tests/test-recvfrom.c: New file.
12802
12803         Tests for module 'recv'.
12804         * modules/recv-tests: New file.
12805         * tests/test-recv.c: New file.
12806
12807         Tests for module 'listen'.
12808         * modules/listen-tests: New file.
12809         * tests/test-listen.c: New file.
12810
12811         Tests for module 'getsockopt'.
12812         * modules/getsockopt-tests: New file.
12813         * tests/test-getsockopt.c: New file.
12814
12815         Tests for module 'getsockname'.
12816         * modules/getsockname-tests: New file.
12817         * tests/test-getsockname.c: New file.
12818
12819         Tests for module 'getpeername'.
12820         * modules/getpeername-tests: New file.
12821         * tests/test-getpeername.c: New file.
12822
12823         Tests for module 'connect'.
12824         * modules/connect-tests: New file.
12825         * tests/test-connect.c: New file.
12826
12827         Tests for module 'bind'.
12828         * modules/bind-tests: New file.
12829         * tests/test-bind.c: New file.
12830
12831         accept4 tests: Fix for native Windows.
12832         * tests/test-accept4.c: Include sockets.h.
12833         (main): Invoke gl_sockets_startup.
12834         * modules/accept4-tests (Depends-on): Add sockets.
12835
12836         accept tests: Fix for native Windows.
12837         * tests/test-accept.c: Include sockets.h.
12838         (main): Invoke gl_sockets_startup.
12839         * modules/accept-tests (Depends-on): Add sockets.
12840
12841 2011-09-19  Bruno Haible  <bruno@clisp.org>
12842
12843         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
12844         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
12845         do...while(0).
12846         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
12847         Suggested by Paul Eggert.
12848
12849 2011-09-19  Bruno Haible  <bruno@clisp.org>
12850
12851         sched: Ensure pid_t is defined.
12852         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
12853         not define pid_t.
12854         * lib/sched.in.h: Include <sys/types.h>.
12855         * doc/posix-headers/sched.texi: Mention the pid_t problem.
12856         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12857
12858 2011-09-19  Bruno Haible  <bruno@clisp.org>
12859
12860         msvc-inval: Ensure the entire expansion is a single statement.
12861         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
12862         of braces.
12863
12864 2011-09-19  Jim Meyering  <meyering@redhat.com>
12865
12866         tests: use printf, not echo in init.sh's warn_ function
12867         * tests/init.sh (warn_): Use printf, not echo.  The latter would
12868         misbehave when given strings containing a backslash or starting
12869         with e.g., -n.  James Youngman suggested setting IFS.
12870
12871 2011-09-19  Eric Blake  <eblake@redhat.com>
12872
12873         futimens: enhance test
12874         * tests/test-futimens.h (test_futimens): Also check for EBADF on
12875         closed non-negative fd.
12876
12877         date: accept 'hence' as opposite of 'ago'
12878         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
12879         * tests/test-parse-datetime.c (main): Enhance test.
12880         Suggested by Jesse Wilson.
12881
12882 2011-09-19  Jim Meyering  <meyering@redhat.com>
12883
12884         getcwd: don't fail in a deep directory on a system without openat
12885         Before this change, getcwd would fail when called from a directory
12886         of depth PATH_MAX / 3 or greater.  That was due to the fact that
12887         the non-openat implementation used "..", "../..", "../../..", etc.
12888         to access ancestor directories.  With too many, that string would
12889         be longer than PATH_MAX.
12890         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
12891         using gnulib's openat replacement.
12892         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
12893         we're using the replacement function.
12894
12895 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
12896
12897         maint.mk: avoid warnings from perl about missing files
12898         * top/maint.mk (def_sym_regex): Ignore files listed in
12899         $(gl_other_headers_) that do not exist, say because a project
12900         does not use a corresponding module.
12901
12902 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
12903
12904         stat: use pathmax.h only if needed
12905         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
12906         This is better for Emacs, which does not have a mingw port and
12907         therefore can avoid the pathmax module.
12908
12909         utimens: remove dependency on dup2
12910         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
12911         to work around the Linux kernel bug.
12912         * modules/utimens (Depends-on): Remove dup2.
12913
12914 2011-09-18  Bruno Haible  <bruno@clisp.org>
12915
12916         inet_ntop, inet_pton: Look for it also in libresolv.
12917         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
12918         libnsl, search for it in libresolv.
12919         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
12920         Needed on Solaris 7.
12921
12922 2011-09-18  Bruno Haible  <bruno@clisp.org>
12923
12924         accept, accept4 tests: Avoid link error on Solaris.
12925         * modules/accept-tests (Makefile.am): Link test-accept against
12926         $(LIBSOCKET).
12927         * modules/accept4-tests (Makefile.am): Link test-accept4 against
12928         $(LIBSOCKET).
12929
12930         accept4: Avoid link error on Solaris.
12931         * modules/accept4 (Link): New section.
12932
12933         socket functions: Avoid link errors on Solaris.
12934         * modules/accept (Depends-on): Add socketlib.
12935         (Link): New section.
12936         * modules/bind (Depends-on): Add socketlib.
12937         (Link): New section.
12938         * modules/connect (Depends-on): Add socketlib.
12939         (Link): New section.
12940         * modules/getpeername (Depends-on): Add socketlib.
12941         (Link): New section.
12942         * modules/getsockname (Depends-on): Add socketlib.
12943         (Link): New section.
12944         * modules/getsockopt (Depends-on): Add socketlib.
12945         (Link): New section.
12946         * modules/listen (Depends-on): Add socketlib.
12947         (Link): New section.
12948         * modules/recv (Depends-on): Add socketlib.
12949         (Link): New section.
12950         * modules/recvfrom (Depends-on): Add socketlib.
12951         (Link): New section.
12952         * modules/send (Depends-on): Add socketlib.
12953         (Link): New section.
12954         * modules/sendto (Depends-on): Add socketlib.
12955         (Link): New section.
12956         * modules/setsockopt (Depends-on): Add socketlib.
12957         (Link): New section.
12958         * modules/shutdown (Depends-on): Add socketlib.
12959         (Link): New section.
12960         * modules/socket (Depends-on): Add socketlib.
12961         (Link): New section.
12962
12963 2011-09-18  Bruno Haible  <bruno@clisp.org>
12964
12965         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
12966         * tests/test-ptsname.c (main): Terminate the test if it takes longer
12967         than 5 seconds.
12968         * modules/ptsname-tests (configure.ac): Test for alarm.
12969
12970 2011-09-18  Bruno Haible  <bruno@clisp.org>
12971
12972         posix_spawn_file_actions_add*: Fix module dependencies.
12973         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
12974         posix_spawn_file_actions_init.
12975         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
12976         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
12977
12978 2011-09-18  Bruno Haible  <bruno@clisp.org>
12979
12980         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
12981         * tests/test-rename.h (test_rename): Allow error code EEXIST.
12982         * tests/test-renameat.c (main): Likewise.
12983
12984 2011-09-18  Bruno Haible  <bruno@clisp.org>
12985
12986         Tests for module 'accept4'.
12987         * modules/accept4-tests: New file.
12988         * tests/test-accept4.c: New file.
12989
12990 2011-09-18  Bruno Haible  <bruno@clisp.org>
12991
12992         Tests for module 'accept'.
12993         * modules/accept-tests: New file.
12994         * tests/test-accept.c: New file.
12995
12996 2011-09-18  Bruno Haible  <bruno@clisp.org>
12997
12998         dup2: Support for MSVC.
12999         * lib/dup2.c: Include msvc-inval.h.
13000         (rpl_dup2): Handle invalid parameter notifications during dup2 and
13001         _get_osfhandle calls.
13002         * modules/dup2 (Depends-on): Add msvc-inval.
13003         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
13004
13005         New module 'msvc-inval'.
13006         * lib/msvc-inval.h: New file.
13007         * lib/msvc-inval.c: New file.
13008         * m4/msvc-inval.m4: New file.
13009         * modules/msvc-inval: New file.
13010
13011 2011-09-17  Bruno Haible  <bruno@clisp.org>
13012
13013         Tests for module 'pclose'.
13014         * modules/pclose-tests: New file.
13015
13016         New module 'pclose'.
13017         * lib/stdio.in.h (pclose): New declaration.
13018         * lib/pclose.c: New file.
13019         * m4/pclose.m4: New file.
13020         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
13021         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
13022         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
13023         * modules/pclose: New file.
13024         * modules/popen-tests (Depends-on): Add pclose.
13025         * modules/popen-safer-tests (Depends-on): Likewise.
13026         * doc/posix-functions/pclose.texi: Mention the new module.
13027
13028 2011-09-17  Bruno Haible  <bruno@clisp.org>
13029
13030         popen: Support for MSVC.
13031         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
13032         * lib/popen.c (popen): Provide alternate definition for native Windows.
13033         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
13034         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
13035         * modules/popen (Depends-on, configure.ac): Update condition.
13036         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
13037         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
13038         fixed.
13039
13040 2011-09-17  Bruno Haible  <bruno@clisp.org>
13041
13042         isnanl, isnand, isnanf: Work around MSVC bug.
13043         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
13044
13045 2011-09-17  Bruno Haible  <bruno@clisp.org>
13046
13047         sys_socket tests: Fix recent mistake.
13048         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
13049
13050 2011-09-17  Bruno Haible  <bruno@clisp.org>
13051
13052         putenv: Support for MSVC.
13053         * modules/putenv (Depends-on): Add environ.
13054         * lib/putenv.c (environ): Disable declaration.
13055         * lib/unistd.in.h: Update comment.
13056
13057 2011-09-17  Bruno Haible  <bruno@clisp.org>
13058
13059         math: Avoid macro redefinition warnings on MSVC.
13060         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
13061         Undefine before redefining.
13062
13063 2011-09-17  Bruno Haible  <bruno@clisp.org>
13064
13065         doc: Mention functions which are declared as macros.
13066         * doc/posix-functions/*[fl].texi: Mention that some functions are
13067         defined as macros with arguments only.
13068
13069 2011-09-17  Bruno Haible  <bruno@clisp.org>
13070
13071         Add dependencies to new dirent related modules.
13072         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
13073         * modules/fts (Depends-on): Likewise.
13074         * modules/glob (Depends-on): Likewise.
13075         * modules/savedir (Depends-on): Likewise.
13076         * modules/scandir (Depends-on): Likewise.
13077         * modules/dirent-safer (Depends-on): Add opendir, closedir.
13078         * modules/fdopendir (Depends-on): Add opendir.
13079
13080 2011-09-17  Bruno Haible  <bruno@clisp.org>
13081
13082         inet_pton: Support for MSVC on Windows Vista or newer.
13083         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
13084         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
13085         HAVE_DECL_INET_PTON is defined.
13086         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13087         On platforms with <winsock2.h>, test whether inet_pton is declared in
13088         <ws2tcpip.h>. If so, arrange to replace it.
13089         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13090         REPLACE_INET_PTON.
13091         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
13092         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
13093         (Depends-on, configure.ac): Update condition.
13094         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
13095
13096 2011-09-17  Bruno Haible  <bruno@clisp.org>
13097
13098         inet_ntop: Support for MSVC on Windows Vista or newer.
13099         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
13100         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
13101         HAVE_DECL_INET_NTOP is defined.
13102         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13103         On platforms with <winsock2.h>, test whether inet_ntop is declared in
13104         <ws2tcpip.h>. If so, arrange to replace it.
13105         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13106         REPLACE_INET_NTOP.
13107         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
13108         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
13109         (Depends-on, configure.ac): Update condition.
13110         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
13111
13112 2011-09-16  Eric Blake  <eblake@redhat.com>
13113
13114         test-fsync: yet another enhancement
13115         * tests/test-fsync.c (main): Also test behavior on read-only text
13116         file.
13117
13118 2011-09-16  Bruno Haible  <bruno@clisp.org>
13119
13120         Enhance fsync, fdatasync tests.
13121         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
13122         * tests/test-fdatasync.c (main): Likewise.
13123
13124 2011-09-16  Bruno Haible  <bruno@clisp.org>
13125
13126         Support for MSVC compiler: Ensure mode_t gets defined.
13127         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
13128         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13129         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
13130         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
13131         * tests/test-fcntl-h.c: Check that mode_t is defined.
13132         * tests/test-sys_stat.c: Likewise.
13133         * tests/test-sys_types.c: Likewise.
13134         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
13135         * doc/posix-headers/sys_stat.texi: Likewise.
13136         * doc/posix-headers/sys_types.texi: Likewise.
13137
13138 2011-09-16  Bruno Haible  <bruno@clisp.org>
13139
13140         sys_stat: Support for MSVC.
13141         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
13142         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
13143         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
13144         MSVC.
13145
13146 2011-09-16  Bruno Haible  <bruno@clisp.org>
13147
13148         Support for MSVC compiler: Ensure off_t gets defined.
13149         * lib/unistd.in.h: Include <sys/types.h>.
13150         * tests/test-fcntl-h.c: Check that off_t is defined.
13151         * tests/test-sys_stat.c: Likewise.
13152         * tests/test-sys_types.c: Likewise.
13153
13154 2011-09-16  Eric Blake  <eblake@redhat.com>
13155
13156         fdatasync: port to Solaris
13157         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
13158         * modules/fdatasync (Link): Document it.
13159         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
13160
13161         fdatasync: port to MacOS X 10.7
13162         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
13163         declared.
13164         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
13165         * modules/unistd (Makefile.am): Substitute it.
13166         * lib/unistd.in.h (fdatasync): Declare on MacOS.
13167         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
13168
13169         fdatasync: minor improvements
13170         * modules/fdatasync (Depends-on): Add condition for fsync.
13171         * lib/fdatasync.c (fdatasync): Add comment.
13172         * tests/test-unistd-c++.cc: Test fdatasync.
13173
13174         unistd: update refs to newer POSIX
13175         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
13176         Suggested by Bruno Haible.
13177
13178         fdatasync: new module
13179         * modules/fsync (Description): Document difference to fdatasync.
13180         * modules/fdatasync: New module.
13181         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
13182         * lib/fdatasync.c (fdatasync): Likewise.
13183         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
13184         defaults.
13185         * modules/unistd (Makefile.am): Set witnesses.
13186         * lib/unistd.in.h (fdatasync): Declare.
13187         * MODULES.html.sh: Document it.
13188         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
13189         * modules/fdatasync-tests: New test.
13190         * tests/test-fdatasync.c: Likewise.
13191
13192 2011-09-16  Eric Blake  <eblake@redhat.com>
13193
13194         test-fsync: enhance tests
13195         * modules/fsync-tests (Depends-on): Add errno, for mingw.
13196         * tests/test-fsync.c (main): Enhance test.
13197
13198 2011-09-15  Bruno Haible  <bruno@clisp.org>
13199
13200         Support for MSVC compiler: Ensure ssize_t gets defined.
13201         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
13202         * doc/posix-headers/stdio.texi: Likewise.
13203         * modules/stdio (Depends-on): Add ssize_t.
13204         * modules/sys_socket (Depends-on): Likewise.
13205         * modules/sys_types (Depends-on): Likewise.
13206         * modules/sys_uio (Depends-on): Likewise.
13207         * modules/unistd (Depends-on): Likewise.
13208         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
13209         * tests/test-sys_types.c: Check that ssize_t is defined.
13210
13211 2011-09-14  Bruno Haible  <bruno@clisp.org>
13212
13213         Avoid using #, the m4 comment starter character, near brackets.
13214         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
13215         delimiter character in sed expressions.
13216         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
13217         Suggested by Eric Blake.
13218
13219         Properly quote AC_CHECK_DECLS' 4th argument.
13220         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
13221         argument.
13222         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13223         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13224         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13225         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13226         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13227         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
13228         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
13229         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
13230         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
13231         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
13232         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
13233         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13234         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13235         * m4/isinf.m4 (gl_ISINF): Likewise.
13236         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
13237         * m4/readutmp.m4 (gl_READUTMP): Likewise.
13238         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
13239         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13240         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13241         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13242         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13243         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13244         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
13245         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13246         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13247         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13248         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
13249         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13250         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13251         Reported by Eric Blake.
13252
13253         Properly quote AC_CHECK_DECL's 4th argument.
13254         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
13255         argument.
13256         * m4/argp.m4 (gl_ARGP): Likewise.
13257         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13258         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13259         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13260         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13261         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
13262         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
13263         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
13264         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
13265         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13266         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13267         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13268         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13269         Reported by Eric Blake.
13270
13271 2011-09-14  Eric Blake  <eblake@redhat.com>
13272
13273         opendir: avoid compile warning
13274         * lib/opendir.c (includes): Always include errno.h.
13275         Reported by Tatsuro MATSUOKA.
13276
13277 2011-09-14  Jim Meyering  <meyering@redhat.com>
13278
13279         maint.mk: sc_tight_scope: propagate failure from sub-make
13280         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
13281         Reported by Martin von Gagern.
13282
13283 2011-09-13  Bruno Haible  <bruno@clisp.org>
13284
13285         tempname: Support for MSVC.
13286         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
13287         MSVC.
13288         * modules/tempname (Depends-on): Add fcntl-h.
13289
13290 2011-09-13  Bruno Haible  <bruno@clisp.org>
13291
13292         sys_time: Support for MSVC.
13293         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
13294         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
13295         include <winsock2.h>.
13296         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
13297         function declarations that collide with POSIX.
13298         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
13299         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13300
13301 2011-09-13  Bruno Haible  <bruno@clisp.org>
13302
13303         stat: Support for MSVC.
13304         * lib/stat.c: Include pathmax.h.
13305         * modules/stat (Depends-on): Add pathmax.
13306
13307         pathmax: Support for native Windows.
13308         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
13309
13310 2011-09-12  Bruno Haible  <bruno@clisp.org>
13311
13312         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
13313         * lib/dirent.in.h (struct dirent): New type.
13314         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
13315         DT_WHT): New macros.
13316         (DIR): New type.
13317         (opendir, closedir): Declare only if the module 'opendir' is enabled.
13318         (readdir, rewinddir): New declarations.
13319         * lib/dirent-private.h: New file.
13320         * lib/opendir.c: New file.
13321         * lib/readdir.c: New file.
13322         * lib/rewinddir.c: New file.
13323         * lib/closedir.c: New file.
13324         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
13325         * m4/opendir.m4: New file.
13326         * m4/readdir.m4: New file.
13327         * m4/rewinddir.m4: New file.
13328         * m4/closedir.m4: New file.
13329         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
13330         REPLACE_CLOSEDIR here.
13331         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
13332         readdir, rewinddir are declared.
13333         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
13334         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
13335         HAVE_REWINDDIR, HAVE_CLOSEDIR.
13336         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
13337         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
13338         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
13339         * modules/opendir: New file.
13340         * modules/readdir: New file.
13341         * modules/rewinddir: New file.
13342         * modules/closedir: New file.
13343         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
13344         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
13345         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
13346         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
13347         * NEWS: Mention the 'fchdir' change.
13348
13349 2011-09-11  Bruno Haible  <bruno@clisp.org>
13350
13351         asm-underscore.m4: Support for MSVC.
13352         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
13353         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
13354
13355 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
13356
13357         Doc about crypt functions.
13358         * doc/posix-functions/crypt.texi: Expand range of glibc versions
13359         needing for _GNU_SOURCE to get crypt.
13360         * doc/posix-functions/encrypt.texi: Likewise.
13361         * doc/posix-functions/setkey.texi: Likewise.
13362
13363 2011-09-11  Bruno Haible  <bruno@clisp.org>
13364
13365         doc: Update regarding MSVC 9.
13366         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
13367         tested".
13368         * doc/posix-functions/*.texi: Update with info about MSVC 9.
13369         * doc/posix-headers/*.texi: Likewise.
13370         * doc/pastposix-functions/*.texi: Likewise.
13371         * doc/glibc-functions/*.texi: Likewise.
13372         * doc/glibc-headers/*.texi: Likewise.
13373
13374 2011-09-11  Bruno Haible  <bruno@clisp.org>
13375
13376         unistd et al.: Don't assume <unistd.h> exists.
13377         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
13378         does not exist.
13379         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
13380         exist. But include <stdlib.h>.
13381         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
13382         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
13383         symlink() does not exist.
13384         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
13385         include <io.h> instead.
13386         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
13387         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
13388         include <direct.h> instead.
13389         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13390         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13391         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
13392         <io.h> instead.
13393         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
13394         correctly if the system does not have hard links.
13395         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
13396         <direct.h> instead.
13397         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
13398         it when looking for function declarations.
13399         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
13400         <direct.h> and <io.h> instead.
13401         * doc/posix-headers/unistd.texi: More details about MSVC problem.
13402
13403 2011-09-11  Bruno Haible  <bruno@clisp.org>
13404
13405         strcase: Support for MSVC.
13406         * modules/strcase (Status, Notice): Remove obsoletion mark.
13407         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
13408         * doc/posix-functions/strncasecmp.texi: Likewise.
13409
13410         strings: Don't assume <strings.h> exists.
13411         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
13412         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
13413         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
13414         * doc/posix-headers/strings.texi: Mention the MSVC problem.
13415
13416 2011-09-11  Bruno Haible  <bruno@clisp.org>
13417
13418         dirent: Don't assume <dirent.h> exists.
13419         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
13420         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
13421         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
13422         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
13423
13424 2011-09-11  Bruno Haible  <bruno@clisp.org>
13425
13426         Fix wint_t on MSVC.
13427         * lib/wchar.in.h (wint_t): On MSVC, override it.
13428         * lib/wctype.in.h (wint_t): Likewise.
13429         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
13430         MSVC.
13431         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
13432         * doc/posix-headers/wctype.texi: Likewise.
13433
13434 2011-09-11  Bruno Haible  <bruno@clisp.org>
13435
13436         sys_types: Fix typo.
13437         * lib/sys_types.in.h: Fix typo in comment.
13438         Reported by Paul Eggert.
13439
13440         Support for MSVC compiler: Ensure size_t gets defined.
13441         * modules/strings (Depends-on): Add 'sys_types'.
13442         * modules/sys_uio (Depends-on): Likewise.
13443         * lib/sys_uio.in.h: Update comment.
13444
13445         C++ tests for module 'sys_types'.
13446         * modules/sys_types-c++-tests: New file.
13447         * tests/test-sys_types-c++.cc: New file.
13448
13449         Tests for module 'sys_types'.
13450         * modules/sys_types-tests: New file.
13451         * tests/test-sys_types.c: New file.
13452
13453         New module 'sys_types'.
13454         * lib/sys_types.in.h: New file.
13455         * m4/sys_types_h.m4: New file.
13456         * modules/sys_types: New file.
13457         * doc/posix-headers/sys_types.texi: Mention the new module and the
13458         size_t problem on MSVC 9.
13459
13460 2011-09-11  Bruno Haible  <bruno@clisp.org>
13461
13462         Support for MSVC compiler: Avoid division by a literal 0.
13463         * lib/math.in.h (NAN): Define through a function call also on MSVC.
13464         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
13465         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
13466         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
13467         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
13468         * tests/infinity.h: New file.
13469         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
13470         on MSVC.
13471         * tests/test-ceilf1.c: Include infinity.h.
13472         (main): Use Infinityf.
13473         * tests/test-ceil1.c: Include infinity.h.
13474         (main): Use Infinityd.
13475         * tests/test-ceill.c: Include infinity.h.
13476         (main): Use Infinityl.
13477         * tests/test-dprintf-posix.c: Include infinity.h.
13478         (test_function): Use Infinityd.
13479         * tests/test-floorf1.c: Include infinity.h.
13480         (main): Use Infinityf.
13481         * tests/test-floor1.c: Include infinity.h.
13482         (main): Use Infinityd.
13483         * tests/test-floorl.c: Include infinity.h.
13484         (main): Use Infinityl.
13485         * tests/test-fprintf-posix.c: Include infinity.h.
13486         (test_function): Use Infinityd.
13487         * tests/test-frexp.c: Include infinity.h.
13488         (main): Use Infinityd.
13489         * tests/test-frexpl.c: Include infinity.h.
13490         (main): Use Infinityl.
13491         * tests/test-isfinite.c: Include infinity.h.
13492         (test_isfinitef): Use Infinityf.
13493         (test_isfinited): Use Infinityd.
13494         (test_isfinitel): Use Infinityl.
13495         * tests/test-isinf.c: Include infinity.h.
13496         (test_isinff): Use Infinityf.
13497         (test_isinfd): Use Infinityd.
13498         (test_isinfl): Use Infinityl.
13499         * tests/test-isnan.c: Include infinity.h.
13500         (test_float): Use Infinityf.
13501         (test_double): Use Infinityd.
13502         (test_long_double): Use Infinityl.
13503         * tests/test-isnanf.h: Include infinity.h.
13504         (main): Use Infinityf.
13505         * tests/test-isnand.h: Include infinity.h.
13506         (main): Use Infinityd.
13507         * tests/test-isnanl.h: Include infinity.h.
13508         (main): Use Infinityl.
13509         * tests/test-ldexpl.c: Include infinity.h.
13510         (main): Use Infinityl.
13511         * tests/test-printf-posix.h: Include infinity.h.
13512         (test_function): Use Infinityd.
13513         * tests/test-roundf1.c: Include infinity.h.
13514         (main): Use Infinityf.
13515         * tests/test-round1.c: Include infinity.h.
13516         (main): Use Infinityd.
13517         * tests/test-roundl.c: Include infinity.h.
13518         (main): Use Infinityl.
13519         * tests/test-signbit.c: Include infinity.h.
13520         (test_signbitf): Use Infinityf.
13521         (test_signbitd): Use Infinityd.
13522         (test_signbitl): Use Infinityl.
13523         * tests/test-snprintf-posix.h: Include infinity.h.
13524         (test_function): Use Infinityd, Infinityl.
13525         * tests/test-sprintf-posix.h: Include infinity.h.
13526         (test_function): Use Infinityd, Infinityl.
13527         * tests/test-truncf1.c: Include infinity.h.
13528         (main): Use Infinityf.
13529         * tests/test-trunc1.c: Include infinity.h.
13530         (main): Use Infinityd.
13531         * tests/test-truncl.c: Include infinity.h.
13532         (main): Use Infinityl.
13533         * tests/test-vasnprintf-posix.c: Include infinity.h.
13534         (test_function): Use Infinityd, Infinityl.
13535         * tests/test-vasprintf-posix.c: Include infinity.h.
13536         (test_function): Use Infinityd, Infinityl.
13537         * modules/ceilf-tests (Files): Add tests/infinity.h.
13538         * modules/ceil-tests (Files): Likewise.
13539         * modules/ceill-tests (Files): Likewise.
13540         * modules/dprintf-posix-tests (Files): Likewise.
13541         * modules/floorf-tests (Files): Likewise.
13542         * modules/floor-tests (Files): Likewise.
13543         * modules/floorl-tests (Files): Likewise.
13544         * modules/fprintf-posix-tests (Files): Likewise.
13545         * modules/frexp-tests (Files): Likewise.
13546         * modules/frexp-nolibm-tests (Files): Likewise.
13547         * modules/frexpl-tests (Files): Likewise.
13548         * modules/frexpl-nolibm-tests (Files): Likewise.
13549         * modules/isfinite-tests (Files): Likewise.
13550         * modules/isinf-tests (Files): Likewise.
13551         * modules/isnan-tests (Files): Likewise.
13552         * modules/isnanf-tests (Files): Likewise.
13553         * modules/isnanf-nolibm-tests (Files): Likewise.
13554         * modules/isnand-tests (Files): Likewise.
13555         * modules/isnand-nolibm-tests (Files): Likewise.
13556         * modules/isnanl-tests (Files): Likewise.
13557         * modules/isnanl-nolibm-tests (Files): Likewise.
13558         * modules/ldexpl-tests (Files): Likewise.
13559         * modules/printf-posix-tests (Files): Likewise.
13560         * modules/roundf-tests (Files): Likewise.
13561         * modules/round-tests (Files): Likewise.
13562         * modules/roundl-tests (Files): Likewise.
13563         * modules/signbit-tests (Files): Likewise.
13564         * modules/snprintf-posix-tests (Files): Likewise.
13565         * modules/sprintf-posix-tests (Files): Likewise.
13566         * modules/truncf-tests (Files): Likewise.
13567         * modules/trunc-tests (Files): Likewise.
13568         * modules/truncl-tests (Files): Likewise.
13569         * modules/vasnprintf-posix-tests (Files): Likewise.
13570         * modules/vasprintf-posix-tests (Files): Likewise.
13571         * modules/vdprintf-posix-tests (Files): Likewise.
13572         * modules/vfprintf-posix-tests (Files): Likewise.
13573         * modules/vprintf-posix-tests (Files): Likewise.
13574         * modules/vsnprintf-posix-tests (Files): Likewise.
13575         * modules/vsprintf-posix-tests (Files): Likewise.
13576         * modules/xprintf-posix-tests (Files): Likewise.
13577
13578 2011-09-11  Bruno Haible  <bruno@clisp.org>
13579
13580         Ensure pid_t gets defined.
13581         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
13582         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
13583         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
13584         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13585         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
13586         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
13587         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
13588         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
13589         * tests/test-fcntl-h.c: Check that pid_t is defined.
13590         * tests/test-sched.c: Likewise.
13591         * tests/test-termios.c: Likewise.
13592         * tests/test-time.c: Likewise.
13593         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
13594         * doc/posix-headers/signal.texi: Likewise.
13595         * doc/posix-headers/sys_types.texi: Likewise.
13596         * doc/posix-headers/time.texi: Likewise.
13597
13598 2011-09-11  Bruno Haible  <bruno@clisp.org>
13599
13600         acl: Fix compilation on Solaris 10 (older version).
13601         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
13602         of ACE_EVERYONE.
13603         * lib/set-mode-acl.c (qset_acl): Likewise.
13604         Reported by Christian Jullien <eligis@orange.fr>.
13605
13606 2011-09-10  Bruno Haible  <bruno@clisp.org>
13607
13608         iconv, unsetenv: Add support for MSVC compiler.
13609         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
13610         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
13611
13612 2011-09-10  Bruno Haible  <bruno@clisp.org>
13613
13614         *printf: Add support for MSVC compiler.
13615         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
13616         handles the exception caused by the %n directive. When cross-compiling,
13617         guess no on native Windows.
13618         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
13619         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
13620         emulate it through vsnprintf.
13621         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
13622         * doc/posix-functions/dprintf.texi: Update documentation regarding
13623         MSVC 9.
13624         * doc/posix-functions/fprintf.texi: Likewise.
13625         * doc/posix-functions/printf.texi: Likewise.
13626         * doc/posix-functions/snprintf.texi: Likewise.
13627         * doc/posix-functions/sprintf.texi: Likewise.
13628         * doc/posix-functions/swprintf.texi: Likewise.
13629         * doc/posix-functions/vdprintf.texi: Likewise.
13630         * doc/posix-functions/vfprintf.texi: Likewise.
13631         * doc/posix-functions/vprintf.texi: Likewise.
13632         * doc/posix-functions/vsnprintf.texi: Likewise.
13633         * doc/posix-functions/vsprintf.texi: Likewise.
13634         * doc/glibc-functions/asprintf.texi: Likewise.
13635         * doc/glibc-functions/obstack_printf.texi: Likewise.
13636         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
13637         * doc/glibc-functions/vasprintf.texi: Likewise.
13638
13639 2011-09-10  Bruno Haible  <bruno@clisp.org>
13640
13641         nocrash: Add support for native Windows.
13642         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
13643
13644 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
13645             Bruno Haible  <bruno@clisp.org>
13646
13647         absolute-header, include-next: Add support for MSVC compiler.
13648         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
13649         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
13650         directory separator in #line directives.
13651         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
13652         recognize also backslash as directory separator in #line directives.
13653
13654 2011-09-08  Jim Meyering  <meyering@redhat.com>
13655
13656         maint.mk: mark the post-release commit log with "maint: " prefix
13657         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
13658         one-line commit-log summary.
13659
13660 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
13661             Bruno Haible  <bruno@clisp.org>
13662
13663         Doc about crypt functions.
13664         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
13665         systems.
13666         * doc/posix-functions/encrypt.texi: Likewise.
13667         * doc/posix-functions/setkey.texi: Likewise.
13668
13669 2011-09-08  Simon Josefsson  <simon@josefsson.org>
13670
13671         * lib/gc.h: Fix copyright header.
13672
13673 2011-09-07  Bruno Haible  <bruno@clisp.org>
13674
13675         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
13676         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
13677         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
13678
13679 2011-09-07  Bruno Haible  <bruno@clisp.org>
13680
13681         openat: Work around compilation error with OSF/1 5.1 DTK cc.
13682         * lib/fopen.c: Use different syntax for include of <stdio.h>.
13683         * lib/freopen.c: Likewise.
13684         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
13685         * lib/lstat.c: Likewise.
13686         * lib/stat.c: Likewise.
13687         * lib/open.c: Use different syntax for include of <fcntl.h>.
13688         * lib/openat.c: Include fcntl.h again, explicitly.
13689
13690 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
13691
13692         parse-datetime: document the newly accepted format
13693         * doc/parse-datetime.texi (Combined date and time of day items):
13694         New section.
13695
13696 2011-09-06  Bruno Haible  <bruno@clisp.org>
13697
13698         acl: Fix a test failure on newer Solaris 10 with ZFS.
13699         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
13700         ENOSYS as no ACL.
13701         Reported by Jim Meyering.
13702
13703 2011-09-06  Bruno Haible  <bruno@clisp.org>
13704
13705         acl: Update for AIX >= 5.3 with NFS.
13706         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
13707         ENOSYS as no ACL.
13708
13709         acl: Fix a test failure on AIX >= 5.3 with NFS.
13710         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
13711         as no ACL.
13712
13713 2011-09-06  Bruno Haible  <bruno@clisp.org>
13714
13715         acl: Fix a test failure on IRIX 6.5 with NFS.
13716         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
13717         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
13718         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
13719         * lib/copy-acl.c (qcopy_acl): Likewise.
13720
13721 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
13722
13723         openat: port to AIX 7.1 with large files
13724         AIX 7.1 does a "#define openat open64at" if large files are in use,
13725         so we can't simply #undef openat.  Use the orig_openat trick (similar
13726         to orig_open in lib/open.c) to work around the problem.  Problem
13727         reported by Kevin Brott for GNU tar, in the thread containing
13728         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
13729         * lib/openat.c (__need_system_fcntl_h): Define first.
13730         Include <fcntl.h> and <sys/types.h> before undefining.
13731         (orig_openat) [HAVE_OPENAT]: New inline function.
13732         (openat) [HAVE_OPENAT]: Do not undef.
13733         (rpl_openat): Use orig_openat, not openat.
13734
13735 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
13736             Bruno Haible  <bruno@clisp.org>
13737
13738         acl: Avoid errors on NonStop Kernel.
13739         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
13740         ENOTSUP errors.
13741
13742 2011-09-05  Bruno Haible  <bruno@clisp.org>
13743
13744         acl: Clean up Solaris code.
13745         * lib/acl-internal.h: Remove no-op #if.
13746         * lib/file-has-acl.c: Likewise.
13747         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
13748         * lib/copy-acl.c (qcopy_acl): Likewise.
13749
13750 2011-09-05  Bruno Haible  <bruno@clisp.org>
13751
13752         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
13753         binaries built on the original Solaris 10.
13754         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
13755         trivial.
13756
13757 2011-09-05  Bruno Haible  <bruno@clisp.org>
13758
13759         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
13760         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
13761         10.
13762         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
13763         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
13764         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
13765         instead of acl_get, facl_get, acl_set, facl_set.
13766
13767 2011-09-05  Bruno Haible  <bruno@clisp.org>
13768
13769         copy-file: Try unit tests on more file systems.
13770         * tests/test-copy-file-1.sh: New file.
13771         * tests/test-copy-file-2.sh: New file.
13772         * modules/copy-file-tests (Files): Add them.
13773         (Makefile.am): Add them to TESTS.
13774
13775         acl: Try unit tests on more file systems.
13776         * tests/test-file-has-acl-1.sh: New file.
13777         * tests/test-file-has-acl-2.sh: New file.
13778         * tests/test-set-mode-acl-1.sh: New file.
13779         * tests/test-set-mode-acl-2.sh: New file.
13780         * tests/test-copy-acl-1.sh: New file.
13781         * tests/test-copy-acl-2.sh: New file.
13782         * modules/acl-tests (Files): Add them.
13783         (Makefile.am): Add them to TESTS.
13784
13785 2011-09-04  Bruno Haible  <bruno@clisp.org>
13786
13787         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
13788         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
13789         10.
13790         (OLD_ALLOW, OLD_DENY): New macros.
13791         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
13792         ACE_ACCESS_ALLOWED_ACE_TYPE.
13793         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
13794         ACE_ACCESS_DENIED_ACE_TYPE.
13795         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
13796         (NEW_ACE_EXECUTE): Fix value.
13797         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
13798         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
13799         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
13800         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
13801         NEW_ACE_SYNCHRONIZE): New macros.
13802         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
13803         instead of acl_fromtext, acl_set, facl_set.
13804         Fixes a coreutils/tests/cp/perm failure.
13805
13806 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
13807
13808         openat: test for fstatat (..., 0) bug
13809         Further testing with tar suggests that fstatat (..., 0)
13810         does not work in general, on AIX 7.1; see
13811         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
13812         So, give up entirely on AIX 7.1's fstatat, and fall back on our
13813         replacement fstatat (which is what older AIX releases were using
13814         anyway).
13815         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
13816         use is now changed to orig_fstatat.  This was probably the right
13817         thing to do anyway.
13818         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
13819         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
13820         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
13821         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
13822         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
13823         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
13824         if the bug is found.
13825
13826         openat: test for fstatat (AT_FDCWD, ..., 0) bug
13827         This tests for another fstatat bug on AIX 7.1:
13828         fstatat (AT_FDCWD, ..., 0) does not work.  See
13829         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
13830         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
13831         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
13832         (rpl_fstatat): Adjust so that it works around either (or both)
13833         bugs if present.
13834         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
13835
13836 2011-09-03  Karl Berry  <karl@gnu.org>
13837
13838         * doc/regex.texi (Character Class Operators): Avoid literal ":"
13839         in index entries.
13840
13841 2011-09-02  Bruno Haible  <bruno@clisp.org>
13842
13843         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
13844         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
13845         values of AR, ARFLAGS, RANLIB.
13846         Reported by John W. Eaton <jwe@gnu.org> for Octave.
13847
13848 2011-09-02  Bruno Haible  <bruno@clisp.org>
13849
13850         Find 'ar' program that fits with --host argument.
13851         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
13852
13853 2011-09-02  Bruno Haible  <bruno@clisp.org>
13854
13855         tests: init.sh: Support any non-GNU diff.
13856         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
13857         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
13858         Solaris 8.
13859
13860 2011-09-02  Bruno Haible  <bruno@clisp.org>
13861
13862         tests: init.sh: work also with any non-GNU diff that supports -u
13863         * tests/init.sh: Relax check for diff -u support.
13864         Rather than checking for GNU diff via --version, simply check
13865         for support for -u itself.  Useful at least on OpenBSD 4.9,
13866         AIX 7.1, IRIX 6.5, and Solaris 10.
13867
13868 2011-09-01  Bruno Haible  <bruno@clisp.org>
13869
13870         strtoimax, strtoumax: Document problem on HP-UX 11.
13871         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
13872         * doc/posix-functions/strtoumax.texi: Likewise.
13873
13874 2011-09-01  Bruno Haible  <bruno@clisp.org>
13875
13876         strtoumax: Avoid link error on OSF/1 with DTK cc.
13877         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
13878         defined as a function.
13879         * modules/strtoumax (Depends-on, configure.ac): Test only whether
13880         strtoumax is defined, not whether it is declared.
13881
13882 2011-09-01  Bruno Haible  <bruno@clisp.org>
13883
13884         strtoimax: Avoid link error on OSF/1 with DTK cc.
13885         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
13886         defined as a function.
13887         * modules/strtoimax (Depends-on, configure.ac): Test only whether
13888         strtoimax is defined, not whether it is declared.
13889
13890 2011-09-01  Bruno Haible  <bruno@clisp.org>
13891
13892         imaxdiv: Avoid link error on OSF/1 with DTK cc.
13893         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
13894         as a function.
13895         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
13896         whether it is declared.
13897
13898 2011-09-01  Bruno Haible  <bruno@clisp.org>
13899
13900         imaxabs: Avoid link error on OSF/1 with DTK cc.
13901         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
13902         as a function.
13903         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
13904         whether it is declared.
13905
13906 2011-09-01  Bruno Haible  <bruno@clisp.org>
13907
13908         Tests for module 'strtoumax'.
13909         * modules/strtoumax-tests: New file.
13910         * tests/test-strtoumax.c: New file.
13911
13912         Tests for module 'strtoimax'.
13913         * modules/strtoimax-tests: New file.
13914         * tests/test-strtoimax.c: New file.
13915
13916         Tests for module 'imaxdiv'.
13917         * modules/imaxdiv-tests: New file.
13918         * tests/test-imaxdiv.c: New file.
13919
13920         Tests for module 'imaxabs'.
13921         * modules/imaxabs-tests: New file.
13922         * tests/test-imaxabs.c: New file.
13923
13924 2011-09-01  Bruno Haible  <bruno@clisp.org>
13925
13926         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
13927         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
13928         pthread_create.
13929
13930 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13931
13932         openat: work around AIX 7.1 fstatat issue
13933         This should fix the problem that was not properly fixed
13934         in the previous change, dated 2011-08-30.
13935         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
13936         __need_system_stat_h defined.
13937         (orig_fstatat) [HAVE_FSTATAT]: New function.
13938         (rpl_fstatat): Go back to the old way of doing things,
13939         except call orig_fstatat instead of fstatat.
13940         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
13941         Remove unnecessary check whether fstatat fills in st_size etc.
13942
13943 2011-09-01  Bruno Haible  <bruno@clisp.org>
13944
13945         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
13946         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
13947         just include the system's header.
13948
13949 2011-08-31  Jim Meyering  <meyering@redhat.com>
13950
13951         tests: avoid spurious assertion failure in test-float.c on ppc64
13952         * tests/test-float.c (test_long_double): Comment out an assertion,
13953         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
13954         with gcc-4.4.4.
13955
13956         maint: indent with spaces, not TABs
13957         I need to get in the habit of running gnulib's "make check".
13958         Both of these would have been caught.
13959         * m4/largefile.m4: Indent with spaces, not TABs.
13960         * lib/parse-datetime.y (iso_8601_time): Likewise.
13961         Spotted by Pádraig Brady.
13962
13963         test-parse-datetime.c: accommodate a relatively strict gcc warning
13964         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
13965         to avoid a warning from gcc's -Werror=missing-declarations.
13966         Insert a few spaces-before-funcall-parenthesis.
13967
13968 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
13969
13970         parse-datetime: accept ISO 8601 date and time rep with "T" separator
13971         The parser now accepts ISO 8601 date-time strings with "T" as the
13972         separator.  It has long parsed dates like "2004-02-29 16:21:42"
13973         with a space between the date and time strings.  Now it also parses
13974         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
13975         variants like "2004-02-29T16:21:42.333-07:00"
13976         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
13977         of day representation using the 'T' separator character.
13978         * doc/parse-datetime.texi (General date syntax): replace use of
13979         deprecated --iso-8601 option with --rfc-3339 in example of date
13980         command output formats that can be parsed.
13981         * tests/test-parse-datetime.c (tm_diff): New function, taken from
13982         lib/parse-datetime.y.
13983         (gmt_offset): New function.
13984         (main): Add additional test cases to validate ISO8601 extended
13985         date and time of day parsing.
13986
13987 2011-08-31  Bruno Haible  <bruno@clisp.org>
13988
13989         freopen: Documentation.
13990         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
13991         name.
13992         Reported by Claudio Bley <claudio.bley@gmail.com>.
13993
13994 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
13995
13996         freopen: Don't crash if the filename argument is NULL.
13997         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
13998         NULL.
13999
14000 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14001
14002         openat: work around AIX 7.1 fstatat bug
14003         Problem reported by Kevin Brott for GNU tar, in the thread containing
14004         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
14005         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
14006         FSTATAT_ST_SIZE_ETC_BROKEN.
14007         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
14008         rpl_fstatat.
14009         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
14010         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
14011         AC_CHECK_FUNCS_ONCE for fstatat.
14012         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
14013         fchmodat, mkdirat, openat and unlinkat.
14014
14015 2011-08-30  Bruno Haible  <bruno@clisp.org>
14016
14017         Avoid endless recursions if config.h includes some header files.
14018         * lib/fopen.c (__need_FILE): Define already before including config.h.
14019         * lib/freopen.c (__need_FILE): Likewise.
14020         * lib/open.c (__need_system_fcntl_h): Likewise.
14021         * lib/stat.c (__need_system_sys_stat_h): Likewise.
14022         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
14023         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
14024
14025 2011-08-25  Karl Berry  <karl@gnu.org>
14026
14027         * config/srclist.txt (ylwrap): new try.
14028         * build-aux/ylwrap: new file.
14029
14030 2011-08-23  Bruno Haible  <bruno@clisp.org>
14031
14032         tmpdir: Use a good default directory on native Windows.
14033         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
14034         (P_tmpdir): Default to _P_tmpdir on native Windows.
14035         (path_search): On native Windows, try the value returned by GetTempPath
14036         before trying P_tmpdir.
14037         * modules/tmpdir (Depends-on): Add pathmax.
14038         Suggested by John Darrington <john@darrington.wattle.id.au>.
14039
14040 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
14041
14042         doc: fix typo in README-release
14043         * top/README-release: Capitalize first word of a sentence.
14044
14045 2011-08-19  Jim Meyering  <meyering@redhat.com>
14046
14047         fts: do not exhaust memory when processing million-entry directories
14048         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
14049         directory would require about 256*N bytes of memory.  Thus, it was
14050         easy to construct a directory too large to be processed by any of
14051         those tools.  With this change, fts' maximum memory utilization is
14052         now limited to around 30MB.
14053         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
14054         (fts_read): When we've processed the final entry (i.e., when
14055         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
14056         using the parent entry to read any remaining entries.  Dispatch
14057         depending on what fts_build returns:
14058         - NULL+stop, aka failure: stop
14059         - NULL otherwise: move up in the dir hierarchy
14060         - non-NULL: handle this new entry
14061         (fts_build): Declare and use new local, continue_readdir.
14062         Prepare to be called from fts_read, when the entries
14063         from a partially-read directory have just been exhausted.
14064         In that case, we'll skip the opendir and instead use the parent's
14065         fts_dirp and derive dir_fd from that.
14066         Finally, in the readdir loop, if we read max_entries entries,
14067         exit the loop ensuring *not* to call closedir.  This is required
14068         so that fts_dirp can be reused on a subsequent call.
14069         Prompted by Ben England's report of memory exhaustion in find
14070         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
14071
14072         maint: fts: move decl of `dp' down into while loop; split a long line
14073         * lib/fts.c (fts_build): No semantic change.
14074
14075         fts: add/use new struct member, fts_dirp
14076         We are about to use this to manage any directory with
14077         too many entries to read all of them into memory at once.
14078         To do that, we'll need to save the DIR* pointer in each
14079         affected FTSENT struct.
14080         * lib/fts_.h: Include <dirent.h>.
14081         (struct FTSENT) [fts_dirp]: New member.
14082         * lib/fts.c (closedir_and_clear): Define.
14083         Use it in place of closedir so that we are sure to
14084         clear the new fts_dirp member when done with it.
14085         (fts_alloc): Initialize the new member.
14086         (fts_lfree): Free, if needed.
14087
14088         maint: fts: give __opendir2 a new parameter and rename
14089         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
14090         than surreptitiously using sole caller's "dir_fd".
14091         (fts_opendir): Rename from __opendir2.
14092
14093         maint: fts.c: remove __opendir2's now-unused parameter, oflag
14094         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
14095
14096         maint: fts.c: correct off-by-one indentation
14097         * lib/fts.c (fts_build): Correct indentation, change style
14098         of a couple of block comments, and bracing style.
14099
14100         maint: fts.c: move __opendir2 #define "up" out of function body
14101         * lib/fts.c (__opendir2): Move "up".  No semantic change.
14102
14103         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
14104         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
14105         out for a long time and besides was useful only on BSD systems.
14106
14107 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
14108
14109         regex: port to Stratus OpenVOS
14110         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
14111         define to empty, rather than attempting nonportable optimizations.
14112         Problem reported by Paul Green in:
14113         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
14114         and fix suggested by Eric Blake in:
14115         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
14116
14117 2011-08-17  Eric Blake  <eblake@redhat.com>
14118
14119         getcwd: fix test failures on mingw
14120         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
14121         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
14122         test if long directory cannot be created, and allow mingw errno.
14123
14124         getcwd-lgpl: fix m4 to match relaxed test for BSD
14125         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
14126         (gl_FUNC_GETCWD_SIGNATURE): New macro.
14127         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
14128         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
14129         signature problem.
14130
14131         getcwd: fix compilation on mingw64
14132         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
14133         getcwd.
14134         Reported by Marc-André Lureau.
14135
14136         pipe2: silence compiler warning
14137         * lib/pipe2.c (pipe2): Hide label if it is not used.
14138
14139 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
14140
14141         relocatable-prog: fix link error
14142         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
14143         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
14144         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
14145         into modules/relocatable-lib without noticing that
14146         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
14147         also needs to build relocatable.c.
14148
14149 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14150
14151         getaddrinfo: fix sh typo in gai_strerrorA decl checking
14152         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
14153         shell code: it contained a 'break' that was not in a loop.
14154         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
14155         via a shell-language loop; this may have been true in old Autoconf
14156         versions, but it's not true in Autoconf 2.68.  I found this bug
14157         when testing coreutils git on Solaris 8, whose shell complains
14158         about the syntax error.
14159
14160 2011-08-12  Simon Josefsson  <simon@josefsson.org>
14161
14162         * lib/base64.c: Fix comment to reference RFC 4648.
14163         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
14164         <gvtulder@gmail.com>.
14165
14166 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14167
14168         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
14169
14170         po/Makefile.in.in: fix make -q problem
14171         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
14172         rule, since there's no file named 'check-macro-version' and its
14173         use as a file breaks make -q.
14174         (all): Don't depend on check-macro-version.
14175         (CHECK_MACRO_VERSION): New macro.
14176         (stamp-po): Use it.
14177
14178         configmake: fix make -q problem
14179         * modules/configmake (configmake.h): Update configmake.h's time stamp
14180         even if the file does not change.  Otherwise, 'make -q' fails.
14181         Problem reported by Simon Josefsson in
14182         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
14183
14184 2011-08-11  Jim Meyering  <meyering@redhat.com>
14185
14186         git-version-gen: correct the advice in a comment
14187         * build-aux/git-version-gen: Correct comment.
14188         Don't recommend to list .tarball-version in .gitignore.
14189
14190 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14191
14192         base64: fix off-by-one buffer size bug
14193         Problem and (trivial) fix reported by Gijs van Tulder in
14194         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
14195         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
14196         * tests/test-base64.c (main): Catch the bug.
14197
14198 2011-08-10  Eric Blake  <eblake@redhat.com>
14199
14200         closein: correct comments
14201         * lib/closein.c (close_stdin): Improve comments.
14202
14203 2011-08-09  Bruno Haible  <bruno@clisp.org>
14204
14205         More tests for 'fseeko'.
14206         * tests/test-fseeko3.c: New file, from Eric Blake.
14207         * tests/test-fseeko3.sh: New file.
14208         * modules/fseeko-tests (Files): Add them.
14209         (TESTS): Add test-fseeko3.sh.
14210         (check_PROGRAMS): Add test-fseeko3.
14211
14212 2011-08-09  Eric Blake  <eblake@redhat.com>
14213
14214         fseeko: remove unneeded hack
14215         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
14216
14217         fseeko: fix bug on glibc
14218         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
14219         Reported by John W. Eaton.
14220
14221 2011-08-08  Bruno Haible  <bruno@clisp.org>
14222
14223         unictype/base: Fix interoperability with preinstalled libunistring.
14224         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
14225         Reported by Simon Josefsson.
14226
14227 2011-08-08  Bruno Haible  <bruno@clisp.org>
14228
14229         iswblank: Detect declaration correctly.
14230         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
14231         AC_CHECK_DECLS invocation.
14232
14233 2011-08-08  Bruno Haible  <bruno@clisp.org>
14234
14235         tcgetsid: Detect declaration correctly.
14236         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
14237         AC_CHECK_DECLS invocation.
14238         Reported by Simon Josefsson.
14239
14240 2011-08-08  Eric Blake  <eblake@redhat.com>
14241
14242         largefile: fix typo that regressed large file support
14243         * modules/largefile (configure.ac-early): Fix section name.
14244
14245 2011-08-06  Karl Berry  <karl@gnu.org>
14246
14247         * MODULES.html.sh (func_all_files): _Noreturn is no longer
14248         a separate module.
14249
14250 2011-08-05  Simon Josefsson  <simon@josefsson.org>
14251
14252         openat: Fix warnings and commens when building unlinkat.c on Hurd.
14253         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
14254         get prototype for free.
14255
14256 2011-08-04  Bruno Haible  <bruno@clisp.org>
14257
14258         Tests for module 'pathmax'.
14259         * modules/pathmax-tests: New file.
14260         * tests/test-pathmax.c: New file.
14261
14262         canonicalize-lgpl: Support larger filenames on the Hurd.
14263         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
14264         Reported by Paul Eggert.
14265
14266         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
14267         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
14268         * lib/chdir-long.h: Include pathmax.h.
14269         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
14270         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
14271         (PATH_MAX): Remove code that is done by pathmax.h.
14272         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
14273         * lib/tmpfile.c: Add a comment.
14274         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
14275         * modules/chdir-long (Depends-on): Add pathmax.
14276         * modules/getcwd (Depends-on): Add pathmax.
14277         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
14278         is not defined.
14279         * doc/posix-headers/limits.texi: Mention the pathmax module.
14280         * NEWS: Mention the change.
14281
14282 2011-08-02  Bruno Haible  <bruno@clisp.org>
14283
14284         pthread_sigmask: Actually use results of gl_THREADLIB.
14285         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
14286         gl_THREADLIB, not gl_[]THREADLIB.
14287         Reported by Eric Blake.
14288
14289 2011-08-02  Jim Meyering  <meyering@redhat.com>
14290
14291         maint.mk: relax the default _gl_TS_function_match regexp
14292         * top/maint.mk (_gl_TS_function_match): Don't require at least one
14293         space between function name and "(" in an "extern" declaration.
14294         That would fail to match a decl with no space there: extern void foo();
14295
14296 2011-07-31  Iain Nicol  <iain@thenicols.net>
14297
14298         git-version-gen: document that EXTRA_DIST must include .version
14299         * build-aux/git-version-gen: In the how-to-use comment, document
14300         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
14301         will fail when run from an unpacked distribution tarball.
14302
14303 2011-08-01  Bruno Haible  <bruno@clisp.org>
14304
14305         wctype-h: Fix last change.
14306         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
14307         REPLACE_TOWLOWER to 0.
14308         Reported by Sam Steingold <sds@gnu.org>.
14309
14310 2011-07-31  Bruno Haible  <bruno@clisp.org>
14311
14312         frexpl: Update autoconf test.
14313         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
14314         according to changes of 2011-06-20.
14315
14316 2011-07-31  Bruno Haible  <bruno@clisp.org>
14317
14318         sys_utsname: Add support for Minix.
14319         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
14320         <sys/utsname.h>.
14321         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14322         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
14323
14324 2011-07-31  Bruno Haible  <bruno@clisp.org>
14325
14326         strings: Add support for Minix.
14327         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
14328         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
14329         * doc/posix-headers/strings.texi: Document the Minix problem.
14330
14331 2011-07-31  Bruno Haible  <bruno@clisp.org>
14332
14333         wctype-h: Add support for Minix.
14334         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
14335         REPLACE_TOWLOWER.
14336         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
14337         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
14338         REPLACE_ISWCNTRL.
14339
14340 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
14341
14342         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
14343         This is a performance improvement for 64-bit hosts: it causes the
14344         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
14345
14346 2011-07-31  Bruno Haible  <bruno@clisp.org>
14347
14348         stdioext: Add support for Minix.
14349         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
14350         * lib/fpurge.c (fpurge): Likewise.
14351         * lib/freadahead.c (freadahead): Likewise.
14352         * lib/freadable.c (freadable): Likewise.
14353         * lib/freading.c (freading): Likewise.
14354         * lib/freadptr.c (freadptr): Likewise.
14355         * lib/freadseek.c (freadptrinc): Likewise.
14356         * lib/fseeko.c (rpl_fseeko): Likewise.
14357         * lib/fseterr.c (fseterr): Likewise.
14358         * lib/fwritable.c (fwritable): Likewise.
14359         * lib/fwriting.c (fwriting): Likewise.
14360         * lib/fflush.c (clear_ungetc_buffer): Update comment.
14361         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
14362
14363 2011-07-31  Bruno Haible  <bruno@clisp.org>
14364
14365         errno: Port to Minix.
14366         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
14367         ECONNABORTED are defined.
14368         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
14369         GNULIB_defined_ECONNABORTED): New macros.
14370         * lib/strerror-override.h (strerror_override): Test also
14371         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
14372         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
14373         ECONNABORTED.
14374         * doc/posix-headers/errno.texi: Mention the Minix problem.
14375
14376 2011-07-31  Bruno Haible  <bruno@clisp.org>
14377
14378         Work around declaration collisions on Minix.
14379         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
14380         defined, set REPLACE_MBSINIT.
14381         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
14382         defined, set REPLACE_MBRTOWC.
14383         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
14384         set REPLACE_MBRLEN.
14385         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
14386         defined, set REPLACE_MBSRTOWCS.
14387         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
14388         defined, set REPLACE_WCRTOMB.
14389         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
14390         defined, set REPLACE_WCSRTOMBS.
14391
14392 2011-07-31  Bruno Haible  <bruno@clisp.org>
14393
14394         Add support for Minix with ACK compiler.
14395         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
14396         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
14397         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
14398
14399 2011-07-31  Bruno Haible  <bruno@clisp.org>
14400
14401         Documentation about Minix.
14402         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
14403         * doc/glibc-headers/*.texi: Likewise.
14404         * doc/posix-functions/*.texi: Likewise.
14405         * doc/glibc-functions/*.texi: Likewise.
14406
14407 2011-07-31  Bruno Haible  <bruno@clisp.org>
14408
14409         snippet/warn-on-use: Fix indentation.
14410         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
14411
14412 2011-07-25  Jim Meyering  <meyering@redhat.com>
14413
14414         tests: test-update-copyright.sh: remove unnecessary "rm" commands
14415         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
14416         commands.
14417
14418 2011-07-27  Jim Meyering  <meyering@redhat.com>
14419
14420         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
14421         * top/maint.mk (gl_extract_significant_defines_): Now that
14422         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
14423         gnulib/lib/signal.in.h, and now that we recommend to
14424         define-if-undefined those two symbols in application code,
14425         we must filter them out of the "significant" list.
14426         This avoids a "make syntax-check" failure in coreutils.
14427
14428 2011-07-26  Eric Blake  <eblake@redhat.com>
14429
14430         warnings: add comments about previous patch
14431         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
14432         * m4/include_next.m4: Likewise.
14433         * m4/warn-on-use.m4: Likewise.
14434         * m4/warnings.m4: Likewise, and simplify use.
14435         Suggested by Stefano Lattarini.
14436
14437         include-next, warnings: support older autoconf
14438         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
14439         AS_VAR_PUSHDEF in a way that works with older autoconf.
14440         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
14441         Reported by Daniel P. Berrange.
14442
14443 2011-07-25  Bruno Haible  <bruno@clisp.org>
14444
14445         fseek, ftell: Fix doc.
14446         * doc/posix-functions/fseek.texi: Reword statement about
14447         AC_SYS_LARGEFILE.
14448         * doc/posix-functions/ftell.texi: Likewise.
14449
14450 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14451             Bruno Haible  <bruno@clisp.org>
14452
14453         Add dependencies to the 'largefile' module.
14454         * modules/fopen (Depends-on): Add 'largefile'.
14455         * modules/freopen (Depends-on): Likewise.
14456         * modules/fseeko (Depends-on): Likewise.
14457         * modules/ftello (Depends-on): Likewise.
14458         * modules/glob (Depends-on): Likewise.
14459         * modules/lseek (Depends-on): Likewise.
14460         * modules/lstat (Depends-on): Likewise.
14461         * modules/mkostemp (Depends-on): Likewise.
14462         * modules/mkostemps (Depends-on): Likewise.
14463         * modules/mkstemp (Depends-on): Likewise.
14464         * modules/mkstemps (Depends-on): Likewise.
14465         * modules/open (Depends-on): Likewise.
14466         * modules/openat (Depends-on): Likewise.
14467         * modules/pread (Depends-on): Likewise.
14468         * modules/pwrite (Depends-on): Likewise.
14469         * modules/scandir (Depends-on): Likewise.
14470         * modules/stat (Depends-on): Likewise.
14471         * modules/tmpfile (Depends-on): Likewise.
14472         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
14473         since the containing module now depends on the largefile module.
14474         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
14475         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
14476         off_t is fixed by gnulib.
14477         * doc/posix-functions/freopen.texi: Likewise.
14478         * doc/posix-functions/fseeko.texi: Likewise.
14479         * doc/posix-functions/fstatat.texi: Likewise.
14480         * doc/posix-functions/ftello.texi: Likewise.
14481         * doc/posix-functions/glob.texi: Likewise.
14482         * doc/posix-functions/lseek.texi: Likewise.
14483         * doc/posix-functions/lstat.texi: Likewise.
14484         * doc/posix-functions/mkstemp.texi: Likewise.
14485         * doc/posix-functions/open.texi: Likewise.
14486         * doc/posix-functions/openat.texi: Likewise.
14487         * doc/posix-functions/pread.texi: Likewise.
14488         * doc/posix-functions/pwrite.texi: Likewise.
14489         * doc/posix-functions/scandir.texi: Likewise.
14490         * doc/posix-functions/stat.texi: Likewise.
14491         * doc/posix-functions/tmpfile.texi: Likewise.
14492         * doc/glibc-functions/mkostemp.texi: Likewise.
14493         * doc/glibc-functions/mkostemps.texi: Likewise.
14494         * doc/glibc-functions/mkstemps.texi: Likewise.
14495
14496 2011-07-25  Bruno Haible  <bruno@clisp.org>
14497
14498         fcntl: Move AC_LIBOBJ invocation to module description.
14499         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
14500         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
14501
14502         fcntl: Remove call-in from fchdir.m4.
14503         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
14504         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
14505
14506         dup3: Remove potential call-in from fchdir.m4.
14507         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
14508         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
14509
14510         dup2: Move AC_LIBOBJ invocation to module description.
14511         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
14512         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
14513         Don't invoke AC_LIBOBJ.
14514         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
14515
14516         dup2: Remove call-in from fchdir.m4.
14517         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
14518         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
14519
14520         fclose: Move AC_LIBOBJ invocation to module description.
14521         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
14522         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
14523         to 1.
14524         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
14525
14526         fclose: Remove call-in from close.m4.
14527         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
14528         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
14529
14530         close: Move AC_LIBOBJ invocation to module description.
14531         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
14532         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
14533         1.
14534         * modules/close (configure.ac): Invoke AC_LIBOBJ.
14535
14536         close: Remove call-in from fchdir.m4.
14537         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
14538         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
14539
14540         open: Move AC_LIBOBJ invocation to module description.
14541         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
14542         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
14543         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
14544
14545         open: Remove call-in from fchdir.m4.
14546         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
14547         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
14548
14549         fchdir: Start to remove gl_REPLACE_* idiom.
14550         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
14551         (gl_FUNC_FCHDIR): Invoke it.
14552
14553 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14554
14555         * lib/ftell.c (ftell): Comment out cast.
14556
14557         close: use gl_REPLACE_FCLOSE only if defined
14558         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
14559         is defined.  The close module doesn't depend on the fclose module
14560         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
14561         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
14562         I reproduced the problem with "./gnulib-tool --test close sys_socket".
14563
14564 2011-07-24  Jim Meyering  <meyering@redhat.com>
14565
14566         test-select.h: avoid warning when using gcc's -Wmissing-declarations
14567         * tests/test-select.h (test_function): Declare as "static".
14568
14569 2011-07-24  Bruno Haible  <bruno@clisp.org>
14570
14571         doc: Mention the effects of AC_SYS_LARGEFILE.
14572         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
14573         on this function.
14574         * doc/posix-functions/aio_error.texi: Likewise.
14575         * doc/posix-functions/aio_fsync.texi: Likewise.
14576         * doc/posix-functions/aio_read.texi: Likewise.
14577         * doc/posix-functions/aio_return.texi: Likewise.
14578         * doc/posix-functions/aio_suspend.texi: Likewise.
14579         * doc/posix-functions/aio_write.texi: Likewise.
14580         * doc/posix-functions/fgetpos.texi: Likewise.
14581         * doc/posix-functions/fopen.texi: Likewise.
14582         * doc/posix-functions/freopen.texi: Likewise.
14583         * doc/posix-functions/fsetpos.texi: Likewise.
14584         * doc/posix-functions/fstatvfs.texi: Likewise.
14585         * doc/posix-functions/ftruncate.texi: Likewise.
14586         * doc/posix-functions/ftw.texi: Likewise.
14587         * doc/posix-functions/getrlimit.texi: Likewise.
14588         * doc/posix-functions/glob.texi: Likewise.
14589         * doc/posix-functions/lio_listio.texi: Likewise.
14590         * doc/posix-functions/lockf.texi: Likewise.
14591         * doc/posix-functions/mkstemp.texi: Likewise.
14592         * doc/posix-functions/mmap.texi: Likewise.
14593         * doc/posix-functions/nftw.texi: Likewise.
14594         * doc/posix-functions/openat.texi: Likewise.
14595         * doc/posix-functions/opendir.texi: Likewise.
14596         * doc/posix-functions/posix_fadvise.texi: Likewise.
14597         * doc/posix-functions/posix_fallocate.texi: Likewise.
14598         * doc/posix-functions/pread.texi: Likewise.
14599         * doc/posix-functions/pwrite.texi: Likewise.
14600         * doc/posix-functions/readdir.texi: Likewise.
14601         * doc/posix-functions/readdir_r.texi: Likewise.
14602         * doc/posix-functions/rewinddir.texi: Likewise.
14603         * doc/posix-functions/scandir.texi: Likewise.
14604         * doc/posix-functions/seekdir.texi: Likewise.
14605         * doc/posix-functions/setrlimit.texi: Likewise.
14606         * doc/posix-functions/statvfs.texi: Likewise.
14607         * doc/posix-functions/telldir.texi: Likewise.
14608         * doc/posix-functions/tmpfile.texi: Likewise.
14609         * doc/posix-functions/truncate.texi: Likewise.
14610         * doc/glibc-functions/fallocate.texi: Likewise.
14611         * doc/glibc-functions/fstatfs.texi: Likewise.
14612         * doc/glibc-functions/fts_children.texi: Likewise.
14613         * doc/glibc-functions/fts_read.texi: Likewise.
14614         * doc/glibc-functions/getdirentries.texi: Likewise.
14615         * doc/glibc-functions/mkostemp.texi: Likewise.
14616         * doc/glibc-functions/mkostemps.texi: Likewise.
14617         * doc/glibc-functions/mkstemps.texi: Likewise.
14618         * doc/glibc-functions/preadv.texi: Likewise.
14619         * doc/glibc-functions/pwritev.texi: Likewise.
14620         * doc/glibc-functions/sendfile.texi: Likewise.
14621         * doc/glibc-functions/statfs.texi: Likewise.
14622
14623 2011-07-24  Bruno Haible  <bruno@clisp.org>
14624
14625         doc: Fix typo.
14626         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
14627
14628 2011-07-24  Bruno Haible  <bruno@clisp.org>
14629
14630         doc: Mention fsusage.
14631         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
14632
14633 2011-07-24  Bruno Haible  <bruno@clisp.org>
14634
14635         doc: Mention new glibc headers and functions.
14636         * doc/glibc-headers/gshadow.texi: New file.
14637         * doc/glibc-functions/endsgent.texi: New file.
14638         * doc/glibc-functions/fgetsgent.texi: New file.
14639         * doc/glibc-functions/fgetsgent_r.texi: New file.
14640         * doc/glibc-functions/getsgent.texi: New file.
14641         * doc/glibc-functions/getsgent_r.texi: New file.
14642         * doc/glibc-functions/getsgnam.texi: New file.
14643         * doc/glibc-functions/getsgnam_r.texi: New file.
14644         * doc/glibc-functions/putsgent.texi: New file.
14645         * doc/glibc-functions/setsgent.texi: New file.
14646         * doc/glibc-functions/sgetsgent.texi: New file.
14647         * doc/glibc-functions/sgetsgent_r.texi: New file.
14648         * doc/glibc-functions/malloc_info.texi: New file.
14649         * doc/glibc-functions/preadv.texi: New file.
14650         * doc/glibc-functions/pwritev.texi: New file.
14651         * doc/glibc-functions/register_printf_modifier.texi: New file.
14652         * doc/glibc-functions/register_printf_specifier.texi: New file.
14653         * doc/glibc-functions/register_printf_type.texi: New file.
14654         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
14655         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
14656         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
14657         * doc/glibc-functions/pthread_getname_np.texi: New file.
14658         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
14659         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
14660         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
14661         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
14662         * doc/glibc-functions/pthread_setname_np.texi: New file.
14663         * doc/glibc-functions/pthread_sigqueue.texi: New file.
14664         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
14665         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
14666         * doc/glibc-functions/qsort_r.texi: New file.
14667         * doc/glibc-functions/quick_exit.texi: New file.
14668         * doc/glibc-functions/syncfs.texi: New file.
14669         * doc/gnulib.texi: Include them.
14670         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
14671         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
14672         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
14673         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
14674         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
14675         * doc/glibc-functions/execvpe.texi: Likewise.
14676
14677 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
14678
14679         ftell: don't include <unistd.h>
14680         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
14681         guaranteed to define off_t, and the ftell module depends on the
14682         stdio module.
14683
14684         ftell: do not assume wraparound signed arithmetic
14685         * lib/ftell.c: Include <limits.h>.
14686         (ftell): Don't assume wraparound signed arithmetic.
14687
14688 2011-07-24  Bruno Haible  <bruno@clisp.org>
14689
14690         close: No longer depend on module 'fclose'.
14691         * modules/close (Depends-on): Remove fclose.
14692         * NEWS: Mention the change.
14693         Suggested by Sam Steingold <sds@gnu.org>.
14694
14695 2011-07-24  Bruno Haible  <bruno@clisp.org>
14696
14697         fsusage: Enable large volume support on AIX >= 5.2.
14698         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
14699         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
14700         instead of STAT_STATVFS.
14701         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
14702
14703         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
14704         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
14705         f_blocks field only on MacOS X.
14706
14707         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
14708         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
14709         * modules/fsusage (Depends-on): Add largefile.
14710
14711 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
14712
14713         * README: Modernize discussion of signed integers.
14714         Assuming overflow wraparound is no longer safe.
14715         Mention ones' complement and signed magnitude.
14716
14717 2011-07-22  Bruno Haible  <bruno@clisp.org>
14718
14719         select tests, pselect tests: Refactor.
14720         * tests/test-select.h: New file, extracted from tests/test-select.c.
14721         (select_fn): New type.
14722         (test, do_select, do_select_nowait, do_select_wait, test_tty,
14723         test_connect_first, test_accept_first, test_pair, test_socket_pair,
14724         test_pipe): Add my_select argument.
14725         (test_function): Renamed from main. Add my_select argument.
14726         * tests/test-select.c: Move most code to tests/test-select.h. Include
14727         test-select.h.
14728         * modules/select-tests (Files): Add tests/test-select.h.
14729         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
14730         (my_select, main): New functions.
14731         * modules/pselect-tests (Files): Add tests/test-select.h,
14732         tests/macros.h, tests/signature.h.
14733         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
14734         (configure.ac): Check for <sys/wait.h>.
14735
14736 2011-07-22  Bruno Haible  <bruno@clisp.org>
14737
14738         sys_select tests: Check the signature of FD_*.
14739         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
14740         signature tests from here...
14741         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
14742         here.
14743         * modules/sys_select-tests (Files): Add tests/signature.h.
14744
14745 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
14746
14747         largefile: new module, replacing large-inode
14748         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
14749         * MODULES.html.sh: Add largefile, remove large-inode.
14750         * modules/largefile, m4/largefile.m4: New files.
14751         * modules/large-inode, m4/large-inode.m4: Remove.
14752
14753         fsusage: port to MacOS X 10.7 with 4 TiB file systems
14754         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
14755         implementations that use only 32 bits to count blocks.
14756         On typical hosts with 1024-byte blocks, this fails with file
14757         systems as small as 4 TiB.  Problem reported by Herb Wartens
14758         <http://debbugs.gnu.org/9140> and this should also fix a similar
14759         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
14760
14761         large-inode: New module
14762         * MODULES.html.sh: Add it.
14763         * modules/large-inode, m4/large-inode.m4: New files.
14764
14765         extensions: Enable extensions on MacOS X 10.5 and later.
14766         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
14767
14768 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
14769
14770         file-has-acl: use acl_extended_file_nofollow if available
14771         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
14772         (acl_extended_file): New macro.
14773         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
14774         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
14775
14776 2011-07-21  Bruno Haible  <bruno@clisp.org>
14777
14778         Declare system functions in a way that works with C++.
14779         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
14780         declare fdopendir as extern "C".
14781         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
14782         declare frexpl as extern "C".
14783         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
14784         declare gai_strerror as extern "C".
14785         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
14786         programs, declare gai_strerror as extern "C".
14787         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
14788         declare getlogin_r as extern "C".
14789         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
14790         as extern "C".
14791         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
14792         declare ldexpl as extern "C".
14793         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
14794         as extern "C".
14795         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
14796         program, declare getmntinfo as extern "C".
14797         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
14798         stpncpy as extern "C".
14799         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
14800         program, declare __xpg_strerror_r as extern "C".
14801         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
14802         strndup as extern "C".
14803         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
14804         declare memset and bzero as extern "C".
14805         Reported by Sam Steingold <sds@gnu.org>.
14806
14807 2011-07-12  Jim Meyering  <meyering@redhat.com>
14808
14809         maint.mk: prohibit inclusion of "verify.h" without use
14810         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
14811
14812 2011-07-19  Pádraig Brady  <P@draigBrady.com>
14813
14814         timer-time: A new module to check for timer_settime()
14815         * m4/timer_time.m4: Check for the posix function.
14816         * modules/timer-time: Add the new module.
14817         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
14818         Mention it.
14819
14820 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
14821             Bruno Haible  <bruno@clisp.org>
14822
14823         pthread_sigmask: assume POSIX threads if --avoid=threadlib
14824         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
14825         not defined, assume POSIX threads and look for pthread_sigmask in
14826         $LIBS, without changing $CPPFLAGS.
14827
14828 2011-07-19  Bruno Haible  <bruno@clisp.org>
14829
14830         strstr: Update cross-compilation guess.
14831         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
14832         CPUs, guess no, in view of glibc
14833         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
14834         Suggested by Eric Blake. Reported by Reuben Thomas.
14835
14836 2011-07-19  Pádraig Brady  <P@draigBrady.com>
14837
14838         getopt-gnu: suppress core dumps from detection code
14839         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
14840         to suppress core dumps that may well occur on glibc systems.
14841         * modules/getopt-gnu: Depend on nocrash.
14842
14843 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
14844
14845         pthread_sigmask: ensure usleep is declared
14846         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
14847         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
14848
14849 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
14850
14851         doc: Document NonStop portability issues.
14852         * doc/posix-functions/sigaction.texi (sigaction):
14853         * doc/posix-headers/signal.texi (signal.h):
14854         Document NonStop.  See Joachim Schmitz in
14855         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
14856
14857 2011-07-15  Bruno Haible  <bruno@clisp.org>
14858
14859         ffsl, ffsll: Avoid unportable behaviour.
14860         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
14861
14862 2011-07-15  Bruno Haible  <bruno@clisp.org>
14863
14864         ffs: More tests.
14865         * tests/test-ffs.c (NBITS): New macro.
14866         (main): Add more tests.
14867         * tests/test-ffsl.c (NBITS): New macro.
14868         (main): Add more tests.
14869         * tests/test-ffsll.c (NBITS): New macro.
14870         (main): Add more tests.
14871
14872 2011-07-15  Eric Blake  <eblake@redhat.com>
14873
14874         ffsl, ffsll: new modules
14875         * modules/ffsl: New file.
14876         * modules/ffsll: Likewise.
14877         * m4/ffsl.m4: Likewise.
14878         * m4/ffsll.m4: Likewise.
14879         * lib/ffsl.c: Likewise.
14880         * lib/ffsl.h: Likewise.
14881         * lib/ffsll.c: Likewise.
14882         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
14883         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
14884         * modules/string (Makefile.am): Substitute witnesses.
14885         * lib/strings.in.h (ffsl, ffsll): Declare.
14886         * modules/ffsl-tests: New test file.
14887         * modules/ffsll-tests: Likewise.
14888         * tests/test-ffsl.c: Likewise.
14889         * tests/test-ffsll.c: Likewise.
14890         * MODULES.html.sh (Integer arithmetic functions): Mention it.
14891         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
14892         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
14893
14894         ffs: fix m4 prerequisite
14895         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
14896
14897         ffs: avoid undefined behavior
14898         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
14899         * tests/test-ffs.c (naive, main): Avoid signed shifts.
14900         Reported by Bruno Haible.
14901
14902 2011-07-12  Bruno Haible  <bruno@clisp.org>
14903
14904         pthread_sigmask: Rely on module 'threadlib'.
14905         * modules/pthread_sigmask (Depends-on): Add threadlib.
14906         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
14907         is defined.
14908
14909 2011-07-12  Bruno Haible  <bruno@clisp.org>
14910
14911         regex: Depend on module 'strcase'.
14912         * modules/regex (Depends-on): Add strcase, for strcasecmp().
14913
14914 2011-07-12  Jim Meyering  <meyering@redhat.com>
14915
14916         warn-on-use: fix typo in file name
14917         * modules/snippet/warn-on-use (Files): Correct file name:
14918         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
14919
14920 2011-07-12  Bruno Haible  <bruno@clisp.org>
14921
14922         strings: Document module.
14923         * doc/posix-headers/strings.texi: Mention module 'strings'.
14924
14925 2011-07-12  Bruno Haible  <bruno@clisp.org>
14926
14927         Rename module '_Noreturn' to 'snippet/_Noreturn'.
14928         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
14929         (Files, Makefile.am): Update.
14930         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
14931         * modules/stdlib (Depends-on): Update.
14932
14933 2011-07-12  Bruno Haible  <bruno@clisp.org>
14934
14935         * NEWS: Mention the changes.
14936
14937         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
14938         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
14939         (Files, Makefile.am): Update.
14940         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
14941         * modules/arpa_inet (Depends-on): Update.
14942         * modules/ctype (Depends-on): Update.
14943         * modules/dirent (Depends-on): Update.
14944         * modules/fcntl-h (Depends-on): Update.
14945         * modules/glob (Depends-on): Update.
14946         * modules/iconv-h (Depends-on): Update.
14947         * modules/inttypes-incomplete (Depends-on): Update.
14948         * modules/langinfo (Depends-on): Update.
14949         * modules/locale (Depends-on): Update.
14950         * modules/math (Depends-on): Update.
14951         * modules/netdb (Depends-on): Update.
14952         * modules/poll-h (Depends-on): Update.
14953         * modules/pty (Depends-on): Update.
14954         * modules/search (Depends-on): Update.
14955         * modules/signal (Depends-on): Update.
14956         * modules/spawn (Depends-on): Update.
14957         * modules/stdio (Depends-on): Update.
14958         * modules/stdlib (Depends-on): Update.
14959         * modules/string (Depends-on): Update.
14960         * modules/strings (Depends-on): Update.
14961         * modules/sys_file (Depends-on): Update.
14962         * modules/sys_ioctl (Depends-on): Update.
14963         * modules/sys_select (Depends-on): Update.
14964         * modules/sys_socket (Depends-on): Update.
14965         * modules/sys_stat (Depends-on): Update.
14966         * modules/sys_time (Depends-on): Update.
14967         * modules/sys_times (Depends-on): Update.
14968         * modules/sys_utsname (Depends-on): Update.
14969         * modules/sys_wait (Depends-on): Update.
14970         * modules/termios (Depends-on): Update.
14971         * modules/time (Depends-on): Update.
14972         * modules/unistd (Depends-on): Update.
14973         * modules/wchar (Depends-on): Update.
14974         * modules/wctype-h (Depends-on): Update.
14975         * MODULES.html.sh (Support for building libraries and executables):
14976         Update.
14977
14978         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
14979         * modules/snippet/unused-parameter: Renamed from
14980         modules/unused-parameter.
14981         (Files, Makefile.am): Update.
14982         * build-aux/snippet/unused-parameter.h: Renamed from
14983         build-aux/unused-parameter.h.
14984         * modules/selinux-h (Depends-on): Update.
14985         * modules/unistr/base (Depends-on): Update.
14986         * MODULES.html.sh (Core language properties): Update.
14987
14988         Rename module 'link-warning' to 'snippet/link-warning'.
14989         * modules/snippet/link-warning: Renamed from modules/link-warning.
14990         (Files, Makefile.am): Update.
14991         * build-aux/snippet/link-warning.h: Renamed from
14992         build-aux/link-warning.h.
14993         * MODULES.html.sh (Support for building libraries and executables):
14994         Update.
14995
14996         Rename module 'c++defs' to 'snippet/c++defs'.
14997         * modules/snippet/c++defs: Renamed from modules/c++defs.
14998         (Files, Makefile.am): Update.
14999         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
15000         * modules/arpa_inet (Depends-on): Update.
15001         * modules/ctype (Depends-on): Update.
15002         * modules/dirent (Depends-on): Update.
15003         * modules/fcntl-h (Depends-on): Update.
15004         * modules/glob (Depends-on): Update.
15005         * modules/iconv-h (Depends-on): Update.
15006         * modules/langinfo (Depends-on): Update.
15007         * modules/locale (Depends-on): Update.
15008         * modules/math (Depends-on): Update.
15009         * modules/netdb (Depends-on): Update.
15010         * modules/poll-h (Depends-on): Update.
15011         * modules/pty (Depends-on): Update.
15012         * modules/search (Depends-on): Update.
15013         * modules/signal (Depends-on): Update.
15014         * modules/spawn (Depends-on): Update.
15015         * modules/stdio (Depends-on): Update.
15016         * modules/stdlib (Depends-on): Update.
15017         * modules/string (Depends-on): Update.
15018         * modules/strings (Depends-on): Update.
15019         * modules/sys_ioctl (Depends-on): Update.
15020         * modules/sys_select (Depends-on): Update.
15021         * modules/sys_socket (Depends-on): Update.
15022         * modules/sys_stat (Depends-on): Update.
15023         * modules/sys_time (Depends-on): Update.
15024         * modules/sys_wait (Depends-on): Update.
15025         * modules/termios (Depends-on): Update.
15026         * modules/time (Depends-on): Update.
15027         * modules/unistd (Depends-on): Update.
15028         * modules/wchar (Depends-on): Update.
15029         * modules/wctype-h (Depends-on): Update.
15030
15031         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
15032         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
15033         (Files, Makefile.am): Update.
15034         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
15035         * modules/argv-iter (Depends-on): Update.
15036         * modules/arpa_inet (Depends-on): Update.
15037         * modules/dirent (Depends-on): Update.
15038         * modules/fcntl-h (Depends-on): Update.
15039         * modules/fnmatch (Depends-on): Update.
15040         * modules/getopt-posix (Depends-on): Update.
15041         * modules/glob (Depends-on): Update.
15042         * modules/iconv-h (Depends-on): Update.
15043         * modules/inttypes-incomplete (Depends-on): Update.
15044         * modules/locale (Depends-on): Update.
15045         * modules/math (Depends-on): Update.
15046         * modules/netdb (Depends-on): Update.
15047         * modules/search (Depends-on): Update.
15048         * modules/signal (Depends-on): Update.
15049         * modules/spawn (Depends-on): Update.
15050         * modules/stdio (Depends-on): Update.
15051         * modules/stdlib (Depends-on): Update.
15052         * modules/string (Depends-on): Update.
15053         * modules/strings (Depends-on): Update.
15054         * modules/sys_socket (Depends-on): Update.
15055         * modules/sys_stat (Depends-on): Update.
15056         * modules/sys_time (Depends-on): Update.
15057         * modules/sys_times (Depends-on): Update.
15058         * modules/sys_utsname (Depends-on): Update.
15059         * modules/time (Depends-on): Update.
15060         * modules/unistd (Depends-on): Update.
15061         * modules/wchar (Depends-on): Update.
15062         * MODULES.html.sh (Support for building libraries and executables):
15063         Update.
15064
15065 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15066
15067         Improvements on _Noreturn and related modules.
15068
15069         modules/_Exit-tests: test _Noreturn too
15070         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
15071         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
15072         (main): Use them.
15073
15074         stdnoreturn, stdnoreturn-tests: remove modules
15075         They're not needed here and a bit premature for use elsewhere.  See
15076         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
15077         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
15078         * tests/test-stdnoreturn.c: Remove files.
15079         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
15080         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
15081         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
15082         and using noreturn.
15083         * modules/openat, modules/sigpipe-die, modules/xalloc:
15084         * modules/xmemdup0, modules/xstrtol:
15085         Remove dependency on stdnoreturn.
15086
15087         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
15088         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
15089         Reparenthesize to avoid GCC warning.
15090         Support Microsoft's syntax.
15091         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
15092
15093         _Noreturn-tests: remove module
15094         * modules/_Noreturn-tests: Remove.
15095         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
15096         * tests/test-_Noreturn.c: Remove.
15097         * tests/test-stdnoreturn.c: Merge from the old
15098         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
15099
15100 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15101
15102         _Noreturn, stdnoreturn, and related modules.
15103
15104         * top/maint.mk: Adjust to new noreturn support.
15105         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
15106         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
15107
15108         xalloc: use stdnoreturn.h
15109         * lib/xalloc.h: Include <stdnoreturn.h>.
15110         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15111         * modules/xalloc (Depends-on): Add stdnoreturn.
15112
15113         xstrtol: use stdnoreturn.h
15114         * lib/xstrtol.h: Include <stdnoreturn.h>.
15115         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15116         * modules/xstrtol (Depends-on): Add stdnoreturn.
15117
15118         xmemdup0: use stdnoreturn.h
15119         * lib/xmemdup0.h: Include <stdnoreturn.h>.
15120         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15121         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
15122
15123         sigpipe-die: use stdnoreturn.h
15124         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
15125         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15126         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
15127
15128         openat: use stdnoreturn.h
15129         * lib/openat.h: Include <stdnoreturn.h>.
15130         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15131         * modules/openat (Depends-on): Add stdnoreturn.
15132
15133         * lib/openat-die.c (openat_save_fail): Modernize comment.
15134
15135         * lib/xalloc-die.c (xalloc_die): Modernize comment.
15136
15137         * lib/glthread/thread.h: Modernize comment.
15138
15139         obstack: use _Noreturn
15140         * lib/obstack.c (__attribute__): Remove macro.
15141         (print_and_abort): Use _Noreturn.
15142
15143         c-stack: use _Noreturn
15144         * lib/c-stack.c (die, overflow_handler, segv_handler):
15145         Use _Noreturn rather than __attribute__((noreturn)).
15146
15147         argmatch-tests, exclude_tests: use _Noreturn
15148         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
15149         Remove.
15150         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
15151
15152         stdlib: use _Noreturn
15153         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
15154         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
15155         * modules/stdlib (Depends-on): Add _Noreturn.
15156         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
15157
15158         stdnoreturn-tests: new module
15159         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
15160
15161         stdnoreturn: new module
15162         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
15163         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
15164
15165         _Noreturn-tests: new module
15166         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
15167
15168         _Noreturn: new module
15169         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
15170         New section, mentioning it.
15171         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
15172
15173         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
15174
15175 2011-07-11  Eric Blake  <eblake@redhat.com>
15176
15177         ffs: new module
15178         * modules/ffs: New file.
15179         * m4/ffs.m4: Likewise.
15180         * lib/ffs.c: Likewise.
15181         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
15182         * modules/strings (Makefile.am): Substitute witness.
15183         (Depends-on): Add c++defs.
15184         * lib/strings.in.h (ffs): Declare.
15185         * modules/ffs-tests: New test file.
15186         * tests/test-ffs.c: Test new module.
15187         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15188         * doc/posix-functions/ffs.texi (ffs): Likewise.
15189
15190         regex: avoid compiler warning
15191         * lib/regex.c (includes): Include <strings.h>, for use of
15192         strcasecmp in regcomp.c.
15193         Reported by Joachim Schmitz.
15194
15195 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15196
15197         stdint: respect system's intmax_t if INTMAX_MAX
15198         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
15199         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
15200         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
15201         long but int64_t is long long, and where we will clash with the
15202         system intmax_t if we override it.  See
15203         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
15204         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
15205         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
15206         similarly for UINTMAX_C.
15207
15208 2011-07-08  Bruno Haible  <bruno@clisp.org>
15209
15210         pthread_sigmask tests: Avoid a compiler warning.
15211         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
15212         non-zero.
15213
15214         sigprocmask tests: A better way to avoid a compiler warning.
15215         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
15216         (main): Complain if system() returns non-zero.
15217         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
15218
15219 2011-07-08  Bruno Haible  <bruno@clisp.org>
15220
15221         pthread_sigmask: Work around IRIX bug.
15222         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
15223         bug.
15224         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
15225         there may be unblocked pending signals.
15226         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
15227
15228 2011-07-08  Bruno Haible  <bruno@clisp.org>
15229
15230         pthread_sigmask: Work around Cygwin bug.
15231         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
15232         bug.
15233         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
15234         the system's pthread_sigmask function.
15235         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
15236
15237 2011-07-08  Bruno Haible  <bruno@clisp.org>
15238
15239         pthread_sigmask: Work around bug in single-threaded implementation.
15240         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
15241         FreeBSD, HP-UX, Solaris bug.
15242         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
15243         * lib/pthread_sigmask.c: Include <stddef.h>.
15244         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
15245         the system's pthread_sigmask function.
15246         * modules/pthread_sigmask (configure.ac): Invoke
15247         gl_PREREQ_PTHREAD_SIGMASK.
15248         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
15249         HP-UX, Solaris.
15250
15251 2011-07-08  Eric Blake  <eblake@redhat.com>
15252
15253         test-sigprocmask: avoid compiler warning
15254         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
15255         * tests/test-sigprocmask.c (main): Use it to silence warning.
15256         Reported by Jim Meyering.
15257
15258         test-snprintf: avoid compiler warning
15259         * tests/test-snprintf.c (main): Avoid shadowed declaration.
15260         * tests/test-vsnprintf.c (main): Likewise.
15261         Reported by Jim Meyering.
15262
15263 2011-07-08  Bruno Haible  <bruno@clisp.org>
15264
15265         Tests for module 'pthread_sigmask'.
15266         * modules/pthread_sigmask-tests: New file.
15267         * tests/test-pthread_sigmask1.c: New file, based on
15268         tests/test-sigprocmask.c.
15269         * tests/test-pthread_sigmask2.c: New file.
15270
15271 2011-07-08  Jim Meyering  <meyering@redhat.com>
15272
15273         test-getopt.h: avoid warning about an unused variable
15274         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
15275
15276 2011-07-07  Jim Meyering  <meyering@redhat.com>
15277
15278         maint: reduce list of files exempt from sc_prohibit_leading_TABs
15279         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
15280         now that it no longer contains leading TABs.
15281         Remove unused "url=FIXME" statement.
15282
15283 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
15284
15285         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
15286         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15287         When gl_THREADLIB is not in use, assume that the POSIX sematics
15288         are desired.  This is better for Emacs, which uses POSIX semantics
15289         on GNUish and/or POSIXish platforms, and does not use threads at
15290         all otherwise.
15291
15292         pthread_sigmask: fix typo when testing for libraries
15293         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15294         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
15295
15296 2011-07-08  Eric Blake  <eblake@redhat.com>
15297
15298         fts: introduce FTS_NOATIME
15299         * lib/fts_.h (FTS_NOATIME): New bit flag.
15300         (FTS_OPTIONMASK): Adjust.
15301         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
15302         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
15303
15304 2011-07-08  Bruno Haible  <bruno@clisp.org>
15305
15306         Tests for module 'thread'.
15307         * modules/thread-tests: New file.
15308         * tests/test-thread_self.c: New file.
15309         * tests/test-thread_create.cc: New file.
15310
15311 2011-07-08  Bruno Haible  <bruno@clisp.org>
15312
15313         thread: Avoid gcc warnings when using gl_thread_self().
15314         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
15315         'void *'.
15316         (gl_thread_self_pointer): Update.
15317
15318 2011-07-07  Bruno Haible  <bruno@clisp.org>
15319
15320         signal-c++-tests: Check declaration of pthread_sigmask.
15321         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
15322         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
15323         $(LIB_PTHREAD_SIGMASK).
15324
15325 2011-07-07  Bruno Haible  <bruno@clisp.org>
15326
15327         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
15328         * lib/signal.in.h (pthread_sigmask): Override if
15329         REPLACE_PTHREAD_SIGMASK is 1.
15330         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15331         REPLACE_PTHREAD_SIGMASK.
15332         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
15333         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
15334         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
15335         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15336         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
15337
15338 2011-07-07  Bruno Haible  <bruno@clisp.org>
15339
15340         pthread_sigmask: Ensure declaration in <signal.h>.
15341         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
15342         include <pthread.h>.
15343         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
15344         problem.
15345
15346 2011-07-07  Bruno Haible  <bruno@clisp.org>
15347
15348         pthread_sigmask: Document the module.
15349         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
15350
15351 2011-07-07  Bruno Haible  <bruno@clisp.org>
15352
15353         pthread_sigmask: Follow gnulib conventions.
15354         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
15355         gl_PTHREAD_SIGMASK.
15356         * modules/pthread_sigmask (configure.ac): Update.
15357
15358 2011-07-07  Bruno Haible  <bruno@clisp.org>
15359
15360         pthread_sigmask: Make declaration C++ safe.
15361         * lib/signal.in.h: In two special conditions, just do an #include_next.
15362         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15363         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
15364         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15365         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15366         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
15367         not REPLACE_PTHREAD_MASK.
15368         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
15369         not REPLACE_PTHREAD_MASK.
15370         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15371
15372 2011-07-07  Bruno Haible  <bruno@clisp.org>
15373
15374         pthread_sigmask: Fix return value.
15375         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
15376         * lib/pthread_sigmask.c: New file.
15377         * modules/pthread_sigmask (Files): Add it.
15378         (configure.ac): Invoke AC_LIBOBJ.
15379
15380 2011-07-07  Eric Blake  <eblake@redhat.com>
15381
15382         getopt: more portable argv creation
15383         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
15384         const, use char arrays rather than strings.
15385         Suggested by Paul Eggert.
15386
15387 2011-07-07  Bruno Haible  <bruno@clisp.org>
15388
15389         Tests for module 'sigprocmask'.
15390         * modules/sigprocmask-tests: New file.
15391         * tests/test-sigprocmask.c: New file.
15392
15393 2011-07-07  Bruno Haible  <bruno@clisp.org>
15394
15395         float tests: Tweak.
15396         * tests/test-float.c (main): Tweak skip message.
15397
15398 2011-07-07  Eric Blake  <eblake@redhat.com>
15399
15400         getopt: avoid compiler warning during configure
15401         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
15402         assigning string literals to non-const pointer.
15403
15404         getopt-gnu: avoid crash in glibc getopt
15405         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
15406         * tests/test-getopt.h (test_getopt): Enhance test.
15407         * tests/test-getopt_long.h (test_getopt_long): Likewise.
15408         * doc/posix-functions/getopt.texi (getopt): Document it.
15409         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
15410         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15411         Likewise.
15412
15413 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
15414
15415         getopt: handle W; without long options in getopt [BZ #12922]
15416         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
15417         but no long options are defined, just return 'W'.
15418
15419 2011-07-07  Bruno Haible  <bruno@clisp.org>
15420
15421         Avoid literal tabs.
15422         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
15423         variable containing a tab instead of a literal tab.
15424         Reported by Jim Meyering.
15425
15426 2011-07-07  Bruno Haible  <bruno@clisp.org>
15427
15428         Comments.
15429         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
15430
15431 2011-07-06  Bruno Haible  <bruno@clisp.org>
15432
15433         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
15434         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
15435         <winsock2.h>.
15436         (rpl_fd_isset, FD_ISSET): New definitions, copied from
15437         lib/sys_socket.in.h.
15438         (close, gethostname): Hide declarations from <winsock2.h>.
15439         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
15440         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
15441         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
15442         (select): Don't override if gnulib's <sys/select.h> was already
15443         included.
15444         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
15445         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
15446         setsockopt, shutdown, select): Tweak indentation.
15447
15448 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15449
15450         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
15451         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
15452         in an application that does not use the sys_select module.
15453
15454 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
15455
15456         poll: do not return 0 on timeout=-1
15457         * lib/poll.c: Loop with yield if no events occurred.
15458
15459 2011-07-06  Eric Blake  <eblake@redhat.com>
15460
15461         pthread_sigmask: always replace when not using pthread
15462         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
15463         replacement when using some threading other than pthread.  Fix
15464         logic bug.
15465
15466 2011-07-06  Bruno Haible  <bruno@clisp.org>
15467
15468         Comments.
15469         * m4/printf.m4: Update comments about mingw.
15470
15471 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15472
15473         sys_select: define sigset_t more portably
15474         * lib/sys_select.in.h: Always include <sys/types.h>, since
15475         we now need sigset_t and mingw defines it there.
15476         Include <signal.h> before split inclusion guard, to avoid
15477         mishaps on Solaris, whose <signal.h> eventually includes us.
15478         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
15479         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
15480         which come from ...
15481         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
15482         gl_CHECK_TYPE_SIGSET_T.
15483         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
15484         does the real work.
15485         * modules/sys_select (Depends-on): Add 'signal'.
15486
15487         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
15488         Suggested by Bruno Haible.
15489
15490         pselect: Use pthread_sigmask, not sigprocmask.
15491         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
15492         multithreaded apps better than sigprocmask does.
15493         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
15494         sigprocmask directly.
15495
15496 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15497
15498         * lib/pselect.c (pselect): Use plain name, without "rpl_".
15499         Don't #undef,  since we don't need any underlying pselect.
15500         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
15501         (Depends-on): Add select.
15502         (Link): Add $(LIBSOCKET).
15503         These changes suggested by Bruno Haible.
15504
15505         pselect: document better
15506         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
15507         * doc/posix-functions/pselect.texi (pselect): Document new module.
15508
15509         pthread_sigmask: new module
15510         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
15511         * doc/posix-functions/pthread_sigmask.texi: Document new module.
15512         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
15513         This is done only as a macro; I don't know how well that'll
15514         work for C++.  Move <sys/types.h> include before the include_next,
15515         to avoid mishap on Solaris.
15516         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
15517         * modules/signal (Makefile.am): Substitute the check's results.
15518         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
15519
15520         test-pselect: new module
15521         * modules/pselect-tests, tests/test-pselect.c: New files.
15522         * tests/test-select.c, tests/test-sys_select-c++.cc:
15523         If TEST_PSELECT is defined, test pselect instead of testing select.
15524
15525         * tests/test-sys_select.c (sigset_t): Test for it, too.
15526         Suggested by Bruno Haible.
15527
15528 2011-07-05  Eric Blake  <eblake@redhat.com>
15529
15530         snprintf: guarantee %1$d, for libintl
15531         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
15532         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
15533         * doc/posix-functions/snprintf.texi (snprintf): Update.
15534         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
15535         * tests/test-snprintf.c (main): Enhance test.
15536         * tests/test-vsnprintf.c (main): Likewise.
15537
15538 2011-07-05  Jim Meyering  <meyering@redhat.com>
15539
15540         maint: exempt stdio-read.c and stdio-write.c from the cppi check
15541         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
15542         per Bruno's request, to accommodate this idiom (no space after "#")
15543         even when the function is inside an #if block:
15544         char *
15545         gets (char *s)
15546         #undef gets
15547         {
15548           ...
15549         }
15550
15551 2011-07-04  Jim Meyering  <meyering@redhat.com>
15552
15553         maint: indent with spaces, not TABs, and add a rule to check this
15554         * tests/test-userspec.c: Indent with spaces, not TABs.
15555         * tests/test-argp.c: Likewise.
15556         * tests/test-c-stack2.sh: Likewise.
15557         * tests/test-parse-duration.sh: Likewise
15558         * m4/strtod.m4: Likewise.
15559         * m4/alloca.m4: Likewise.
15560         * m4/pselect.m4: Likewise.
15561         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
15562
15563 2011-07-03  Jim Meyering  <meyering@redhat.com>
15564
15565         maint.mk: correct omissions in prohibit_argmatch_without_use check
15566         This rule would mistakenly report that argmatch.h is included without
15567         use even when both the argmatch and invalid_arg macro were used.
15568         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
15569         of argmatch and invalid_arg.
15570
15571 2011-07-03  Bruno Haible  <bruno@clisp.org>
15572
15573         Comments about EINTR.
15574         * lib/safe-read.h: Explain the purpose of this module.
15575         * lib/safe-write.h: Likewise.
15576         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
15577         module.
15578         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
15579         module.
15580         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15581
15582 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
15583
15584         xnanosleep: Rewrite to use new dtotimespec module.
15585         It has the conversion code that used to be in xnanosleep.
15586         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
15587         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
15588         (TIME_T_MAX): Remove.
15589         (xnanosleep): Rewrite in terms of dtotimespec.
15590         * modules/xnanosleep (Depends-on): Add dtotimespec.
15591         Remove intprops, stdbool.
15592
15593         timespec-add, timespec-sub: new modules
15594         * lib/timespec.h (timespec_add, timespec_sub): New decls.
15595         * lib/timespec-add.c, lib/timespec-sub.c:
15596         * modules/timespec-add, modules/timespec-sub: New files.
15597
15598         dtotimespec: new module
15599         * lib/timespec.h (dtotimespec): New decl.
15600         * lib/dtotimespec.c, modules/dtotimespec: New files.
15601
15602         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
15603
15604         pselect: new module
15605         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
15606         (pselect): New decls.
15607         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
15608         since the standard pselect decl uses 'restrict'.
15609         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
15610         HAVE_PSELECT, REPLACE_PSELECT.
15611         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
15612         HAVE_PSELECT, REPLACE_PSELECT.
15613         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
15614
15615         sys_select: don't depend on sys_socket
15616         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
15617         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
15618         This fix works on GNU and GNU-like platforms, but has not been tested
15619         on native Windows.
15620         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
15621         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
15622         gl_HEADER_SYS_SOCKET.
15623         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
15624         gl_PREREQ_SYS_H_WINSOCK2.
15625
15626 2011-06-29  Eric Blake  <eblake@redhat.com>
15627
15628         pipe2: fix C89 compile problem
15629         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
15630         Reported by Bruno Haible.
15631
15632         pipe, pipe2: don't corrupt fd on error
15633         * lib/pipe.c (pipe): Leave fd unchanged on error.
15634         * lib/pipe2.c (pipe2): Likewise.
15635         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
15636         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
15637
15638 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
15639
15640         mmap-anon: do not use regular expressions inadvertently
15641         * m4/mmap-anon.m4: Remove trailing period from strings sought
15642         in the output.
15643
15644 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
15645
15646         nanosleep: fix integer overflow problem
15647         * lib/nanosleep.c (my_usleep): Don't assume signed integer
15648         arithmetic wraps around on overflow.
15649
15650         nanosleep: simplify carrying
15651         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
15652         first call to the underyling nanosleep, not for the last one.
15653         This doesn't fix any bugs, but it simplifies the computation of
15654         the remaining delay.  Found while auditing integer overflow issues.
15655
15656         dup2: remove test for existence of fcntl
15657         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
15658         "#if HAVE_FCNTL", in the configure-time test program.
15659         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
15660         and therefore speeds up "configure" a bit.  Found while
15661         adding the dup2 module to Emacs.
15662
15663 2011-06-24  Eric Blake  <eblake@redhat.com>
15664
15665         maint.mk: enhance useless header checks
15666         * top/maint.mk (_sc_header_without_use): Check both include
15667         styles.
15668         (sc_prohibit_assert_without_use)
15669         (sc_prohibit_close_stream_without_use)
15670         (sc_prohibit_getopt_without_use)
15671         (sc_prohibit_quotearg_without_use)
15672         (sc_prohibit_quote_without_use)
15673         (sc_prohibit_long_options_without_use)
15674         (sc_prohibit_inttostr_without_use)
15675         (sc_prohibit_ignore_value_without_use)
15676         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
15677         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
15678         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
15679         (sc_prohibit_hash_pjw_without_use)
15680         (sc_prohibit_safe_read_without_use)
15681         (sc_prohibit_argmatch_without_use)
15682         (sc_prohibit_canonicalize_without_use)
15683         (sc_prohibit_root_dev_ino_without_use)
15684         (sc_prohibit_openat_without_use)
15685         (sc_prohibit_c_ctype_without_use)
15686         (sc_prohibit_signal_without_use)
15687         (sc_prohibit_stdio--_without_use)
15688         (sc_prohibit_stdio-safer_without_use)
15689         (sc_prohibit_strings_without_use)
15690         (sc_prohibit_intprops_without_use)
15691         (sc_prohibit_stddef_without_use)
15692         (sc_prohibit_xfreopen_without_use): Update clients.
15693
15694 2011-06-24  Jim Meyering  <meyering@redhat.com>
15695
15696         syntax-check: keep one maint.mk rule in sync with its header
15697         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
15698         of the bug Eric has just fixed, with today's commit 25e4c2ec.
15699         I prefer to avoid temporary files here, so use <(...), but that
15700         is not supported by /bin/sh, so...
15701         (SHELL): Define to /bin/bash.
15702
15703 2011-06-24  Eric Blake  <eblake@redhat.com>
15704
15705         maint.mk: update sc_prohibit_intprops_without_use
15706         * top/maint.mk (_intprops_names): Match recent changes.
15707
15708 2011-06-24  Bruno Haible  <bruno@clisp.org>
15709
15710         strerror-override: No-op tweak.
15711         * lib/strerror-override.h (strerror_override): Reorder conditions,
15712         for consistency with lib/strerror-override.c.
15713
15714 2011-06-23  Eric Blake  <eblake@redhat.com>
15715
15716         maint.mk: test further PATH_MAX issues
15717         * top/maint.mk (sc_prohibit_path_max_array): Rename...
15718         (sc_prohibit_path_max_allocation): ...and also test alloca.
15719         Suggested by Jim Meyering.
15720
15721 2011-06-22  Eric Blake  <eblake@redhat.com>
15722
15723         maint.mk: add syntax-check to avoid char[PATH_MAX]
15724         * top/maint.mk (sc_prohibit_path_max_array): New rule.
15725
15726         stat: be robust to PATH_MAX definition
15727         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
15728         * modules/stat (Depends-on): Add verify.
15729
15730         link: work around IRIX bug
15731         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
15732         * lib/link.c (rpl_link): Work around it.
15733         * tests/test-link.h (test_link): Enhance test.
15734         * doc/posix-functions/link.texi (link): Document the bug.
15735
15736         getopt: silence clang warning
15737         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
15738         dereference.
15739         Reported by Gustavo Martin Domato.
15740
15741 2011-06-22  Jim Meyering  <meyering@redhat.com>
15742
15743         bootstrap: do not insert a blank line into each .gitignore file
15744         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
15745
15746 2011-06-21  Eric Blake  <eblake@redhat.com>
15747
15748         perror: test for output mismatch
15749         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
15750         perror on IRIX.
15751
15752         strerror_r: fix OpenBSD behavior on out-of-range
15753         * lib/strerror_r.c (strerror_r): Always use maximal string.
15754         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
15755
15756         strerror_r: fix OpenBSD behavior on 0
15757         * lib/strerror-override.c (strerror_override): Also override 0
15758         when needed.
15759         * lib/strerror-override.h (strerror_override): Likewise.
15760         * lib/strerror.c (strerror): Simplify, now that 0 override is done
15761         earlier.
15762         * lib/strerror_r.c (strerror_r): Likewise.
15763         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
15764         behavior...
15765         (gl_FUNC_STRERROR_0): ...into new macro.
15766         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
15767         is overridden.
15768         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
15769         * modules/strerror-override (Files): Add strerror.m4.
15770         (configure.ac): Also provide override for 0 when needed.
15771         * doc/posix-functions/strerror.texi (strerror): Document this.
15772         * doc/posix-functions/perror.texi (perror): Likewise.
15773
15774         perror: adjust array size
15775         * modules/perror (Depends-on): Add strerror-override.
15776         * lib/perror.c (perror): Use it to avoid magic number.
15777
15778         strerror-override: reduce size
15779         * lib/strerror-override.c (strerror_override): Use fewer lines.
15780
15781 2011-06-20  Bruno Haible  <bruno@clisp.org>
15782
15783         pathmax: Ensure correct value for PATH_MAX on HP-UX.
15784         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
15785
15786 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
15787
15788         alloca: port to compilers that can optimize like GCC 4.6.0
15789         * lib/alloca.c (find_stack_direction): New signature, taken from
15790         Autoconf git.  This works with GCC 4.6.0.  This code should never
15791         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
15792         be used with other compilers that optimize as well as GCC 4.6.0 does.
15793         (alloca): Adjust to new signature.
15794         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
15795         New macro, which patches Autoconf in a similar way.
15796
15797         c-stack: stop worrying about stack direction
15798         * lib/c-stack.c (find_stack_direction): Remove.
15799         (segv_handler): Don't worry about stack direction growth, as it's
15800         too much of a pain to configure this correctly, given how compilers
15801         are optimizing-away our stack-growth detection code.  Instead, assume
15802         that any access to just before or just after the stack is OK.
15803         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
15804         Don't require AC_FUNC_ALLOCA; no longer needed.
15805
15806 2011-06-20  Eric Blake  <eblake@redhat.com>
15807
15808         test-stat: don't allocate PATH_MAX bytes
15809         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
15810         PATH_MAX-sized buffer.
15811         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
15812         * modules/stat-tests (Depends-on): Likewise.
15813         * tests/test-fstatat.c (includes): Drop pathmax.h.
15814         * tests/test-stat.c (includes): Likewise.
15815         Reported by Bruno Haible.
15816
15817 2011-06-20  Bruno Haible  <bruno@clisp.org>
15818
15819         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
15820         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
15821         * lib/float.c: New file.
15822         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
15823         REPLACE_FLOAT_LDBL.
15824         * modules/float (Files): Add lib/float.c.
15825         (configure.ac): Invoke AC_LIBOBJ.
15826         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
15827
15828 2011-06-20  Bruno Haible  <bruno@clisp.org>
15829
15830         Tests for module 'float'.
15831         * modules/float-tests: New file.
15832         * tests/test-float.c: New file.
15833
15834 2011-06-19  Bruno Haible  <bruno@clisp.org>
15835
15836         isinf: Coding style.
15837         * lib/isinf.c: Use GNU coding style.
15838
15839 2011-06-19  Bruno Haible  <bruno@clisp.org>
15840
15841         linkat test: Avoid test failure on AIX 7.1.
15842         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
15843         * tests/test-link.h (test_link): Likewise.
15844
15845 2011-06-19  Bruno Haible  <bruno@clisp.org>
15846
15847         pread test: Avoid test failure on OpenBSD 4.9.
15848         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
15849
15850 2011-06-19  Bruno Haible  <bruno@clisp.org>
15851
15852         sprintf-posix: Fix test failure on AIX 7.1.
15853         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
15854         * doc/posix-functions/dprintf.texi: Mention limited precision problem
15855         on AIX.
15856         * doc/posix-functions/fprintf.texi: Likewise.
15857         * doc/posix-functions/printf.texi: Likewise.
15858         * doc/posix-functions/snprintf.texi: Likewise.
15859         * doc/posix-functions/sprintf.texi: Likewise.
15860         * doc/posix-functions/vdprintf.texi: Likewise.
15861         * doc/posix-functions/vfprintf.texi: Likewise.
15862         * doc/posix-functions/vprintf.texi: Likewise.
15863         * doc/posix-functions/vsnprintf.texi: Likewise.
15864         * doc/posix-functions/vsprintf.texi: Likewise.
15865
15866 2011-06-19  Bruno Haible  <bruno@clisp.org>
15867
15868         roundl-ieee: Fix test failure on AIX 7.1.
15869         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
15870         * doc/posix-functions/roundl.texi: Mention problem with negative
15871         arguments.
15872
15873 2011-06-19  Bruno Haible  <bruno@clisp.org>
15874
15875         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
15876         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
15877         * doc/posix-functions/round.texi: Mention problem with negative
15878         arguments.
15879         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
15880
15881 2011-06-19  Bruno Haible  <bruno@clisp.org>
15882
15883         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
15884         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
15885         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
15886         * doc/posix-functions/roundf.texi: Mention problem with negative
15887         arguments.
15888         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
15889
15890 2011-06-19  Bruno Haible  <bruno@clisp.org>
15891
15892         ceilf-ieee: Work around bug on MacOS X 10.5.
15893         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
15894
15895         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
15896         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
15897         IEEE compliant, avoid compiler optimizations.
15898         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
15899         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
15900         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
15901         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15902         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15903         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
15904         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15905         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
15906         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
15907         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
15908
15909 2011-06-19  Bruno Haible  <bruno@clisp.org>
15910
15911         ceilf-ieee: Work around bug on AIX 7.1.
15912         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
15913         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
15914
15915 2011-06-19  Bruno Haible  <bruno@clisp.org>
15916
15917         ceil-ieee: Work around bug on AIX 7.1.
15918         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
15919         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
15920
15921 2011-06-18  Bruno Haible  <bruno@clisp.org>
15922
15923         fsync test: Avoid test failure on MacOS X and AIX.
15924         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
15925         EINVAL.
15926
15927 2011-06-18  Bruno Haible  <bruno@clisp.org>
15928
15929         openat, fdopendir tests: Fix link errors.
15930         * modules/openat-tests (Depends-on): Add progname.
15931         * modules/fdopendir-tests (Depends-on): Likewise.
15932         * tests/test-fchownat.c: Include progname.h.
15933         (main): Call set_program_name.
15934         * tests/test-fstatat.c: Include progname.h.
15935         (main): Call set_program_name.
15936         * tests/test-mkdirat.c: Include progname.h.
15937         (main): Call set_program_name.
15938         * tests/test-openat.c: Include progname.h.
15939         (main): Call set_program_name.
15940         * tests/test-unlinkat.c: Include progname.h.
15941         (main): Call set_program_name.
15942         * tests/test-fdopendir.c: Include progname.h.
15943         (main): Call set_program_name.
15944
15945 2011-06-18  Bruno Haible  <bruno@clisp.org>
15946
15947         Doc update.
15948         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
15949         HP-UX.
15950         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
15951
15952 2011-06-18  Bruno Haible  <bruno@clisp.org>
15953
15954         getcwd tests: Avoid compilation error on HP-UX 11.31.
15955         * modules/getcwd-tests (Depends-on): Add pathmax.
15956         * tests/test-getcwd.c: Include pathmax.h.
15957
15958 2011-06-18  Bruno Haible  <bruno@clisp.org>
15959
15960         isfinite, isinf: Fix link error on AIX 6 and 7.
15961         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
15962         needed, also test the macro with a 'float' argument.
15963         * m4/isinf.m4 (gl_ISINF): Likewise.
15964
15965 2011-06-18  Bruno Haible  <bruno@clisp.org>
15966
15967         getloadavg: Don't clobber LIBS. Regression from previous commit.
15968         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
15969         AC_CHECK_LIB from here...
15970         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
15971         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
15972         gl_func_getloadavg_done.
15973         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15974
15975 2011-06-18  Bruno Haible  <bruno@clisp.org>
15976
15977         clean-temp: Improve documentation.
15978         * lib/clean-temp.h: Explain better how to use this module.
15979         Reported by John Darrington <john@darrington.wattle.id.au>.
15980
15981 2011-06-17  Bruno Haible  <bruno@clisp.org>
15982
15983         pread, pwrite: Avoid cc warning on AIX.
15984         * lib/unistd.in.h (pread): Undefine before defining as a macro.
15985         (pwrite): Likewise.
15986
15987 2011-06-17  Bruno Haible  <bruno@clisp.org>
15988
15989         spawn-pipe tests: Fix link error.
15990         * tests/test-spawn-pipe-child.c: Undefine fprintf.
15991         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15992
15993 2011-06-17  Bruno Haible  <bruno@clisp.org>
15994
15995         Tests: Remove unnecessary dependency.
15996         * modules/canonicalize-tests (Depends-on): Remove progname.
15997         * modules/chown-tests (Depends-on): Likewise.
15998         * modules/dirname-tests (Depends-on): Likewise.
15999         * modules/fdopendir-tests (Depends-on): Likewise.
16000         * modules/fdutimensat-tests (Depends-on): Likewise.
16001         * modules/hash-tests (Depends-on): Likewise.
16002         * modules/lchown-tests (Depends-on): Likewise.
16003         * modules/linkat-tests (Depends-on): Likewise.
16004         * modules/renameat-tests (Depends-on): Likewise.
16005         * modules/spawn-pipe-tests (Depends-on): Likewise.
16006         * modules/utimensat-tests (Depends-on): Likewise.
16007
16008 2011-06-17  Bruno Haible  <bruno@clisp.org>
16009
16010         spawn-pipe tests: Fix link error.
16011         * tests/test-spawn-pipe-child.c: Undefine fflush.
16012
16013 2011-06-17  Bruno Haible  <bruno@clisp.org>
16014
16015         Fix tests link errors.
16016         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
16017         * modules/chown-tests (Makefile.am): Don't link test-chown with
16018         LIBINTL.
16019         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
16020         LIBINTL.
16021         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
16022         LIBINTL.
16023         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
16024         LIBINTL.
16025
16026 2011-06-16  Bruno Haible  <bruno@clisp.org>
16027
16028         crypto/gc-sha1: Fix recent regression.
16029         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
16030         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
16031
16032         crypto/gc-md5: Fix recent regression.
16033         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
16034
16035         crypto/gc-md4: Fix recent regression.
16036         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
16037         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
16038
16039         crypto/gc-arctwo: Fix recent regression.
16040         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
16041         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
16042
16043         crypto/gc-rijndael: Fix recent regression.
16044         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
16045         (configure.ac): Invoke AC_LIBOBJ here.
16046         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
16047         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16048
16049         crypto/gc-hmac-sha1: Fix recent regression.
16050         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
16051         (configure.ac): Invoke AC_LIBOBJ here.
16052         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
16053         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16054
16055         crypto/gc-hmac-md5: Fix recent regression.
16056         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
16057         (configure.ac): Invoke AC_LIBOBJ here.
16058         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
16059         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16060
16061         crypto/gc-des: Fix recent regression.
16062         * modules/crypto/gc-des (Files): Remove m4/des.m4.
16063         (configure.ac): Invoke AC_LIBOBJ here.
16064         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
16065         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16066
16067         crypto/gc-arcfour: Fix recent regression.
16068         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
16069         (configure.ac): Invoke AC_LIBOBJ here.
16070         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
16071         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16072
16073 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
16074
16075         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
16076         After the 2011-05-21 change, this macro requires
16077         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
16078         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
16079
16080 2011-06-16  Bruno Haible  <bruno@clisp.org>
16081
16082         fprintftime: Move AC_LIBOBJ invocations to module description.
16083         * m4/fprintftime.m4: Remove file.
16084         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
16085         (configure.ac): Remove gl_FPRINTFTIME call.
16086         (Makefile.am): Augment lib_SOURCES.
16087         Reported by Jim Meyering.
16088
16089 2011-06-16  Bruno Haible  <bruno@clisp.org>
16090
16091         tmpfile-safer: Finish 2011-05-23 commit.
16092         * m4/stdio-safer.m4: Really remove file.
16093         Reported by Jim Meyering.
16094
16095 2011-06-16  Bruno Haible  <bruno@clisp.org>
16096
16097         syntax-check: Fix typo.
16098         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
16099         printf-posix.m4.
16100         Reported by Jim Meyering.
16101
16102 2011-06-13  Jim Meyering  <meyering@redhat.com>
16103
16104         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
16105         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
16106
16107 2011-05-23  Bruno Haible  <bruno@clisp.org>
16108
16109         yesno: Move AC_LIBOBJ invocations to module description.
16110         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
16111         * modules/yesno (Makefile.am): Augment lib_SOURCES.
16112
16113 2011-05-23  Bruno Haible  <bruno@clisp.org>
16114
16115         xstrtol: Move AC_LIBOBJ invocations to module description.
16116         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
16117         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
16118
16119 2011-05-23  Bruno Haible  <bruno@clisp.org>
16120
16121         xstrtold: Move AC_LIBOBJ invocations to module description.
16122         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
16123         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
16124
16125 2011-05-23  Bruno Haible  <bruno@clisp.org>
16126
16127         xstrtod: Move AC_LIBOBJ invocations to module description.
16128         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
16129         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
16130
16131 2011-05-23  Bruno Haible  <bruno@clisp.org>
16132
16133         xnanosleep: Move AC_LIBOBJ invocations to module description.
16134         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
16135         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
16136
16137 2011-05-23  Bruno Haible  <bruno@clisp.org>
16138
16139         xgetcwd: Move AC_LIBOBJ invocations to module description.
16140         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
16141         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
16142
16143 2011-05-23  Bruno Haible  <bruno@clisp.org>
16144
16145         xalloc: Move AC_LIBOBJ invocations to module description.
16146         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
16147         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
16148
16149 2011-05-23  Bruno Haible  <bruno@clisp.org>
16150
16151         write-any-file: Move AC_LIBOBJ invocations to module description.
16152         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
16153         invocation.
16154         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
16155
16156 2011-05-23  Bruno Haible  <bruno@clisp.org>
16157
16158         utimens: Move AC_LIBOBJ invocations to module description.
16159         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
16160         * modules/utimens (Makefile.am): Augment lib_SOURCES.
16161
16162 2011-05-23  Bruno Haible  <bruno@clisp.org>
16163
16164         utimecmp: Move AC_LIBOBJ invocations to module description.
16165         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
16166         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
16167
16168 2011-05-23  Bruno Haible  <bruno@clisp.org>
16169
16170         userspec: Move AC_LIBOBJ invocations to module description.
16171         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
16172         * modules/userspec (Makefile.am): Augment lib_SOURCES.
16173
16174 2011-05-23  Bruno Haible  <bruno@clisp.org>
16175
16176         unlinkdir: Move AC_LIBOBJ invocations to module description.
16177         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
16178         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
16179
16180 2011-05-23  Bruno Haible  <bruno@clisp.org>
16181
16182         unistd-safer: Move AC_LIBOBJ invocations to module description.
16183         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
16184         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
16185
16186 2011-05-23  Bruno Haible  <bruno@clisp.org>
16187
16188         tempname: Move AC_LIBOBJ invocations to module description.
16189         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
16190         * modules/tempname (Makefile.am): Augment lib_SOURCES.
16191
16192 2011-05-23  Bruno Haible  <bruno@clisp.org>
16193
16194         strftime: Move AC_LIBOBJ invocations to module description.
16195         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
16196         * modules/strftime (Makefile.am): Augment lib_SOURCES.
16197
16198 2011-05-23  Bruno Haible  <bruno@clisp.org>
16199
16200         stdlib-safer: Move AC_LIBOBJ invocations to module description.
16201         * m4/stdlib-safer.m4: Remove file.
16202         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
16203         (configure.ac): Remove gl_STDLIB_SAFER call.
16204         (Makefile.am): Augment lib_SOURCES.
16205
16206 2011-05-23  Bruno Haible  <bruno@clisp.org>
16207
16208         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
16209         * m4/stdio-safer.m4: Remove file.
16210         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
16211         (configure.ac): Remove gl_TMPFILE_SAFER call.
16212         (Makefile.am): Augment lib_SOURCES.
16213
16214 2011-05-23  Bruno Haible  <bruno@clisp.org>
16215
16216         popen-safer: Move AC_LIBOBJ invocations to module description.
16217         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
16218         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
16219         (configure.ac): Remove gl_POPEN_SAFER call.
16220         (Makefile.am): Augment lib_SOURCES.
16221
16222 2011-05-23  Bruno Haible  <bruno@clisp.org>
16223
16224         freopen-safer: Move AC_LIBOBJ invocations to module description.
16225         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
16226         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
16227         (configure.ac): Remove gl_FREOPEN_SAFER call.
16228         (Makefile.am): Augment lib_SOURCES.
16229
16230 2011-05-23  Bruno Haible  <bruno@clisp.org>
16231
16232         fopen-safer: Move AC_LIBOBJ invocations to module description.
16233         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
16234         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
16235         (configure.ac): Remove gl_FOPEN_SAFER call.
16236         (Makefile.am): Augment lib_SOURCES.
16237
16238 2011-05-23  Bruno Haible  <bruno@clisp.org>
16239
16240         crypto/sha512: Move AC_LIBOBJ invocations to module description.
16241         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
16242         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
16243
16244 2011-05-23  Bruno Haible  <bruno@clisp.org>
16245
16246         crypto/sha256: Move AC_LIBOBJ invocations to module description.
16247         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
16248         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
16249
16250 2011-05-23  Bruno Haible  <bruno@clisp.org>
16251
16252         crypto/sha1: Move AC_LIBOBJ invocations to module description.
16253         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
16254         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
16255
16256 2011-05-23  Bruno Haible  <bruno@clisp.org>
16257
16258         settime: Move AC_LIBOBJ invocations to module description.
16259         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
16260         * modules/settime (Makefile.am): Augment lib_SOURCES.
16261
16262 2011-05-23  Bruno Haible  <bruno@clisp.org>
16263
16264         savedir: Move AC_LIBOBJ invocations to module description.
16265         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
16266         * modules/savedir (Makefile.am): Augment lib_SOURCES.
16267
16268 2011-05-23  Bruno Haible  <bruno@clisp.org>
16269
16270         save-cwd: Move AC_LIBOBJ invocations to module description.
16271         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
16272         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
16273
16274 2011-05-23  Bruno Haible  <bruno@clisp.org>
16275
16276         same: Move AC_LIBOBJ invocations to module description.
16277         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
16278         * modules/same (Makefile.am): Augment lib_SOURCES.
16279
16280 2011-05-23  Bruno Haible  <bruno@clisp.org>
16281
16282         safe-write: Move AC_LIBOBJ invocations to module description.
16283         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
16284         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
16285         instead of gl_SAFE_WRITE.
16286         (Makefile.am): Augment lib_SOURCES.
16287
16288 2011-05-23  Bruno Haible  <bruno@clisp.org>
16289
16290         safe-read: Move AC_LIBOBJ invocations to module description.
16291         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
16292         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
16293         of gl_SAFE_READ.
16294         (Makefile.am): Augment lib_SOURCES.
16295
16296 2011-05-23  Bruno Haible  <bruno@clisp.org>
16297
16298         safe-alloc: Move AC_LIBOBJ invocations to module description.
16299         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
16300         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
16301
16302 2011-05-23  Bruno Haible  <bruno@clisp.org>
16303
16304         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
16305         * m4/rijndael.m4: Remove file.
16306         * modules/crypto/rijndael (Files): Remove it.
16307         (configure.ac): Remove gl_RIJNDAEL call.
16308         (Makefile.am): Augment lib_SOURCES.
16309
16310 2011-05-23  Bruno Haible  <bruno@clisp.org>
16311
16312         readtokens: Move AC_LIBOBJ invocations to module description.
16313         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
16314         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
16315
16316 2011-05-23  Bruno Haible  <bruno@clisp.org>
16317
16318         read-file: Move AC_LIBOBJ invocations to module description.
16319         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
16320         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
16321         of gl_FUNC_READ_FILE.
16322         (Makefile.am): Augment lib_SOURCES.
16323
16324 2011-05-23  Bruno Haible  <bruno@clisp.org>
16325
16326         quotearg: Move AC_LIBOBJ invocations to module description.
16327         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
16328         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
16329
16330 2011-05-23  Bruno Haible  <bruno@clisp.org>
16331
16332         quote: Move AC_LIBOBJ invocations to module description.
16333         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
16334         * modules/quote (Makefile.am): Augment lib_SOURCES.
16335
16336 2011-05-23  Bruno Haible  <bruno@clisp.org>
16337
16338         posixver: Move AC_LIBOBJ invocations to module description.
16339         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
16340         * modules/posixver (Makefile.am): Augment lib_SOURCES.
16341
16342 2011-05-23  Bruno Haible  <bruno@clisp.org>
16343
16344         posixtm: Move AC_LIBOBJ invocations to module description.
16345         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
16346         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
16347
16348 2011-05-23  Bruno Haible  <bruno@clisp.org>
16349
16350         physmem: Move AC_LIBOBJ invocations to module description.
16351         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
16352         * modules/physmem (Makefile.am): Augment lib_SOURCES.
16353
16354 2011-05-23  Bruno Haible  <bruno@clisp.org>
16355
16356         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
16357         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
16358         invocation.
16359         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
16360
16361 2011-05-23  Bruno Haible  <bruno@clisp.org>
16362
16363         mpsort: Move AC_LIBOBJ invocations to module description.
16364         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
16365         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
16366
16367 2011-05-23  Bruno Haible  <bruno@clisp.org>
16368
16369         modechange: Move AC_LIBOBJ invocations to module description.
16370         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
16371         * modules/modechange (Makefile.am): Augment lib_SOURCES.
16372
16373 2011-05-23  Bruno Haible  <bruno@clisp.org>
16374
16375         mkdir-p: Move AC_LIBOBJ invocations to module description.
16376         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
16377         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
16378
16379 2011-05-23  Bruno Haible  <bruno@clisp.org>
16380
16381         mkancesdirs: Move AC_LIBOBJ invocations to module description.
16382         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
16383         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
16384
16385 2011-05-23  Bruno Haible  <bruno@clisp.org>
16386
16387         mgetgroups: Move AC_LIBOBJ invocations to module description.
16388         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
16389         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
16390
16391 2011-05-23  Bruno Haible  <bruno@clisp.org>
16392
16393         memxor: Move AC_LIBOBJ invocations to module description.
16394         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
16395         * modules/memxor (Makefile.am): Augment lib_SOURCES.
16396
16397 2011-05-23  Bruno Haible  <bruno@clisp.org>
16398
16399         memcoll: Move AC_LIBOBJ invocations to module description.
16400         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
16401         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
16402
16403 2011-05-23  Bruno Haible  <bruno@clisp.org>
16404
16405         memcasecmp: Move AC_LIBOBJ invocations to module description.
16406         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
16407         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
16408
16409 2011-05-23  Bruno Haible  <bruno@clisp.org>
16410
16411         crypto/md5: Move AC_LIBOBJ invocations to module description.
16412         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
16413         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
16414
16415 2011-05-23  Bruno Haible  <bruno@clisp.org>
16416
16417         crypto/md4: Move AC_LIBOBJ invocations to module description.
16418         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
16419         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
16420
16421 2011-05-23  Bruno Haible  <bruno@clisp.org>
16422
16423         crypto/md2: Move AC_LIBOBJ invocations to module description.
16424         * m4/md2.m4: Remove file.
16425         * modules/crypto/md2 (Files): Remove it.
16426         (configure.ac): Remove gl_MD2 call.
16427         (Makefile.am): Augment lib_SOURCES.
16428
16429 2011-05-23  Bruno Haible  <bruno@clisp.org>
16430
16431         long-options: Move AC_LIBOBJ invocations to module description.
16432         * m4/long-options.m4: Remove file.
16433         * modules/long-options (Files): Remove it.
16434         (configure.ac): Remove gl_LONG_OPTIONS call.
16435         (Makefile.am): Augment lib_SOURCES.
16436
16437 2011-05-23  Bruno Haible  <bruno@clisp.org>
16438
16439         i-ring: Move AC_LIBOBJ invocations to module description.
16440         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
16441         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
16442
16443 2011-05-23  Bruno Haible  <bruno@clisp.org>
16444
16445         idcache: Move AC_LIBOBJ invocations to module description.
16446         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
16447         * modules/idcache (Makefile.am): Augment lib_SOURCES.
16448
16449 2011-05-23  Bruno Haible  <bruno@clisp.org>
16450
16451         human: Move AC_LIBOBJ invocations to module description.
16452         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
16453         * modules/human (Makefile.am): Augment lib_SOURCES.
16454
16455 2011-05-23  Bruno Haible  <bruno@clisp.org>
16456
16457         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
16458         * m4/hmac-sha1.m4: Remove file.
16459         * modules/crypto/hmac-sha1 (Files): Remove it.
16460         (configure.ac): Remove gl_HMAC_SHA1 call.
16461         (Makefile.am): Augment lib_SOURCES.
16462
16463 2011-05-23  Bruno Haible  <bruno@clisp.org>
16464
16465         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
16466         * m4/hmac-md5.m4: Remove file.
16467         * modules/crypto/hmac-md5 (Files): Remove it.
16468         (configure.ac): Remove gl_HMAC_MD5 call.
16469         (Makefile.am): Augment lib_SOURCES.
16470
16471 2011-05-23  Bruno Haible  <bruno@clisp.org>
16472
16473         hash: Move AC_LIBOBJ invocations to module description.
16474         * m4/hash.m4: Remove file.
16475         * modules/hash (Files): Remove it.
16476         (configure.ac): Remove gl_HASH call.
16477         (Makefile.am): Augment lib_SOURCES.
16478
16479 2011-05-23  Bruno Haible  <bruno@clisp.org>
16480
16481         hard-locale: Move AC_LIBOBJ invocations to module description.
16482         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
16483         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
16484
16485 2011-05-23  Bruno Haible  <bruno@clisp.org>
16486
16487         getugroups: Move AC_LIBOBJ invocations to module description.
16488         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
16489         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
16490
16491 2011-05-23  Bruno Haible  <bruno@clisp.org>
16492
16493         gettime: Move AC_LIBOBJ invocations to module description.
16494         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
16495         * modules/gettime (Makefile.am): Augment lib_SOURCES.
16496
16497 2011-05-23  Bruno Haible  <bruno@clisp.org>
16498
16499         getndelim2: Move AC_LIBOBJ invocations to module description.
16500         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
16501         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
16502
16503 2011-05-23  Bruno Haible  <bruno@clisp.org>
16504
16505         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
16506         * m4/gc-pbkdf2-sha1.m4: Remove file.
16507         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
16508         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
16509         (Makefile.am): Augment lib_SOURCES.
16510
16511 2011-05-23  Bruno Haible  <bruno@clisp.org>
16512
16513         fts: Move AC_LIBOBJ invocations to module description.
16514         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
16515         * modules/fts (configure.ac): ... to here.
16516
16517 2011-05-23  Bruno Haible  <bruno@clisp.org>
16518
16519         file-type: Move AC_LIBOBJ invocations to module description.
16520         * m4/file-type.m4: Remove file.
16521         * modules/file-type (Files): Remove it.
16522         (configure.ac): Remove gl_FILE_TYPE call.
16523         (Makefile.am): Augment lib_SOURCES.
16524
16525 2011-05-23  Bruno Haible  <bruno@clisp.org>
16526
16527         filenamecat*: Respect rules for use of AC_LIBOBJ.
16528         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
16529         Remove AC_LIBOBJ invocation.
16530         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
16531         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
16532
16533 2011-05-23  Bruno Haible  <bruno@clisp.org>
16534
16535         filemode: Move AC_LIBOBJ invocations to module description.
16536         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
16537         * modules/filemode (Makefile.am): Augment lib_SOURCES.
16538
16539 2011-05-23  Bruno Haible  <bruno@clisp.org>
16540
16541         openat-safer: Move AC_LIBOBJ invocations to module description.
16542         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
16543         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
16544
16545 2011-05-23  Bruno Haible  <bruno@clisp.org>
16546
16547         fcntl-safer: Move AC_LIBOBJ invocations to module description.
16548         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
16549         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
16550
16551 2011-05-23  Bruno Haible  <bruno@clisp.org>
16552
16553         exclude: Move AC_LIBOBJ invocations to module description.
16554         * m4/exclude.m4: Remove file.
16555         * modules/exclude (Files): Remove it.
16556         (configure.ac): Remove gl_EXCLUDE call.
16557         (Makefile.am): Augment lib_SOURCES.
16558
16559 2011-05-23  Bruno Haible  <bruno@clisp.org>
16560
16561         dirname*: Respect rules for use of AC_LIBOBJ.
16562         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
16563         invocations.
16564         * modules/dirname (Makefile.am): Augment lib_SOURCES.
16565         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
16566
16567 2011-05-23  Bruno Haible  <bruno@clisp.org>
16568
16569         dirent-safer: Move AC_LIBOBJ invocations to module description.
16570         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
16571         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
16572
16573 2011-05-23  Bruno Haible  <bruno@clisp.org>
16574
16575         crypto/des: Move AC_LIBOBJ invocations to module description.
16576         * m4/des.m4: Remove file.
16577         * modules/crypto/des (Files): Remove it.
16578         (configure.ac): Remove gl_DES call.
16579         (Makefile.am): Augment lib_SOURCES.
16580
16581 2011-05-23  Bruno Haible  <bruno@clisp.org>
16582
16583         cycle-check: Move AC_LIBOBJ invocations to module description.
16584         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
16585         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
16586
16587 2011-05-23  Bruno Haible  <bruno@clisp.org>
16588
16589         c-strtold: Move AC_LIBOBJ invocations to module description.
16590         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
16591         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
16592
16593 2011-05-23  Bruno Haible  <bruno@clisp.org>
16594
16595         c-strtod: Move AC_LIBOBJ invocations to module description.
16596         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
16597         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
16598
16599 2011-05-23  Bruno Haible  <bruno@clisp.org>
16600
16601         crc: Move AC_LIBOBJ invocations to module description.
16602         * m4/crc.m4: Remove file.
16603         * modules/crc (Files): Remove it.
16604         (configure.ac): Remove gl_CRC call.
16605         (Makefile.am): Augment lib_SOURCES.
16606
16607 2011-05-23  Bruno Haible  <bruno@clisp.org>
16608
16609         close-stream: Move AC_LIBOBJ invocations to module description.
16610         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
16611         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
16612
16613 2011-05-23  Bruno Haible  <bruno@clisp.org>
16614
16615         closeout: Move AC_LIBOBJ invocations to module description.
16616         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
16617         * modules/closeout (Makefile.am): Augment lib_SOURCES.
16618
16619 2011-05-23  Bruno Haible  <bruno@clisp.org>
16620
16621         closein: Move AC_LIBOBJ invocations to module description.
16622         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
16623         * modules/closein (Makefile.am): Augment lib_SOURCES.
16624
16625 2011-05-23  Bruno Haible  <bruno@clisp.org>
16626
16627         cloexec: Move AC_LIBOBJ invocations to module description.
16628         * m4/cloexec.m4: Remove file.
16629         * modules/cloexec (Files): Remove it.
16630         (configure.ac): Remove gl_CLOEXEC call.
16631         (Makefile.am): Augment lib_SOURCES.
16632
16633 2011-05-23  Bruno Haible  <bruno@clisp.org>
16634
16635         check-version: Move AC_LIBOBJ invocations to module description.
16636         * m4/check-version.m4: Remove file.
16637         * modules/check-version (Files): Remove it.
16638         (configure.ac): Remove gl_CHECK_VERSION call.
16639         (Makefile.am): Augment lib_SOURCES.
16640
16641 2011-05-23  Bruno Haible  <bruno@clisp.org>
16642
16643         chdir-safer: Move AC_LIBOBJ invocations to module description.
16644         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
16645         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
16646
16647 2011-05-23  Bruno Haible  <bruno@clisp.org>
16648
16649         canonicalize: Move AC_LIBOBJ invocations to module description.
16650         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
16651         AC_LIBOBJ invocation.
16652         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
16653
16654 2011-05-23  Bruno Haible  <bruno@clisp.org>
16655
16656         canon-host: Move AC_LIBOBJ invocations to module description.
16657         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
16658         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
16659         instead of gl_CANON_HOST.
16660         (Makefile.am): Augment lib_SOURCES.
16661
16662 2011-05-23  Bruno Haible  <bruno@clisp.org>
16663
16664         backupfile: Move AC_LIBOBJ invocations to module description.
16665         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
16666         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
16667
16668 2011-05-23  Bruno Haible  <bruno@clisp.org>
16669
16670         argmatch: Move AC_LIBOBJ invocations to module description.
16671         * m4/argmatch.m4: Remove file.
16672         * modules/argmatch (Files): Remove it.
16673         (configure.ac): Remove gl_ARGMATCH call.
16674         (Makefile.am): Augment lib_SOURCES.
16675
16676 2011-05-23  Bruno Haible  <bruno@clisp.org>
16677
16678         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
16679         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
16680         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
16681
16682 2011-05-23  Bruno Haible  <bruno@clisp.org>
16683
16684         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
16685         * m4/arcfour.m4: Remove file.
16686         * modules/crypto/arcfour (Files): Remove it.
16687         (configure.ac): Remove gl_ARCFOUR call.
16688         (Makefile.am): Augment lib_SOURCES.
16689
16690 2011-05-22  Bruno Haible  <bruno@clisp.org>
16691
16692         write: Move AC_LIBOBJ invocations to module description.
16693         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
16694         * modules/write (configure.ac): ... to here.
16695
16696 2011-05-22  Bruno Haible  <bruno@clisp.org>
16697
16698         wmemset: Move AC_LIBOBJ invocations to module description.
16699         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
16700         here...
16701         * modules/wmemset (configure.ac): ... to here.
16702
16703 2011-05-22  Bruno Haible  <bruno@clisp.org>
16704
16705         wmemmove: Move AC_LIBOBJ invocations to module description.
16706         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
16707         here...
16708         * modules/wmemmove (configure.ac): ... to here.
16709
16710 2011-05-22  Bruno Haible  <bruno@clisp.org>
16711
16712         wmemcpy: Move AC_LIBOBJ invocations to module description.
16713         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
16714         here...
16715         * modules/wmemcpy (configure.ac): ... to here.
16716
16717 2011-05-22  Bruno Haible  <bruno@clisp.org>
16718
16719         wmemcmp: Move AC_LIBOBJ invocations to module description.
16720         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
16721         here...
16722         * modules/wmemcmp (configure.ac): ... to here.
16723
16724 2011-05-22  Bruno Haible  <bruno@clisp.org>
16725
16726         wmemchr: Move AC_LIBOBJ invocations to module description.
16727         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
16728         here...
16729         * modules/wmemchr (configure.ac): ... to here.
16730
16731 2011-05-22  Bruno Haible  <bruno@clisp.org>
16732
16733         wcswidth: Move AC_LIBOBJ invocations to module description.
16734         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
16735         here...
16736         * modules/wcswidth (configure.ac): ... to here.
16737
16738 2011-05-22  Bruno Haible  <bruno@clisp.org>
16739
16740         wcwidth: Respect rules for use of AC_LIBOBJ.
16741         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
16742         invocation from here...
16743         * modules/wcwidth (configure.ac): ... to here.
16744         (Depends-on): Update conditions.
16745
16746 2011-05-22  Bruno Haible  <bruno@clisp.org>
16747
16748         wctype: Move AC_LIBOBJ invocations to module description.
16749         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
16750         invocation from here...
16751         * modules/wctype (configure.ac): ... to here.
16752         (Depends-on): Update conditions.
16753
16754 2011-05-22  Bruno Haible  <bruno@clisp.org>
16755
16756         wctrans: Move AC_LIBOBJ invocations to module description.
16757         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
16758         invocation from here...
16759         * modules/wctrans (configure.ac): ... to here.
16760
16761 2011-05-22  Bruno Haible  <bruno@clisp.org>
16762
16763         wctomb: Move AC_LIBOBJ invocations to module description.
16764         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
16765         invocations from here...
16766         * modules/wctomb (configure.ac): ... to here.
16767
16768 2011-05-22  Bruno Haible  <bruno@clisp.org>
16769
16770         wctob: Move AC_LIBOBJ invocations to module description.
16771         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
16772         gl_PREREQ_WCTOB invocations from here...
16773         * modules/wctob (configure.ac): ... to here.
16774         (Depends-on): Update conditions.
16775
16776 2011-05-22  Bruno Haible  <bruno@clisp.org>
16777
16778         wcsxfrm: Move AC_LIBOBJ invocations to module description.
16779         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
16780         here...
16781         * modules/wcsxfrm (configure.ac): ... to here.
16782
16783 2011-05-22  Bruno Haible  <bruno@clisp.org>
16784
16785         wcstok: Move AC_LIBOBJ invocations to module description.
16786         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
16787         * modules/wcstok (configure.ac): ... to here.
16788
16789 2011-05-22  Bruno Haible  <bruno@clisp.org>
16790
16791         wcsstr: Move AC_LIBOBJ invocations to module description.
16792         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
16793         * modules/wcsstr (configure.ac): ... to here.
16794
16795 2011-05-22  Bruno Haible  <bruno@clisp.org>
16796
16797         wcsspn: Move AC_LIBOBJ invocations to module description.
16798         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
16799         * modules/wcsspn (configure.ac): ... to here.
16800
16801 2011-05-22  Bruno Haible  <bruno@clisp.org>
16802
16803         wcsrtombs: Move AC_LIBOBJ invocations to module description.
16804         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
16805         gl_PREREQ_WCSRTOMBS invocations from here...
16806         * modules/wcsrtombs (configure.ac): ... to here.
16807
16808 2011-05-22  Bruno Haible  <bruno@clisp.org>
16809
16810         wcsrchr: Move AC_LIBOBJ invocations to module description.
16811         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
16812         here...
16813         * modules/wcsrchr (configure.ac): ... to here.
16814
16815 2011-05-22  Bruno Haible  <bruno@clisp.org>
16816
16817         wcspbrk: Move AC_LIBOBJ invocations to module description.
16818         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
16819         here...
16820         * modules/wcspbrk (configure.ac): ... to here.
16821
16822 2011-05-22  Bruno Haible  <bruno@clisp.org>
16823
16824         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
16825         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
16826         gl_PREREQ_WCSNRTOMBS invocations from here...
16827         * modules/wcsnrtombs (configure.ac): ... to here.
16828
16829 2011-05-22  Bruno Haible  <bruno@clisp.org>
16830
16831         wcsnlen: Move AC_LIBOBJ invocations to module description.
16832         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
16833         here...
16834         * modules/wcsnlen (configure.ac): ... to here.
16835
16836 2011-05-22  Bruno Haible  <bruno@clisp.org>
16837
16838         wcsncpy: Move AC_LIBOBJ invocations to module description.
16839         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
16840         here...
16841         * modules/wcsncpy (configure.ac): ... to here.
16842
16843 2011-05-22  Bruno Haible  <bruno@clisp.org>
16844
16845         wcsncmp: Move AC_LIBOBJ invocations to module description.
16846         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
16847         here...
16848         * modules/wcsncmp (configure.ac): ... to here.
16849
16850 2011-05-22  Bruno Haible  <bruno@clisp.org>
16851
16852         wcsncat: Move AC_LIBOBJ invocations to module description.
16853         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
16854         here...
16855         * modules/wcsncat (configure.ac): ... to here.
16856
16857 2011-05-22  Bruno Haible  <bruno@clisp.org>
16858
16859         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
16860         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
16861         from here...
16862         * modules/wcsncasecmp (configure.ac): ... to here.
16863
16864 2011-05-22  Bruno Haible  <bruno@clisp.org>
16865
16866         wcslen: Move AC_LIBOBJ invocations to module description.
16867         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
16868         * modules/wcslen (configure.ac): ... to here.
16869
16870 2011-05-22  Bruno Haible  <bruno@clisp.org>
16871
16872         wcsdup: Move AC_LIBOBJ invocations to module description.
16873         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
16874         * modules/wcsdup (configure.ac): ... to here.
16875
16876 2011-05-22  Bruno Haible  <bruno@clisp.org>
16877
16878         wcscspn: Move AC_LIBOBJ invocations to module description.
16879         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
16880         here...
16881         * modules/wcscspn (configure.ac): ... to here.
16882
16883 2011-05-22  Bruno Haible  <bruno@clisp.org>
16884
16885         wcscpy: Move AC_LIBOBJ invocations to module description.
16886         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
16887         * modules/wcscpy (configure.ac): ... to here.
16888
16889 2011-05-22  Bruno Haible  <bruno@clisp.org>
16890
16891         wcscoll: Move AC_LIBOBJ invocations to module description.
16892         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
16893         here...
16894         * modules/wcscoll (configure.ac): ... to here.
16895
16896 2011-05-22  Bruno Haible  <bruno@clisp.org>
16897
16898         wcscmp: Move AC_LIBOBJ invocations to module description.
16899         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
16900         * modules/wcscmp (configure.ac): ... to here.
16901
16902 2011-05-22  Bruno Haible  <bruno@clisp.org>
16903
16904         wcschr: Move AC_LIBOBJ invocations to module description.
16905         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
16906         * modules/wcschr (configure.ac): ... to here.
16907
16908 2011-05-22  Bruno Haible  <bruno@clisp.org>
16909
16910         wcscat: Move AC_LIBOBJ invocations to module description.
16911         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
16912         * modules/wcscat (configure.ac): ... to here.
16913
16914 2011-05-22  Bruno Haible  <bruno@clisp.org>
16915
16916         wcscasecmp: Move AC_LIBOBJ invocations to module description.
16917         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
16918         here...
16919         * modules/wcscasecmp (configure.ac): ... to here.
16920
16921 2011-05-22  Bruno Haible  <bruno@clisp.org>
16922
16923         wcrtomb: Move AC_LIBOBJ invocations to module description.
16924         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
16925         invocations from here...
16926         * modules/wcrtomb (configure.ac): ... to here.
16927
16928 2011-05-22  Bruno Haible  <bruno@clisp.org>
16929
16930         wcpncpy: Move AC_LIBOBJ invocations to module description.
16931         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
16932         here...
16933         * modules/wcpncpy (configure.ac): ... to here.
16934
16935 2011-05-22  Bruno Haible  <bruno@clisp.org>
16936
16937         wcpcpy: Move AC_LIBOBJ invocations to module description.
16938         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
16939         * modules/wcpcpy (configure.ac): ... to here.
16940
16941 2011-05-22  Bruno Haible  <bruno@clisp.org>
16942
16943         waitpid: Move AC_LIBOBJ invocations to module description.
16944         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
16945         invocation from here...
16946         * modules/waitpid (configure.ac): ... to here.
16947
16948 2011-05-22  Bruno Haible  <bruno@clisp.org>
16949
16950         utimensat: Move AC_LIBOBJ invocations to module description.
16951         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
16952         here...
16953         * modules/utimensat (configure.ac): ... to here.
16954
16955 2011-05-22  Bruno Haible  <bruno@clisp.org>
16956
16957         usleep: Move AC_LIBOBJ invocations to module description.
16958         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
16959         here...
16960         * modules/usleep (configure.ac): ... to here.
16961
16962 2011-05-22  Bruno Haible  <bruno@clisp.org>
16963
16964         unlockpt: Move AC_LIBOBJ invocations to module description.
16965         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
16966         gl_PREREQ_UNLOCKPT invocations from here...
16967         * modules/unlockpt (configure.ac): ... to here.
16968
16969 2011-05-22  Bruno Haible  <bruno@clisp.org>
16970
16971         unlink: Respect rules for use of AC_LIBOBJ.
16972         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
16973         * modules/unlink (configure.ac): ... to here.
16974
16975 2011-05-22  Bruno Haible  <bruno@clisp.org>
16976
16977         uname: Move AC_LIBOBJ invocations to module description.
16978         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
16979         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
16980         here...
16981         * modules/uname (configure.ac): ... to here.
16982
16983 2011-05-22  Bruno Haible  <bruno@clisp.org>
16984
16985         ttyname_r: Move AC_LIBOBJ invocations to module description.
16986         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
16987         gl_PREREQ_TTYNAME_R invocations from here...
16988         * modules/ttyname_r (configure.ac): ... to here.
16989
16990 2011-05-22  Bruno Haible  <bruno@clisp.org>
16991
16992         tsearch: Move AC_LIBOBJ invocations to module description.
16993         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
16994         invocations from here...
16995         * modules/tsearch (configure.ac): ... to here.
16996
16997 2011-05-22  Bruno Haible  <bruno@clisp.org>
16998
16999         towctrans: Move AC_LIBOBJ invocations to module description.
17000         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
17001         AC_LIBOBJ invocation from here...
17002         * modules/towctrans (configure.ac): ... to here.
17003
17004 2011-05-22  Bruno Haible  <bruno@clisp.org>
17005
17006         tmpfile: Move AC_LIBOBJ invocations to module description.
17007         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
17008         invocations from here...
17009         * modules/tmpfile (configure.ac): ... to here.
17010
17011 2011-05-22  Bruno Haible  <bruno@clisp.org>
17012
17013         times: Move AC_LIBOBJ invocations to module description.
17014         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
17015         * modules/times (configure.ac): ... to here.
17016
17017 2011-05-22  Bruno Haible  <bruno@clisp.org>
17018
17019         time_r: Move AC_LIBOBJ invocations to module description.
17020         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
17021         invocations from here...
17022         * modules/time_r (configure.ac): ... to here.
17023
17024 2011-05-22  Bruno Haible  <bruno@clisp.org>
17025
17026         timegm: Move AC_LIBOBJ invocations to module description.
17027         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
17028         invocations from here...
17029         * modules/timegm (configure.ac): ... to here.
17030
17031 2011-05-22  Bruno Haible  <bruno@clisp.org>
17032
17033         tcgetsid: Move AC_LIBOBJ invocations to module description.
17034         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
17035         and gl_PREREQ_TCGETSID invocations from here...
17036         * modules/tcgetsid (configure.ac): ... to here.
17037         (Depends-on): Update conditions.
17038
17039 2011-05-22  Bruno Haible  <bruno@clisp.org>
17040
17041         symlinkat: Move AC_LIBOBJ invocations to module description.
17042         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
17043         here...
17044         * modules/symlinkat (configure.ac): ... to here.
17045
17046 2011-05-22  Bruno Haible  <bruno@clisp.org>
17047
17048         symlink: Move AC_LIBOBJ invocations to module description.
17049         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
17050         here...
17051         * modules/symlink (configure.ac): ... to here.
17052
17053 2011-05-22  Bruno Haible  <bruno@clisp.org>
17054
17055         strverscmp: Move AC_LIBOBJ invocations to module description.
17056         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
17057         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
17058         from here...
17059         * modules/strverscmp (configure.ac): ... to here.
17060
17061 2011-05-22  Bruno Haible  <bruno@clisp.org>
17062
17063         strtok_r: Move AC_LIBOBJ invocations to module description.
17064         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
17065         and gl_PREREQ_STRTOK_R invocations from here...
17066         * modules/strtok_r (configure.ac): ... to here.
17067         (Depends-on): Update conditions.
17068
17069 2011-05-22  Bruno Haible  <bruno@clisp.org>
17070
17071         strtoumax: Move AC_LIBOBJ invocations to module description.
17072         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
17073         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
17074         from here...
17075         * modules/strtoumax (configure.ac): ... to here.
17076
17077 2011-05-22  Bruno Haible  <bruno@clisp.org>
17078
17079         strtoimax: Move AC_LIBOBJ invocations to module description.
17080         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
17081         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
17082         from here...
17083         * modules/strtoimax (configure.ac): ... to here.
17084
17085 2011-05-22  Bruno Haible  <bruno@clisp.org>
17086
17087         strtoull: Move AC_LIBOBJ invocations to module description.
17088         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
17089         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
17090         from here...
17091         * modules/strtoull (configure.ac): ... to here.
17092
17093 2011-05-22  Bruno Haible  <bruno@clisp.org>
17094
17095         strtoll: Move AC_LIBOBJ invocations to module description.
17096         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
17097         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
17098         here...
17099         * modules/strtoll (configure.ac): ... to here.
17100
17101 2011-05-22  Bruno Haible  <bruno@clisp.org>
17102
17103         strtoul: Move AC_LIBOBJ invocations to module description.
17104         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
17105         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17106         * modules/strtoul (configure.ac): ... to here.
17107
17108 2011-05-22  Bruno Haible  <bruno@clisp.org>
17109
17110         strtol: Move AC_LIBOBJ invocations to module description.
17111         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
17112         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17113         * modules/strtol (configure.ac): ... to here.
17114
17115 2011-05-22  Bruno Haible  <bruno@clisp.org>
17116
17117         strtod: Move AC_LIBOBJ invocations to module description.
17118         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
17119         invocations from here...
17120         * modules/strtod (configure.ac): ... to here.
17121
17122 2011-05-22  Bruno Haible  <bruno@clisp.org>
17123
17124         strstr*: Move AC_LIBOBJ invocations to module description.
17125         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
17126         invocations from here...
17127         * modules/strstr-simple (configure.ac): ... to here.
17128         * modules/strstr (configure.ac): ... and here.
17129
17130 2011-05-22  Bruno Haible  <bruno@clisp.org>
17131
17132         strsignal: Move AC_LIBOBJ invocations to module description.
17133         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
17134         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
17135         * modules/strsignal (configure.ac): ... to here.
17136         (Depends-on): Update conditions.
17137
17138 2011-05-22  Bruno Haible  <bruno@clisp.org>
17139
17140         strsep: Move AC_LIBOBJ invocations to module description.
17141         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
17142         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
17143         here...
17144         * modules/strsep (configure.ac): ... to here.
17145
17146 2011-05-22  Bruno Haible  <bruno@clisp.org>
17147
17148         strptime: Move AC_LIBOBJ invocations to module description.
17149         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
17150         gl_PREREQ_STRPTIME invocations from here...
17151         * modules/strptime (configure.ac): ... to here.
17152
17153 2011-05-22  Bruno Haible  <bruno@clisp.org>
17154
17155         strpbrk: Move AC_LIBOBJ invocations to module description.
17156         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
17157         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
17158         here...
17159         * modules/strpbrk (configure.ac): ... to here.
17160
17161 2011-05-22  Bruno Haible  <bruno@clisp.org>
17162
17163         strnlen: Move AC_LIBOBJ invocations to module description.
17164         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
17165         invocations from here...
17166         * modules/strnlen (configure.ac): ... to here.
17167
17168 2011-05-22  Bruno Haible  <bruno@clisp.org>
17169
17170         strndup: Move AC_LIBOBJ invocations to module description.
17171         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
17172         invocations from here...
17173         * modules/strndup (configure.ac): ... to here.
17174         (Depends-on): Update conditions.
17175
17176 2011-05-22  Bruno Haible  <bruno@clisp.org>
17177
17178         strncat: Move AC_LIBOBJ invocations to module description.
17179         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
17180         invocations from here...
17181         * modules/strncat (configure.ac): ... to here.
17182
17183 2011-05-22  Bruno Haible  <bruno@clisp.org>
17184
17185         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
17186         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
17187         invocations from here...
17188         * modules/strdup (configure.ac): ... to here.
17189         * modules/strdup-posix (configure.ac): ... and here.
17190
17191 2011-05-22  Bruno Haible  <bruno@clisp.org>
17192
17193         strcspn: Move AC_LIBOBJ invocations to module description.
17194         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
17195         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
17196         here...
17197         * modules/strcspn (configure.ac): ... to here.
17198
17199 2011-05-22  Bruno Haible  <bruno@clisp.org>
17200
17201         strchrnul: Move AC_LIBOBJ invocations to module description.
17202         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
17203         gl_PREREQ_STRCHRNUL invocations from here...
17204         * modules/strchrnul (configure.ac): ... to here.
17205
17206 2011-05-22  Bruno Haible  <bruno@clisp.org>
17207
17208         strcasestr*: Move AC_LIBOBJ invocations to module description.
17209         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17210         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
17211         * modules/strcasestr-simple (configure.ac): ... to here.
17212         * modules/strcasestr (configure.ac): ... and here.
17213
17214 2011-05-22  Bruno Haible  <bruno@clisp.org>
17215
17216         strcase: Move AC_LIBOBJ invocations to module description.
17217         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
17218         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
17219         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
17220         gl_PREREQ_STRNCASECMP invocations from here...
17221         * modules/strcase (configure.ac): ... to here.
17222
17223 2011-05-22  Bruno Haible  <bruno@clisp.org>
17224
17225         stpncpy: Move AC_LIBOBJ invocations to module description.
17226         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
17227         here...
17228         * modules/stpncpy (configure.ac): ... to here.
17229
17230 2011-05-22  Bruno Haible  <bruno@clisp.org>
17231
17232         stpcpy: Move AC_LIBOBJ invocations to module description.
17233         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
17234         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
17235         here...
17236         * modules/stpcpy (configure.ac): ... to here.
17237
17238 2011-05-21  Bruno Haible  <bruno@clisp.org>
17239
17240         stat: Move AC_LIBOBJ invocations to module description.
17241         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
17242         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
17243         here...
17244         * modules/stat (configure.ac): ... to here.
17245
17246 2011-05-21  Bruno Haible  <bruno@clisp.org>
17247
17248         sleep: Move AC_LIBOBJ invocations to module description.
17249         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
17250         * modules/sleep (configure.ac): ... to here.
17251
17252 2011-05-21  Bruno Haible  <bruno@clisp.org>
17253
17254         signbit: Move AC_LIBOBJ invocations to module description.
17255         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
17256         * modules/signbit (configure.ac): ... to here.
17257
17258 2011-05-21  Bruno Haible  <bruno@clisp.org>
17259
17260         sigprocmask: Move AC_LIBOBJ invocations to module description.
17261         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
17262         gl_PREREQ_SIGPROMASK invocations from here...
17263         * modules/sigprocmask (configure.ac): ... to here.
17264
17265 2011-05-21  Bruno Haible  <bruno@clisp.org>
17266
17267         sigaction: Move AC_LIBOBJ invocations to module description.
17268         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
17269         gl_PREREQ_SIGACTION invocations from here...
17270         * modules/sigaction (configure.ac): ... to here.
17271
17272 2011-05-21  Bruno Haible  <bruno@clisp.org>
17273
17274         sig2str: Move AC_LIBOBJ invocations to module description.
17275         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
17276         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
17277         here...
17278         * modules/sig2str (configure.ac): ... to here.
17279
17280 2011-05-21  Bruno Haible  <bruno@clisp.org>
17281
17282         setlocale: Move AC_LIBOBJ invocations to module description.
17283         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
17284         gl_PREREQ_SETLOCALE invocations from here...
17285         * modules/setlocale (configure.ac): ... to here.
17286
17287 2011-05-21  Bruno Haible  <bruno@clisp.org>
17288
17289         unsetenv: Move AC_LIBOBJ invocations to module description.
17290         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
17291         and gl_PREREQ_UNSETENV invocations from here...
17292         * modules/unsetenv (configure.ac): ... to here.
17293         (Depends-on): Update.
17294
17295 2011-05-21  Bruno Haible  <bruno@clisp.org>
17296
17297         setenv: Move AC_LIBOBJ invocations to module description.
17298         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
17299         here...
17300         * modules/setenv (configure.ac): ... to here.
17301
17302 2011-05-21  Bruno Haible  <bruno@clisp.org>
17303
17304         selinux-h: Move AC_LIBOBJ invocations to module description.
17305         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
17306         AC_LIBOBJ invocation from here...
17307         * modules/selinux-h (configure.ac): ... to here.
17308
17309 2011-05-21  Bruno Haible  <bruno@clisp.org>
17310
17311         select: Respect rules for use of AC_LIBOBJ.
17312         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
17313         here...
17314         * modules/select (configure.ac): ... to here.
17315
17316 2011-05-21  Bruno Haible  <bruno@clisp.org>
17317
17318         scandir: Move AC_LIBOBJ invocations to module description.
17319         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
17320         invocations from here...
17321         * modules/scandir (configure.ac): ... to here.
17322
17323 2011-05-21  Bruno Haible  <bruno@clisp.org>
17324
17325         rpmatch: Move AC_LIBOBJ invocations to module description.
17326         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
17327         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
17328         here...
17329         * modules/rpmatch (configure.ac): ... to here.
17330
17331 2011-05-21  Bruno Haible  <bruno@clisp.org>
17332
17333         rmdir: Respect rules for use of AC_LIBOBJ.
17334         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
17335         * modules/rmdir (configure.ac): ... to here.
17336
17337 2011-05-21  Bruno Haible  <bruno@clisp.org>
17338
17339         renameat: Move AC_LIBOBJ invocations to module description.
17340         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
17341         here...
17342         * modules/renameat (configure.ac): ... to here.
17343
17344 2011-05-21  Bruno Haible  <bruno@clisp.org>
17345
17346         rename: Respect rules for use of AC_LIBOBJ.
17347         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
17348         here...
17349         * modules/rename (configure.ac): ... to here.
17350
17351 2011-05-21  Bruno Haible  <bruno@clisp.org>
17352
17353         remove: Move AC_LIBOBJ invocations to module description.
17354         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
17355         here...
17356         * modules/remove (configure.ac): ... to here.
17357
17358 2011-05-21  Bruno Haible  <bruno@clisp.org>
17359
17360         relocatable-lib: Move AC_LIBOBJ invocations to module description.
17361         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
17362         macro.
17363         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
17364         * modules/relocatable-lib (configure.ac): ... to here.
17365         * modules/relocatable-prog-wrapper (configure.ac): Invoke
17366         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
17367
17368 2011-05-21  Bruno Haible  <bruno@clisp.org>
17369
17370         relocatable-prog: Move AC_LIBOBJ invocations to module description.
17371         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
17372         here...
17373         * modules/relocatable-prog (configure.ac): ... to here.
17374
17375 2011-05-21  Bruno Haible  <bruno@clisp.org>
17376
17377         regex: Move AC_LIBOBJ invocations to module description.
17378         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
17379         invocations from here...
17380         * modules/regex (configure.ac): ... to here.
17381
17382 2011-05-21  Bruno Haible  <bruno@clisp.org>
17383
17384         realloc-*: Move AC_LIBOBJ invocations to module description.
17385         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
17386         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
17387         AC_LIBOBJ invocations from here...
17388         * modules/realloc-gnu (configure.ac): ... to here.
17389         * modules/realloc-posix (configure.ac): ... and here.
17390
17391 2011-05-21  Bruno Haible  <bruno@clisp.org>
17392
17393         readutmp: Move AC_LIBOBJ invocations to module description.
17394         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
17395         * modules/readutmp (configure.ac): ... to here.
17396
17397 2011-05-21  Bruno Haible  <bruno@clisp.org>
17398
17399         readlinkat: Move AC_LIBOBJ invocations to module description.
17400         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
17401         here...
17402         * modules/readlinkat (configure.ac): ... to here.
17403
17404 2011-05-21  Bruno Haible  <bruno@clisp.org>
17405
17406         readlink: Move AC_LIBOBJ invocations to module description.
17407         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
17408         gl_PREREQ_READLINK invocations from here...
17409         * modules/readlink (configure.ac): ... to here.
17410
17411 2011-05-21  Bruno Haible  <bruno@clisp.org>
17412
17413         readline: Move AC_LIBOBJ invocations to module description.
17414         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
17415         gl_PREREQ_READLINE invocations from here...
17416         * modules/readline (configure.ac): ... to here.
17417
17418 2011-05-21  Bruno Haible  <bruno@clisp.org>
17419
17420         read: Move AC_LIBOBJ invocations to module description.
17421         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
17422         * modules/read (configure.ac): ... to here.
17423
17424 2011-05-21  Bruno Haible  <bruno@clisp.org>
17425
17426         rawmemchr: Move AC_LIBOBJ invocations to module description.
17427         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
17428         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
17429         from here...
17430         * modules/rawmemchr (configure.ac): ... to here.
17431
17432 2011-05-21  Bruno Haible  <bruno@clisp.org>
17433
17434         random_r: Move AC_LIBOBJ invocations to module description.
17435         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
17436         gl_PREREQ_RANDOM_R invocations from here...
17437         * modules/random_r (configure.ac): ... to here.
17438
17439 2011-05-21  Bruno Haible  <bruno@clisp.org>
17440
17441         pwrite: Move AC_LIBOBJ invocations to module description.
17442         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
17443         * modules/pwrite (configure.ac): ... to here.
17444
17445 2011-05-21  Bruno Haible  <bruno@clisp.org>
17446
17447         putenv: Move AC_LIBOBJ invocations to module description.
17448         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
17449         * modules/putenv (configure.ac): ... to here.
17450
17451 2011-05-21  Bruno Haible  <bruno@clisp.org>
17452
17453         login_tty: Move AC_LIBOBJ invocations to module description.
17454         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
17455         * modules/login_tty (configure.ac): ... to here.
17456
17457 2011-05-21  Bruno Haible  <bruno@clisp.org>
17458
17459         openpty: Move AC_LIBOBJ invocations to module description.
17460         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
17461         * modules/openpty (configure.ac): ... to here.
17462
17463 2011-05-21  Bruno Haible  <bruno@clisp.org>
17464
17465         forkpty: Move AC_LIBOBJ invocations to module description.
17466         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
17467         * modules/forkpty (configure.ac): ... to here.
17468
17469 2011-05-21  Bruno Haible  <bruno@clisp.org>
17470
17471         ptsname: Move AC_LIBOBJ invocations to module description.
17472         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
17473         invocations from here...
17474         * modules/ptsname (configure.ac): ... to here.
17475
17476 2011-05-21  Bruno Haible  <bruno@clisp.org>
17477
17478         pread: Move AC_LIBOBJ invocations to module description.
17479         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
17480         * modules/pread (configure.ac): ... to here.
17481
17482 2011-05-21  Bruno Haible  <bruno@clisp.org>
17483
17484         posix_spawn*: Move AC_LIBOBJ invocations to module description.
17485         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
17486         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
17487         * modules/posix_spawn (configure.ac): ... to here.
17488         * modules/posix_spawnp (configure.ac): ... and here.
17489
17490 2011-05-21  Bruno Haible  <bruno@clisp.org>
17491
17492         popen: Move AC_LIBOBJ invocations to module description.
17493         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
17494         invocations from here...
17495         * modules/popen (configure.ac): ... to here.
17496
17497 2011-05-21  Bruno Haible  <bruno@clisp.org>
17498
17499         poll: Move AC_LIBOBJ invocations to module description.
17500         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
17501         invocations from here...
17502         * modules/poll (configure.ac): ... to here.
17503
17504 2011-05-21  Bruno Haible  <bruno@clisp.org>
17505
17506         pipe-posix: Move AC_LIBOBJ invocations to module description.
17507         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
17508         * modules/pipe-posix (configure.ac): ... to here.
17509
17510 2011-05-21  Bruno Haible  <bruno@clisp.org>
17511
17512         openat: Respect rules for use of AC_LIBOBJ.
17513         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
17514         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
17515         * modules/openat (configure.ac): ... to here.
17516
17517 2011-05-21  Bruno Haible  <bruno@clisp.org>
17518
17519         obstack-printf*: Move AC_LIBOBJ invocations to module description.
17520         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
17521         invocation from here...
17522         * modules/obstack-printf (configure.ac): ... to here.
17523         * modules/obstack-printf-posix (configure.ac): ... and here.
17524
17525 2011-05-21  Bruno Haible  <bruno@clisp.org>
17526
17527         nl_langinfo: Move AC_LIBOBJ invocations to module description.
17528         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
17529         from here...
17530         * modules/nl_langinfo (configure.ac): ... to here.
17531
17532 2011-05-21  Bruno Haible  <bruno@clisp.org>
17533
17534         nanosleep: Move AC_LIBOBJ invocations to module description.
17535         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
17536         gl_PREREQ_NANOSLEEP invocations from here...
17537         * modules/nanosleep (configure.ac): ... to here.
17538
17539 2011-05-21  Bruno Haible  <bruno@clisp.org>
17540
17541         mountlist: Move AC_LIBOBJ invocations to module description.
17542         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
17543         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
17544         * modules/mountlist (configure.ac): ... to here.
17545
17546 2011-05-21  Bruno Haible  <bruno@clisp.org>
17547
17548         mktime: Respect rules for use of AC_LIBOBJ.
17549         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
17550         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
17551         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
17552         (gl_FUNC_MKTIME_INTERNAL): ... and here...
17553         * modules/mktime (configure.ac): ... to here.
17554         * modules/mktime-internal (configure.ac): ... and here.
17555         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
17556
17557 2011-05-21  Bruno Haible  <bruno@clisp.org>
17558
17559         mkstemps: Move AC_LIBOBJ invocations to module description.
17560         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
17561         here...
17562         * modules/mkstemps (configure.ac): ... to here.
17563
17564 2011-05-21  Bruno Haible  <bruno@clisp.org>
17565
17566         mkstemp: Move AC_LIBOBJ invocations to module description.
17567         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
17568         gl_PREREQ_MKSTEMP invocations from here...
17569         * modules/mkstemp (configure.ac): ... to here.
17570
17571 2011-05-21  Bruno Haible  <bruno@clisp.org>
17572
17573         mkostemps: Move AC_LIBOBJ invocations to module description.
17574         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
17575         here...
17576         * modules/mkostemps (configure.ac): ... to here.
17577
17578 2011-05-21  Bruno Haible  <bruno@clisp.org>
17579
17580         mkostemp: Move AC_LIBOBJ invocations to module description.
17581         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
17582         gl_PREREQ_MKOSTEMP invocations from here...
17583         * modules/mkostemp (configure.ac): ... to here.
17584
17585 2011-05-21  Bruno Haible  <bruno@clisp.org>
17586
17587         mknod: Move AC_LIBOBJ invocations to module description.
17588         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
17589         * modules/mknod (configure.ac): ... to here.
17590
17591 2011-05-21  Bruno Haible  <bruno@clisp.org>
17592
17593         mkfifoat: Move AC_LIBOBJ invocations to module description.
17594         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
17595         here...
17596         * modules/mkfifoat (configure.ac): ... to here.
17597
17598 2011-05-21  Bruno Haible  <bruno@clisp.org>
17599
17600         mkfifo: Respect rules for use of AC_LIBOBJ.
17601         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
17602         here...
17603         * modules/mkfifo (configure.ac): ... to here.
17604
17605 2011-05-21  Bruno Haible  <bruno@clisp.org>
17606
17607         mkdtemp: Move AC_LIBOBJ invocations to module description.
17608         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
17609         invocations from here...
17610         * modules/mkdtemp (configure.ac): ... to here.
17611
17612 2011-05-21  Bruno Haible  <bruno@clisp.org>
17613
17614         mkdir: Move AC_LIBOBJ invocations to module description.
17615         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
17616         * modules/mkdir (configure.ac): ... to here.
17617
17618 2011-05-21  Bruno Haible  <bruno@clisp.org>
17619
17620         memset: Move AC_LIBOBJ invocations to module description.
17621         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
17622         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
17623         here...
17624         * modules/memset (configure.ac): ... to here.
17625
17626 2011-05-21  Bruno Haible  <bruno@clisp.org>
17627
17628         memrchr: Move AC_LIBOBJ invocations to module description.
17629         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
17630         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
17631         here...
17632         * modules/memrchr (configure.ac): ... to here.
17633
17634 2011-05-21  Bruno Haible  <bruno@clisp.org>
17635
17636         mempcpy: Move AC_LIBOBJ invocations to module description.
17637         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
17638         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
17639         here...
17640         * modules/mempcpy (configure.ac): ... to here.
17641
17642 2011-05-21  Bruno Haible  <bruno@clisp.org>
17643
17644         memmove: Move AC_LIBOBJ invocations to module description.
17645         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
17646         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
17647         here...
17648         * modules/memmove (configure.ac): ... to here.
17649
17650 2011-05-21  Bruno Haible  <bruno@clisp.org>
17651
17652         memmem*: Move AC_LIBOBJ invocations to module description.
17653         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
17654         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
17655         here...
17656         (gl_FUNC_MEMMEM): ... and here...
17657         * modules/memmem-simple (configure.ac): ... to here.
17658         * modules/memmem (configure.ac): ... and here.
17659
17660 2011-05-21  Bruno Haible  <bruno@clisp.org>
17661
17662         memcpy: Move AC_LIBOBJ invocations to module description.
17663         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
17664         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
17665         here...
17666         * modules/memcpy (configure.ac): ... to here.
17667
17668 2011-05-21  Bruno Haible  <bruno@clisp.org>
17669
17670         memcmp: Simplify autoconf macro.
17671         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
17672         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
17673         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
17674
17675 2011-05-21  Bruno Haible  <bruno@clisp.org>
17676
17677         memcmp: Move AC_LIBOBJ invocations to module description.
17678         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
17679         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
17680         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
17681         * modules/memcmp (configure.ac): ... to here.
17682         (Depends-on): Update conditions.
17683
17684 2011-05-21  Bruno Haible  <bruno@clisp.org>
17685
17686         memchr: Respect rules for use of AC_LIBOBJ.
17687         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
17688         invocations from here...
17689         * modules/memchr (configure.ac): ... to here.
17690
17691 2011-05-21  Bruno Haible  <bruno@clisp.org>
17692
17693         mbtowc: Move AC_LIBOBJ invocations to module description.
17694         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
17695         invocations from here...
17696         * modules/mbtowc (configure.ac): ... to here.
17697
17698 2011-05-21  Bruno Haible  <bruno@clisp.org>
17699
17700         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
17701         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
17702         gl_PREREQ_MBSRTOWCS invocations from here...
17703         * modules/mbsrtowcs (configure.ac): ... to here.
17704
17705 2011-05-21  Bruno Haible  <bruno@clisp.org>
17706
17707         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
17708         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
17709         gl_PREREQ_MBSNRTOWCS invocations from here...
17710         * modules/mbsnrtowcs (configure.ac): ... to here.
17711
17712 2011-05-21  Bruno Haible  <bruno@clisp.org>
17713
17714         mbsinit: Move AC_LIBOBJ invocations to module description.
17715         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
17716         invocations from here...
17717         * modules/mbsinit (configure.ac): ... to here.
17718
17719 2011-05-21  Bruno Haible  <bruno@clisp.org>
17720
17721         mbrlen: Move AC_LIBOBJ invocations to module description.
17722         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
17723         invocations from here...
17724         * modules/mbrlen (configure.ac): ... to here.
17725
17726 2011-05-21  Bruno Haible  <bruno@clisp.org>
17727
17728         mbrtowc: Respect rules for use of AC_LIBOBJ.
17729         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
17730         invocations from here...
17731         * modules/mbrtowc (configure.ac): ... to here.
17732
17733 2011-05-21  Bruno Haible  <bruno@clisp.org>
17734
17735         malloc-*: Move AC_LIBOBJ invocations to module description.
17736         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
17737         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
17738         AC_LIBOBJ invocations from here...
17739         * modules/malloc-gnu (configure.ac): ... to here.
17740         * modules/malloc-posix (configure.ac): ... and here.
17741
17742 2011-05-21  Bruno Haible  <bruno@clisp.org>
17743
17744         lstat, openat: Respect rules for use of AC_LIBOBJ.
17745         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
17746         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
17747         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
17748         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
17749         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
17750         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
17751         here.
17752         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
17753
17754 2011-05-21  Bruno Haible  <bruno@clisp.org>
17755
17756         lseek: Move AC_LIBOBJ invocations to module description.
17757         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
17758         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
17759         * modules/lseek (configure.ac): ... to here.
17760
17761 2011-05-21  Bruno Haible  <bruno@clisp.org>
17762
17763         linkat: Move AC_LIBOBJ invocations to module description.
17764         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
17765         here...
17766         * modules/linkat (configure.ac): ... to here.
17767
17768 2011-05-21  Bruno Haible  <bruno@clisp.org>
17769
17770         link: Respect rules for use of AC_LIBOBJ.
17771         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
17772         * modules/link (configure.ac): ... to here.
17773
17774 2011-05-21  Bruno Haible  <bruno@clisp.org>
17775
17776         lchown: Move AC_LIBOBJ invocations to module description.
17777         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
17778         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
17779         * modules/lchown (configure.ac): ... to here.
17780
17781 2011-05-21  Bruno Haible  <bruno@clisp.org>
17782
17783         iswctype: Move AC_LIBOBJ invocations to module description.
17784         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
17785         here...
17786         * modules/iswctype (configure.ac): ... to here.
17787
17788 2011-05-21  Bruno Haible  <bruno@clisp.org>
17789
17790         iswblank: Move AC_LIBOBJ invocations to module description.
17791         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
17792         here...
17793         * modules/iswblank (configure.ac): ... to here.
17794
17795 2011-05-21  Bruno Haible  <bruno@clisp.org>
17796
17797         atanl: Move AC_LIBOBJ invocations to module description.
17798         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
17799         * modules/atanl (configure.ac): ... to here.
17800
17801 2011-05-21  Bruno Haible  <bruno@clisp.org>
17802
17803         acosl: Move AC_LIBOBJ invocations to module description.
17804         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
17805         * modules/acosl (configure.ac): ... to here.
17806
17807 2011-05-21  Bruno Haible  <bruno@clisp.org>
17808
17809         asinl: Respect rules for use of AC_LIBOBJ.
17810         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
17811         * modules/asinl (configure.ac): ... to here.
17812
17813 2011-05-21  Bruno Haible  <bruno@clisp.org>
17814
17815         tanl: Move AC_LIBOBJ invocations to module description.
17816         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
17817         * modules/tanl (configure.ac): ... to here.
17818
17819 2011-05-21  Bruno Haible  <bruno@clisp.org>
17820
17821         cosl: Move AC_LIBOBJ invocations to module description.
17822         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
17823         * modules/cosl (configure.ac): ... to here.
17824
17825 2011-05-21  Bruno Haible  <bruno@clisp.org>
17826
17827         sinl: Move AC_LIBOBJ invocations to module description.
17828         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
17829         * modules/sinl (configure.ac): ... to here.
17830
17831 2011-05-21  Bruno Haible  <bruno@clisp.org>
17832
17833         logl: Move AC_LIBOBJ invocations to module description.
17834         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
17835         * modules/logl (configure.ac): ... to here.
17836
17837 2011-05-21  Bruno Haible  <bruno@clisp.org>
17838
17839         expl: Move AC_LIBOBJ invocations to module description.
17840         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
17841         * modules/expl (configure.ac): ... to here.
17842
17843 2011-05-21  Bruno Haible  <bruno@clisp.org>
17844
17845         roundl: Move AC_LIBOBJ invocations to module description.
17846         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
17847         * modules/roundl (configure.ac): ... to here.
17848
17849 2011-05-21  Bruno Haible  <bruno@clisp.org>
17850
17851         round: Move AC_LIBOBJ invocations to module description.
17852         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
17853         * modules/round (configure.ac): ... to here.
17854
17855 2011-05-21  Bruno Haible  <bruno@clisp.org>
17856
17857         roundf: Move AC_LIBOBJ invocations to module description.
17858         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
17859         * modules/roundf (configure.ac): ... to here.
17860
17861 2011-05-21  Bruno Haible  <bruno@clisp.org>
17862
17863         truncl: Move AC_LIBOBJ invocations to module description.
17864         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
17865         * modules/truncl (configure.ac): ... to here.
17866
17867 2011-05-21  Bruno Haible  <bruno@clisp.org>
17868
17869         trunc: Move AC_LIBOBJ invocations to module description.
17870         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
17871         * modules/trunc (configure.ac): ... to here.
17872
17873 2011-05-21  Bruno Haible  <bruno@clisp.org>
17874
17875         truncf: Move AC_LIBOBJ invocations to module description.
17876         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
17877         * modules/truncf (configure.ac): ... to here.
17878
17879 2011-05-21  Bruno Haible  <bruno@clisp.org>
17880
17881         ceill: Move AC_LIBOBJ invocations to module description.
17882         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
17883         * modules/ceill (configure.ac): ... to here.
17884
17885 2011-05-21  Bruno Haible  <bruno@clisp.org>
17886
17887         ceil: Move AC_LIBOBJ invocations to module description.
17888         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
17889         * modules/ceil (configure.ac): ... to here.
17890
17891 2011-05-21  Bruno Haible  <bruno@clisp.org>
17892
17893         ceilf: Move AC_LIBOBJ invocations to module description.
17894         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
17895         * modules/ceilf (configure.ac): ... to here.
17896
17897 2011-05-21  Bruno Haible  <bruno@clisp.org>
17898
17899         floorl: Respect rules for use of AC_LIBOBJ.
17900         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
17901         * modules/floorl (configure.ac): ... to here.
17902
17903 2011-05-21  Bruno Haible  <bruno@clisp.org>
17904
17905         floor: Respect rules for use of AC_LIBOBJ.
17906         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
17907         * modules/floor (configure.ac): ... to here.
17908
17909 2011-05-21  Bruno Haible  <bruno@clisp.org>
17910
17911         floorf: Move AC_LIBOBJ invocations to module description.
17912         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
17913         * modules/floorf (configure.ac): ... to here.
17914
17915 2011-05-20  Bruno Haible  <bruno@clisp.org>
17916
17917         sqrtl: Respect rules for use of AC_LIBOBJ.
17918         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
17919         * modules/sqrtl (configure.ac): ... to here.
17920
17921 2011-05-20  Bruno Haible  <bruno@clisp.org>
17922
17923         ldexpl: Respect rules for use of AC_LIBOBJ.
17924         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
17925         * modules/ldexpl (configure.ac): ... to here.
17926
17927 2011-05-20  Bruno Haible  <bruno@clisp.org>
17928
17929         frexpl*: Respect rules for use of AC_LIBOBJ.
17930         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
17931         invocation from here...
17932         * modules/frexpl (configure.ac): ... to here.
17933         * modules/frexpl-nolibm (configure.ac): ... and here.
17934
17935 2011-05-20  Bruno Haible  <bruno@clisp.org>
17936
17937         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
17938         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
17939         invocation from here...
17940         * modules/frexp (configure.ac): ... to here.
17941         * modules/frexp-nolibm (configure.ac): ... and here.
17942
17943 2011-05-20  Bruno Haible  <bruno@clisp.org>
17944
17945         isnan: Respect rules for use of AC_LIBOBJ.
17946         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
17947         invocations here.
17948         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
17949         REPLACE_ISNAN.
17950         * modules/isnand (configure.ac): Likewise.
17951         * modules/isnanl (configure.ac): Likewise.
17952
17953 2011-05-20  Bruno Haible  <bruno@clisp.org>
17954
17955         isnanl*: Respect rules for use of AC_LIBOBJ.
17956         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
17957         invocation from here...
17958         * modules/isnanl (configure.ac): ... to here.
17959         * modules/isnanl-nolibm (configure.ac): ... and here.
17960
17961 2011-05-20  Bruno Haible  <bruno@clisp.org>
17962
17963         isnand*: Move AC_LIBOBJ invocations to module description.
17964         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
17965         invocation from here...
17966         * modules/isnand (configure.ac): ... to here.
17967         * modules/isnand-nolibm (configure.ac): ... and here.
17968
17969 2011-05-20  Bruno Haible  <bruno@clisp.org>
17970
17971         isnanf*: Move AC_LIBOBJ invocations to module description.
17972         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
17973         invocation from here...
17974         * modules/isnanf (configure.ac): ... to here.
17975         * modules/isnanf-nolibm (configure.ac): ... and here.
17976
17977 2011-05-20  Bruno Haible  <bruno@clisp.org>
17978
17979         isnan*: Separate the AC_LIBOBJ invocations.
17980         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
17981         AC_LIBOBJ invocation.
17982         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
17983         here.
17984         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
17985         AC_LIBOBJ invocation.
17986         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
17987         here.
17988         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
17989         AC_LIBOBJ invocation.
17990         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
17991         here.
17992         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
17993
17994 2011-05-08  Bruno Haible  <bruno@clisp.org>
17995
17996         isinf: Move AC_LIBOBJ invocations to module description.
17997         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
17998         * modules/isinf (configure.ac): ... to here.
17999
18000 2011-05-08  Bruno Haible  <bruno@clisp.org>
18001
18002         isfinite: Move AC_LIBOBJ invocations to module description.
18003         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
18004         * modules/isfinite (configure.ac): ... to here.
18005
18006 2011-05-08  Bruno Haible  <bruno@clisp.org>
18007
18008         isblank: Move AC_LIBOBJ invocations to module description.
18009         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
18010         here...
18011         * modules/isblank (configure.ac): ... to here.
18012
18013 2011-05-08  Bruno Haible  <bruno@clisp.org>
18014
18015         isapipe: Move AC_LIBOBJ invocations to module description.
18016         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
18017         gl_PREREQ_ISAPIPE invocations from here...
18018         * modules/isapipe (configure.ac): ... to here.
18019         (Depends-on): Update condition.
18020
18021 2011-05-08  Bruno Haible  <bruno@clisp.org>
18022
18023         ioctl: Move AC_LIBOBJ invocations to module description.
18024         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
18025         invocations from here...
18026         * modules/ioctl (configure.ac): ... to here.
18027         (Depends-on): Update condition.
18028
18029 2011-05-08  Bruno Haible  <bruno@clisp.org>
18030
18031         imaxdiv: Move AC_LIBOBJ invocations to module description.
18032         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
18033         invocations from here...
18034         * modules/imaxdiv (configure.ac): ... to here.
18035
18036 2011-05-08  Bruno Haible  <bruno@clisp.org>
18037
18038         imaxabs: Move AC_LIBOBJ invocations to module description.
18039         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
18040         invocations from here...
18041         * modules/imaxabs (configure.ac): ... to here.
18042
18043 2011-05-08  Bruno Haible  <bruno@clisp.org>
18044
18045         getaddrinfo: Move AC_LIBOBJ invocations to module description.
18046         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
18047         AC_LIBOBJ invocations from here...
18048         * modules/getaddrinfo (configure.ac): ... to here.
18049         (Depends-on): Add conditions.
18050
18051 2011-05-08  Bruno Haible  <bruno@clisp.org>
18052
18053         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18054         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
18055         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18056         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
18057         (gl_PREREQ_INET_PTON): ... from here.
18058         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
18059         gl_PREREQ_INET_PTON here.
18060         (Depends-on): Update condition.
18061
18062 2011-05-08  Bruno Haible  <bruno@clisp.org>
18063
18064         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18065         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
18066         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18067         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
18068         (gl_PREREQ_INET_NTOP): ... from here.
18069         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
18070         gl_PREREQ_INET_NTOP here.
18071         (Depends-on): Update condition.
18072
18073 2011-05-08  Bruno Haible  <bruno@clisp.org>
18074
18075         iconv_open: Move AC_LIBOBJ invocations to module description.
18076         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
18077         AC_LIBOBJ invocations from here...
18078         * modules/iconv_open (configure.ac): ... to here.
18079
18080 2011-05-08  Bruno Haible  <bruno@clisp.org>
18081
18082         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
18083         If module 'iconv_open' is among the main modules and module
18084         'iconv_open-utf' is among the tests dependencies, then
18085         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
18086         return the special iconv_t values. Therefore iconv() and iconv_close()
18087         must support these special iconv_t values, already in lib, not only in
18088         tests.
18089         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
18090         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
18091         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
18092         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
18093         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
18094         (Depends-on): Add the dependencies of iconv_open-utf.
18095         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
18096         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
18097         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
18098
18099 2011-05-08  Bruno Haible  <bruno@clisp.org>
18100
18101         group-member: Move AC_LIBOBJ invocations to module description.
18102         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
18103         gl_PREREQ_GROUP_MEMBER invocations from here...
18104         * modules/group-member (configure.ac): ... to here.
18105
18106 2011-05-08  Bruno Haible  <bruno@clisp.org>
18107
18108         grantpt: Move AC_LIBOBJ invocations to module description.
18109         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
18110         invocations from here...
18111         * modules/grantpt (configure.ac): ... to here.
18112
18113 2011-05-08  Bruno Haible  <bruno@clisp.org>
18114
18115         glob: Move AC_LIBOBJ invocations to module description.
18116         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
18117         from here...
18118         * modules/glob (configure.ac): ... to here.
18119
18120 2011-05-08  Bruno Haible  <bruno@clisp.org>
18121
18122         getusershell: Move AC_LIBOBJ invocations to module description.
18123         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
18124         Move AC_LIBOBJ invocation from here...
18125         * modules/getusershell (configure.ac): ... to here.
18126         (Depends-on): Update condition.
18127
18128 2011-05-08  Bruno Haible  <bruno@clisp.org>
18129
18130         gettimeofday: Move AC_LIBOBJ invocations to module description.
18131         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
18132         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
18133         gl_PREREQ_GETTIMEOFDAY invocations from here...
18134         * modules/gettimeofday (configure.ac): ... to here.
18135
18136 2011-05-08  Bruno Haible  <bruno@clisp.org>
18137
18138         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
18139         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
18140         just gl_FUNC_TZSET.
18141         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
18142         (gl_FUNC_TZSET_CLOBBER): Remove actions.
18143         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
18144         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
18145
18146 2011-05-08  Bruno Haible  <bruno@clisp.org>
18147
18148         getsubopt: Move AC_LIBOBJ invocations to module description.
18149         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
18150         gl_PREREQ_GETSUBOPT invocations from here...
18151         * modules/getsubopt (configure.ac): ... to here.
18152
18153 2011-05-08  Bruno Haible  <bruno@clisp.org>
18154
18155         getpass-gnu: Move AC_LIBOBJ invocations to module description.
18156         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
18157         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
18158         * modules/getpass-gnu (configure.ac): ... to here.
18159
18160 2011-05-08  Bruno Haible  <bruno@clisp.org>
18161
18162         getpass: Move AC_LIBOBJ invocations to module description.
18163         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
18164         gl_PREREQ_GETPASS invocations from here...
18165         * modules/getpass (configure.ac): ... to here.
18166
18167 2011-05-08  Bruno Haible  <bruno@clisp.org>
18168
18169         getpagesize: Move AC_LIBOBJ invocations to module description.
18170         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
18171         from here...
18172         * modules/getpagesize (configure.ac): ... to here.
18173
18174 2011-05-08  Bruno Haible  <bruno@clisp.org>
18175
18176         getopt: Move AC_LIBOBJ invocations to module description.
18177         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
18178         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
18179         invocations from here...
18180         * modules/getopt-gnu (configure.ac): ... to here.
18181         * modules/getopt-posix (configure.ac): ... and here.
18182         (Depends-on): Update condition.
18183
18184 2011-05-08  Bruno Haible  <bruno@clisp.org>
18185
18186         getopt, argp: Respect rules for use of AC_LIBOBJ.
18187         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
18188         (gl_REPLACE_GETOPT_ALWAYS): New macro.
18189         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
18190         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
18191
18192 2011-05-08  Bruno Haible  <bruno@clisp.org>
18193
18194         getlogin_r: Move AC_LIBOBJ invocations to module description.
18195         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
18196         gl_PREREQ_GETLOGIN_R invocations from here...
18197         * modules/getlogin_r (configure.ac): ... to here.
18198
18199 2011-05-08  Bruno Haible  <bruno@clisp.org>
18200
18201         getlogin: Move AC_LIBOBJ invocations to module description.
18202         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
18203         here...
18204         * modules/getlogin (configure.ac): ... to here.
18205
18206 2011-05-08  Bruno Haible  <bruno@clisp.org>
18207
18208         getloadavg: Move AC_LIBOBJ invocations to module description.
18209         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
18210         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
18211         * modules/getloadavg (configure.ac): ... to here.
18212
18213 2011-05-08  Bruno Haible  <bruno@clisp.org>
18214
18215         gethrxtime: Move AC_LIBOBJ invocations to module description.
18216         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
18217         LIB_GETHRXTIME from here...
18218         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
18219         invocations from here...
18220         * modules/gethrxtime (configure.ac): ... to here.
18221
18222 2011-05-08  Bruno Haible  <bruno@clisp.org>
18223
18224         gethostname: Move AC_LIBOBJ invocations to module description.
18225         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
18226         gl_PREREQ_GETHOSTNAME invocations from here...
18227         * modules/gethostname (configure.ac): ... to here.
18228
18229 2011-05-08  Bruno Haible  <bruno@clisp.org>
18230
18231         getgroups: Move AC_LIBOBJ invocations to module description.
18232         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
18233         here...
18234         * modules/getgroups (configure.ac): ... to here.
18235
18236 2011-05-08  Bruno Haible  <bruno@clisp.org>
18237
18238         getdtablesize: Move AC_LIBOBJ invocations to module description.
18239         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
18240         invocation from here...
18241         * modules/getdtablesize (configure.ac): ... to here.
18242
18243 2011-05-08  Bruno Haible  <bruno@clisp.org>
18244
18245         getdomainname: Move AC_LIBOBJ invocations to module description.
18246         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
18247         gl_PREREQ_GETDOMAINNAME invocations from here...
18248         * modules/getdomainname (configure.ac): ... to here.
18249
18250 2011-05-08  Bruno Haible  <bruno@clisp.org>
18251
18252         getline: Move AC_LIBOBJ invocations to module description.
18253         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
18254         invocations from here...
18255         * modules/getline (configure.ac): ... to here.
18256
18257 2011-05-08  Bruno Haible  <bruno@clisp.org>
18258
18259         getline: Simplify.
18260         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
18261         It's already handled through the module dependency.
18262
18263 2011-05-08  Bruno Haible  <bruno@clisp.org>
18264
18265         getdelim: Move AC_LIBOBJ invocations to module description.
18266         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
18267         and gl_PREREQ_GETDELIM invocations from here...
18268         * modules/getdelim (configure.ac): ... to here.
18269         (Depends-on): Fix condition.
18270
18271 2011-05-08  Bruno Haible  <bruno@clisp.org>
18272
18273         getcwd: Move AC_LIBOBJ invocations to module description.
18274         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
18275         invocations from here...
18276         * modules/getcwd (configure.ac): ... to here.
18277
18278 2011-05-08  Bruno Haible  <bruno@clisp.org>
18279
18280         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
18281         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
18282         here...
18283         * modules/getcwd-lgpl (configure.ac): ... to here.
18284
18285 2011-05-07  Bruno Haible  <bruno@clisp.org>
18286
18287         crypto/gc: Move AC_LIBOBJ invocations to module description.
18288         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
18289         * modules/crypto/gc (configure.ac): ... to here.
18290
18291 2011-05-07  Bruno Haible  <bruno@clisp.org>
18292
18293         fwriting: Move AC_LIBOBJ invocations to module description.
18294         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
18295         here...
18296         * modules/fwriting (configure.ac): ... to here.
18297
18298 2011-05-07  Bruno Haible  <bruno@clisp.org>
18299
18300         fwritable: Move AC_LIBOBJ invocations to module description.
18301         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
18302         here...
18303         * modules/fwritable (configure.ac): ... to here.
18304
18305 2011-05-07  Bruno Haible  <bruno@clisp.org>
18306
18307         futimens: Move AC_LIBOBJ invocations to module description.
18308         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
18309         here...
18310         * modules/futimens (configure.ac): ... to here.
18311
18312 2011-05-07  Bruno Haible  <bruno@clisp.org>
18313
18314         ftruncate: Move AC_LIBOBJ invocations to module description.
18315         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
18316         gl_PREREQ_FTRUNCATE invocations from here...
18317         * modules/ftruncate (configure.ac): ... to here.
18318
18319 2011-05-07  Bruno Haible  <bruno@clisp.org>
18320
18321         fsync: Move AC_LIBOBJ invocations to module description.
18322         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
18323         invocations from here...
18324         * modules/fsync (configure.ac): ... to here.
18325
18326 2011-05-07  Bruno Haible  <bruno@clisp.org>
18327
18328         fsusage: Move AC_LIBOBJ invocations to module description.
18329         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
18330         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
18331         * modules/fsusage (configure.ac): ... to here.
18332
18333 2011-05-07  Bruno Haible  <bruno@clisp.org>
18334
18335         freopen: Move AC_LIBOBJ invocations to module description.
18336         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
18337         invocations from here...
18338         * modules/freopen (configure.ac): ... to here.
18339
18340 2011-05-07  Bruno Haible  <bruno@clisp.org>
18341
18342         free: Move AC_LIBOBJ invocations to module description.
18343         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
18344         invocations from here...
18345         * modules/free (configure.ac): ... to here.
18346
18347 2011-05-07  Bruno Haible  <bruno@clisp.org>
18348
18349         freadable: Move AC_LIBOBJ invocations to module description.
18350         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
18351         here...
18352         * modules/freadable (configure.ac): ... to here.
18353
18354 2011-05-07  Bruno Haible  <bruno@clisp.org>
18355
18356         fpurge: Move AC_LIBOBJ invocations to module description.
18357         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
18358         invocations from here...
18359         * modules/fpurge (configure.ac): ... to here.
18360
18361 2011-05-07  Bruno Haible  <bruno@clisp.org>
18362
18363         fpending: Move AC_LIBOBJ invocations to module description.
18364         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
18365         gl_FUNC_FPENDING.
18366         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
18367         invocations from here...
18368         * modules/fpending (configure.ac): ... to here.
18369
18370 2011-05-07  Bruno Haible  <bruno@clisp.org>
18371
18372         fopen: Move AC_LIBOBJ invocations to module description.
18373         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
18374         invocations from here...
18375         * modules/fopen (configure.ac): ... to here.
18376
18377 2011-05-07  Bruno Haible  <bruno@clisp.org>
18378
18379         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
18380         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
18381         gl_FUNC_FNMATCH_POSIX.
18382         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
18383         invocations from here...
18384         * modules/fnmatch (configure.ac): ... to here.
18385         * modules/fnmatch-gnu (configure.ac): ... and here.
18386
18387 2011-05-07  Bruno Haible  <bruno@clisp.org>
18388
18389         flock: Move AC_LIBOBJ invocations to module description.
18390         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
18391         invocations from here...
18392         * modules/flock (configure.ac): ... to here.
18393
18394 2011-05-07  Bruno Haible  <bruno@clisp.org>
18395
18396         fileblocks: Move AC_LIBOBJ invocations to module description.
18397         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
18398         gl_PREREQ_FILEBLOCKS invocations from here...
18399         * modules/fileblocks (configure.ac): ... to here.
18400
18401 2011-05-06  Bruno Haible  <bruno@clisp.org>
18402
18403         fflush: Move AC_LIBOBJ invocations to module description.
18404         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
18405         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
18406         invocations from here...
18407         * modules/fflush (configure.ac): ... to here.
18408
18409 2011-05-06  Bruno Haible  <bruno@clisp.org>
18410
18411         fdopendir: Move AC_LIBOBJ invocations to module description.
18412         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
18413         here...
18414         * modules/fdopendir (configure.ac): ... to here.
18415         (Depends-on): Improve conditions.
18416
18417 2011-05-06  Bruno Haible  <bruno@clisp.org>
18418
18419         _Exit: Move AC_LIBOBJ invocations to module description.
18420         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
18421         invocations from here...
18422         * modules/_Exit (configure.ac): ... to here.
18423
18424 2011-05-21  Bruno Haible  <bruno@clisp.org>
18425
18426         euidaccess: Respect rules for use of AC_LIBOBJ.
18427         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18428         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
18429         from here...
18430         * modules/euidaccess (configure.ac): ... to here.
18431
18432 2011-05-06  Bruno Haible  <bruno@clisp.org>
18433
18434         error: Move AC_LIBOBJ invocations to module description.
18435         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
18436         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
18437         invocations from here...
18438         * modules/error (configure.ac): ... to here.
18439
18440 2011-05-06  Bruno Haible  <bruno@clisp.org>
18441
18442         duplocale: Move AC_LIBOBJ invocations to module description.
18443         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
18444         gl_PREREQ_DUPLOCALE invocations from here...
18445         * modules/duplocale (configure.ac): ... to here.
18446
18447 2011-05-05  Bruno Haible  <bruno@clisp.org>
18448
18449         dirfd: Move AC_LIBOBJ invocations to module description.
18450         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
18451         gl_FUNC_DIRFD.
18452         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
18453         here...
18454         * modules/dirfd (configure.ac): ... to here.
18455         (Depends-on): Fix condition.
18456
18457 2011-05-05  Bruno Haible  <bruno@clisp.org>
18458
18459         chown: Respect rules for use of AC_LIBOBJ.
18460         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
18461         * modules/chown (configure.ac): ... to here.
18462
18463 2011-05-05  Bruno Haible  <bruno@clisp.org>
18464
18465         chdir-long: Move AC_LIBOBJ invocations to module description.
18466         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
18467         gl_PREREQ_CHDIR_LONG invocations from here...
18468         * modules/chdir-long (configure.ac): ... to here.
18469
18470 2011-05-05  Bruno Haible  <bruno@clisp.org>
18471
18472         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
18473         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
18474         from here...
18475         * modules/canonicalize-lgpl (configure.ac): ... to here.
18476
18477 2011-05-05  Bruno Haible  <bruno@clisp.org>
18478
18479         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
18480         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
18481         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
18482         REPLACE_CALLOC.
18483         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
18484         * modules/calloc-gnu (configure.ac): Likewise.
18485
18486 2011-05-05  Bruno Haible  <bruno@clisp.org>
18487
18488         btowc: Move AC_LIBOBJ invocations to module description.
18489         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
18490         invocations from here...
18491         * modules/btowc (configure.ac): ... to here.
18492
18493 2011-05-21  Bruno Haible  <bruno@clisp.org>
18494
18495         atexit: Move AC_LIBOBJ invocations to module description.
18496         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
18497         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
18498         here...
18499         * modules/atexit (configure.ac): ... to here.
18500
18501 2011-05-05  Bruno Haible  <bruno@clisp.org>
18502
18503         atoll: Move AC_LIBOBJ invocations to module description.
18504         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
18505         invocations from here...
18506         * modules/atoll (configure.ac): ... to here.
18507
18508 2011-05-05  Bruno Haible  <bruno@clisp.org>
18509
18510         argz: Move AC_LIBOBJ invocations to module description.
18511         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
18512         * modules/argz (configure.ac): ... to here.
18513
18514 2011-05-05  Bruno Haible  <bruno@clisp.org>
18515
18516         alphasort: Move AC_LIBOBJ invocations to module description.
18517         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
18518         gl_PREREQ_ALPHASORT invocations from here...
18519         * modules/alphasort (configure.ac): ... to here.
18520
18521 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
18522
18523         verify: new macro verify_expr; verify_true deprecated
18524         * NEWS: Mention this.
18525         * doc/verify.texi (Compile-time Assertions): Document this.
18526         * lib/verify.h (verify_true): Deprecate.
18527         (verify_expr): New macro.
18528         * tests/test-verify.c (function): Test verify_expr.
18529
18530 2011-06-14  Jim Meyering  <meyering@redhat.com>
18531
18532         init.sh: give more portable redirection-related advice in a comment
18533         * tests/init.sh (stderr_fileno_): Update the advice in comments.
18534         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
18535         for lots of discussion.  Stefano Lattarini suggested the solution
18536         of putting "9>&2" after the command.  Reported by Bruno Haible.
18537
18538 2011-06-13  Bruno Haible  <bruno@clisp.org>
18539
18540         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
18541         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
18542         'none'.
18543
18544 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
18545
18546         ftoastr: use strtof only if HAVE_STRTOF
18547         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
18548         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
18549         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
18550         * modules/ftoastr (configure.ac): Check for strtof.
18551
18552 2011-06-13  Bruno Haible  <bruno@clisp.org>
18553
18554         gnulib-tool: Addendum to 2011-06-08 commit.
18555         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
18556         and --witness-c-macro have been given, augment AM_CPPFLAGS.
18557
18558 2011-06-13  Bruno Haible  <bruno@clisp.org>
18559
18560         fseeko: Provide a non-inline replacement of fseek().
18561         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
18562         * modules/fseeko (Depends-on): Add fseek.
18563         * modules/fseek (License): Change to LGPLv2+.
18564
18565 2011-06-13  Bruno Haible  <bruno@clisp.org>
18566
18567         ftello: Provide a non-inline replacement of ftell().
18568         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
18569         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
18570         not have ftello() (such as on mingw).
18571         * modules/ftello (Depends-on): Add ftell.
18572         * modules/ftell (License): Change to LGPLv2+.
18573
18574 2011-05-07  Bruno Haible  <bruno@clisp.org>
18575
18576         ftell: Move AC_LIBOBJ invocations to module description.
18577         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
18578         * modules/ftell (configure.ac): ... to here.
18579
18580 2011-05-07  Bruno Haible  <bruno@clisp.org>
18581
18582         ftello: Respect rules for use of AC_LIBOBJ.
18583         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
18584         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
18585         here...
18586         * modules/ftello (configure.ac): ... to here.
18587
18588 2011-05-07  Bruno Haible  <bruno@clisp.org>
18589
18590         fseeko: Simplify.
18591         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
18592         (gl_FUNC_FSEEKO): Inline it here.
18593
18594 2011-05-07  Bruno Haible  <bruno@clisp.org>
18595
18596         fseek: Move AC_LIBOBJ invocations to module description.
18597         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
18598         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18599         * modules/fseek (configure.ac): ... to here.
18600
18601 2011-05-07  Bruno Haible  <bruno@clisp.org>
18602
18603         fseek: Respect rules for use of AC_LIBOBJ.
18604         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
18605         here...
18606         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
18607
18608 2011-05-07  Bruno Haible  <bruno@clisp.org>
18609
18610         fseeko: Respect rules for use of AC_LIBOBJ.
18611         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
18612         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
18613         here...
18614         * modules/fseeko (configure.ac): ... to here.
18615
18616 2011-06-13  Bruno Haible  <bruno@clisp.org>
18617
18618         gnulib-tool: Allow comments in the 'Depends-on' section.
18619         * doc/gnulib.texi (Module description): Mention comment syntax in the
18620         Depends-on section.
18621         * gnulib-tool (func_get_dependencies): Filter out comment lines.
18622
18623 2011-06-13  Bruno Haible  <bruno@clisp.org>
18624
18625         file-set.h: guard __attibute__ use, now that it's not always defined
18626         * lib/file-set.h (record_file): Use __attribute__ only with compiler
18627         versions that support it.  This fixes a coreutils build failure with
18628         the vendor cc on HP-UX 11.31.
18629
18630 2011-06-12  Bruno Haible  <bruno@clisp.org>
18631
18632         acl: Add support for HP-UX >= 11.11 JFS ACLs.
18633         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
18634         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
18635         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
18636         (acl, aclsort): New declarations.
18637         (aclv_nontrivial): New declaration.
18638         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
18639         (file_has_acl): Read also the second kind of HP-UX ACLs.
18640         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
18641         kind of HP-UX ACLs if the first kind fails.
18642         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
18643         second kind of HP-UX ACLs.
18644         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
18645         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
18646         agree.
18647         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
18648         hpuxjfs.
18649         Handle hpuxjfs.
18650         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
18651         hpuxjfs.
18652         Handle hpuxjfs.
18653         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
18654         (func_test_same_acls): Use both lsacl and getacl.
18655         Handle hpuxjfs.
18656         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
18657         (func_test_same_acls): Use both lsacl and getacl.
18658         Handle hpuxjfs.
18659
18660 2011-06-12  Bruno Haible  <bruno@clisp.org>
18661
18662         acl: Complete the 2010-08-10 fix.
18663         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
18664         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
18665         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
18666         explicitly.
18667         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
18668         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
18669
18670 2011-06-12  Bruno Haible  <bruno@clisp.org>
18671
18672         spawn-pipe tests: Comments.
18673         * tests/test-spawn-pipe-child.c (main): Update comment.
18674         Reported by James Youngman <jay@gnu.org>.
18675
18676 2011-06-11  James Youngman  <jay@gnu.org>
18677
18678         New module 'stat-size'.
18679         * modules/stat-size: New module.  Provides macros for accessing
18680         file size information in instances of struct stat.  Depends on the
18681         fileblocks module because it calls st_blocks.
18682         * lib/stat-size.h: New file, adapted from coreutils' system.h.
18683         * doc/gnulib.texi: Include stat-size.texi.
18684         * doc/stat-size.texi: Documentation for this module.
18685         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
18686         * m4/fileblocks.m4: Mention that stat-size depends on the call to
18687         AC_STRUCT_ST_BLOCKS.
18688
18689 2011-06-09  Bruno Haible  <bruno@clisp.org>
18690
18691         thread: Support pthreads-win32.
18692         * lib/glthread/thread.h (gl_thread_self): Define differently on
18693         pthreads-win32.
18694         (gl_null_thread): New declaration.
18695         (gl_thread_self_pointer): New macro.
18696         * lib/glthread/thread.c (gl_null_thread): New constant.
18697         * tests/test-lock.c: Use gl_thread_self_pointer instead of
18698         gl_thread_self.
18699         * tests/test-tls.c: Likewise.
18700         Suggested by Paul Eggert. Reported by Eric Blake.
18701
18702 2011-06-09  Bruno Haible  <bruno@clisp.org>
18703
18704         thread: Fix confusion between NULL and 0.
18705         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
18706         Reported by Paul Eggert.
18707
18708 2011-06-09  Bruno Haible  <bruno@clisp.org>
18709
18710         spawn-pipe tests: Avoid test failure on HP-UX 11.
18711         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
18712         is closed.
18713
18714 2011-06-09  Bruno Haible  <bruno@clisp.org>
18715
18716         acl tests: Fix compilation error on HP-UX 11.
18717         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
18718
18719 2011-06-09  Bruno Haible  <bruno@clisp.org>
18720
18721         rmdir: Avoid test failure on HP-UX 10.20.
18722         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
18723         EEXIST.
18724
18725 2011-06-08  Eric Blake  <eblake@redhat.com>
18726
18727         perror: fix test on mingw
18728         * modules/perror-tests (Depends-on): Add dup2.
18729
18730         strerror_r-posix: fix on MacOS
18731         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
18732         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
18733         logic bug.
18734         * lib/strerror_r.c (strerror_r): Fix the bug.
18735         * lib/strerror.c (strerror): Likewise.
18736         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
18737         problem.
18738         * doc/posix-functions/strerror.texi (strerror): Likewise.
18739         * doc/posix-functions/perror.texi (perror): Likewise.
18740         * tests/test-strerror.c (main): Enhance test.
18741         * tests/test-strerror_r.c (main): Likewise.
18742
18743 2011-06-08  Bruno Haible  <bruno@clisp.org>
18744
18745         gnulib-tool: Better isolation between different gnulib-tool invocations.
18746         * gnulib-tool: New option --witness-c-macro.
18747         (witness_c_macro): New variable.
18748         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
18749         AM_CPPFLAGS define it as a C macro.
18750         (func_emit_tests_Makefile_am): Likewise.
18751         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
18752         read it from there.
18753         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
18754         m4_define, not AC_DEFUN.
18755         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
18756         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
18757         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
18758         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
18759         s|...|...|, to substitute the values of the GNULIB_* module indicator
18760         variables.
18761         * modules/dirent (Makefile.am): Likewise.
18762         * modules/fcntl-h (Makefile.am): Likewise.
18763         * modules/iconv-h (Makefile.am): Likewise.
18764         * modules/langinfo (Makefile.am): Likewise.
18765         * modules/locale (Makefile.am): Likewise.
18766         * modules/math (Makefile.am): Likewise.
18767         * modules/netdb (Makefile.am): Likewise.
18768         * modules/poll-h (Makefile.am): Likewise.
18769         * modules/pty (Makefile.am): Likewise.
18770         * modules/search (Makefile.am): Likewise.
18771         * modules/signal (Makefile.am): Likewise.
18772         * modules/spawn (Makefile.am): Likewise.
18773         * modules/stdio (Makefile.am): Likewise.
18774         * modules/stdlib (Makefile.am): Likewise.
18775         * modules/string (Makefile.am): Likewise.
18776         * modules/sys_ioctl (Makefile.am): Likewise.
18777         * modules/sys_select (Makefile.am): Likewise.
18778         * modules/sys_socket (Makefile.am): Likewise.
18779         * modules/sys_stat (Makefile.am): Likewise.
18780         * modules/sys_times (Makefile.am): Likewise.
18781         * modules/sys_utsname (Makefile.am): Likewise.
18782         * modules/sys_wait (Makefile.am): Likewise.
18783         * modules/termios (Makefile.am): Likewise.
18784         * modules/time (Makefile.am): Likewise.
18785         * modules/unistd (Makefile.am): Likewise.
18786         * modules/wchar (Makefile.am): Likewise.
18787
18788 2011-06-08  Eric Blake  <eblake@redhat.com>
18789
18790         strerror: simplify replacement
18791         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
18792         * modules/strerror (configure.ac): No prereqs needed here...
18793         * modules/strerror-override (configure.ac): ...but this needs it.
18794         (Files): Add file for needed prereq macro.
18795
18796 2011-06-08  Bruno Haible  <bruno@clisp.org>
18797
18798         strerror_r-posix: Tweaks.
18799         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
18800         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
18801         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
18802         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
18803         (gl_FUNC_STRERROR_R): ... to here.
18804         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
18805
18806 2011-06-07  Eric Blake  <eblake@redhat.com>
18807
18808         perror: document fixed bugs
18809         * doc/posix-functions/perror.texi (perror): Document recent
18810         patches.
18811
18812 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
18813
18814         stat-time: get_stat_birthtime failure is better-defined
18815         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
18816         return a timestamp whose tv_sec and tv_nsec values are both -1.
18817         Previously, the spec said only that the tv_nsec value was negative.
18818         This upward-compatible change simplifies GNU tar a bit.
18819
18820 2011-06-07  Eric Blake  <eblake@redhat.com>
18821
18822         strerror_r-posix: work around cygwin 1.7.9
18823         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
18824         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
18825         bug without replacing strerror_r.
18826         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
18827         strerror_r is buggy, but without requiring strerror_r compilation.
18828         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
18829
18830         test-perror: relax test to ignore cygwin bug
18831         * tests/test-perror2.c (main): Relax test on requiring detection
18832         of stream errors, and use unbuffered stream.
18833         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
18834         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
18835         * doc/posix-functions/fputc.texi (fputc): Likewise.
18836         * doc/posix-functions/fputs.texi (fputs): Likewise.
18837         * doc/posix-functions/fputws.texi (fputws): Likewise.
18838         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
18839         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
18840         * doc/posix-functions/getopt.texi (getopt): Likewise.
18841         * doc/posix-functions/perror.texi (perror): Likewise.
18842         * doc/posix-functions/printf.texi (printf): Likewise.
18843         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
18844         * doc/posix-functions/psignal.texi (psignal): Likewise.
18845         * doc/posix-functions/putc.texi (putc): Likewise.
18846         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
18847         Likewise.
18848         * doc/posix-functions/putchar.texi (putchar): Likewise.
18849         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
18850         Likewise.
18851         * doc/posix-functions/puts.texi (puts): Likewise.
18852         * doc/posix-functions/putwc.texi (putwc): Likewise.
18853         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
18854         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
18855         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
18856         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
18857         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
18858         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
18859         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
18860         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
18861
18862 2011-05-22  Bruno Haible  <bruno@clisp.org>
18863
18864         strerror: Move AC_LIBOBJ invocations to module description.
18865         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
18866         gl_PREREQ_STRERROR invocations from here...
18867         * modules/strerror (configure.ac): ... to here.
18868
18869 2011-05-21  Bruno Haible  <bruno@clisp.org>
18870
18871         perror: Use common idiom.
18872         * modules/perror (configure.ac): Reorder statements.
18873
18874 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
18875
18876         tests: fix usage message in 'mktempd_'
18877         * tests/init.sh (mktempd_): In the usage message, use literal
18878         'mktempd_', not '$ME' (which is even undefined), as the name of
18879         the subroutine.
18880
18881 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
18882
18883         tests init: new function 'fatal_', for hard errors
18884         Before this patch, the only way offered by tests/init.sh to
18885         properly signal a hard error was the `framework_failure_'
18886         function.  But the error message issued by that function,
18887         as its name would suggest, refers to a set-up failure in the
18888         testsuite, while hard errors can obviously also be due to
18889         other reasons.  The best way to fix this inconsistency is to
18890         introduce a new function with a more general error message.
18891         * tests/init.sh (fatal_): New function.
18892
18893 2011-06-06  Eric Blake  <eblake@redhat.com>
18894
18895         canonicalize-lgpl: use common idiom
18896         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
18897         over newer POSIX -Rf.
18898         Reported by Bruno Haible.
18899
18900         canonicalize-lgpl: work around AIX realpath bug
18901         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
18902         * doc/posix-functions/realpath.texi (realpath): Document it.
18903         Reported by Bruno Haible.
18904
18905         strerror: work around FreeBSD bug
18906         * lib/strerror.c (strerror): Special case 0.
18907         Reported by Bruno Haible.
18908
18909         strerror-override: avoid bloating errno module
18910         * modules/errno (Files, configure.ac): Move replacement strings...
18911         * modules/strerror-override: ...to new module.
18912         * modules/strerror (Depends-on): Add strerror-override.
18913         * modules/strerror_r-posix (Depends-on): Likewise.
18914         * MODULES.html.sh: Document new module.
18915         Reported by Bruno Haible.
18916
18917 2011-06-06  Bruno Haible  <bruno@clisp.org>
18918
18919         spawn-pipe tests: Rename program.
18920         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
18921         * tests/test-spawn-pipe-child.c: Update comment.
18922         * tests/test-spawn-pipe.sh: Update.
18923         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
18924
18925         spawn-pipe tests: Link the child program only against libc.
18926         * tests/test-spawn-pipe-child.c: New file, extracted from
18927         tests/test-spawn-pipe.c.
18928         (main): Expect only one argument.
18929         (is_open): New function, copied from tests/test-pipe.c.
18930         * tests/test-spawn-pipe.c: Don't include <errno.h>.
18931         (child_main): Remove function.
18932         (test_pipe): Pass only one argument to the child program.
18933         (main): Remove child process code. Expect the child program's name as
18934         first argument.
18935         * tests/test-spawn-pipe.sh: Pass the child program's name as first
18936         argument.
18937         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
18938         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
18939         test-spawn-pipe-child against no libraries.
18940
18941 2011-06-06  Bruno Haible  <bruno@clisp.org>
18942
18943         careadlinkat: Avoid mismatch between ssize_t and int.
18944         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
18945         * lib/careadlinkat.c (careadlinkatcwd): Define always.
18946
18947 2011-06-06  Jim Meyering  <meyering@redhat.com>
18948
18949         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
18950         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
18951         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
18952
18953 2011-06-05  Bruno Haible  <bruno@clisp.org>
18954
18955         ansi-c++-opt: Interoperability with libtool.
18956         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
18957         set the variable to "no", not to ":".
18958         * NEWS: Mention the change.
18959
18960 2011-06-05  Bruno Haible  <bruno@clisp.org>
18961
18962         acl: Fix test failure on AIX 7.
18963         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
18964         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
18965
18966 2011-06-05  Bruno Haible  <bruno@clisp.org>
18967
18968         pipe-filter-ii: Fix test failure on AIX and IRIX.
18969         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
18970         with EAGAIN, retry with a smaller buffer size.
18971
18972 2011-06-05  Bruno Haible  <bruno@clisp.org>
18973
18974         localename: Fix link dependencies.
18975         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
18976         * modules/localename-tests (Makefile.am): Link test-localename with
18977         $(LIBTHREAD).
18978
18979 2011-06-05  Bruno Haible  <bruno@clisp.org>
18980
18981         error: Avoid gcc warning.
18982         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
18983
18984 2011-06-05  Bruno Haible  <bruno@clisp.org>
18985
18986         unsetenv: Avoid gcc warning.
18987         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
18988
18989 2011-06-05  Bruno Haible  <bruno@clisp.org>
18990
18991         setenv: Avoid gcc warning.
18992         * lib/setenv.c (setenv): Provide declaration if system lacks it.
18993
18994 2011-06-05  Bruno Haible  <bruno@clisp.org>
18995
18996         sys_select: Ensure memset is declared also on AIX 7.
18997         * lib/sys_select.in.h: Include <string.h> also on AIX.
18998         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
18999         self-contained also on AIX 7.1.
19000
19001 2011-06-04  Jim Meyering  <meyering@redhat.com>
19002
19003         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
19004         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
19005         function name, "error".
19006         (_gl_translatable_diag_func_re): New configurable variable.
19007
19008 2011-06-04  Bruno Haible  <bruno@clisp.org>
19009
19010         getopt: Avoid gcc warning.
19011         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
19012
19013 2011-06-04  Bruno Haible  <bruno@clisp.org>
19014
19015         strerror_r: Fix comments.
19016         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
19017         commit.
19018
19019 2011-06-04  Bruno Haible  <bruno@clisp.org>
19020
19021         perror: Fix compilation error.
19022         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
19023         Undefine fprintf, not sprintf.
19024         * modules/perror (Depends-on): Remove intprops, verify.
19025
19026 2011-06-04  Bruno Haible  <bruno@clisp.org>
19027
19028         setlocale: Enable replacement on Cygwin 1.5.
19029         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
19030         Cygwin 1.5.x.
19031         * doc/posix-functions/setlocale.texi: Mention that the problem with the
19032         LC_CTYPE category also exists on Cygwin 1.5.x.
19033
19034 2011-06-04  Bruno Haible  <bruno@clisp.org>
19035
19036         strerror-override: Don't disable symbol renamings.
19037         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
19038         * lib/strerror-override.c: Include config.h.
19039         (strerror_override): Don't undefine.
19040
19041 2011-06-03  Bruno Haible  <bruno@clisp.org>
19042
19043         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
19044         * lib/localename.h: Update copyright header.
19045         * lib/localename.c: Likewise.
19046         * lib/relocatable.h: Likewise.
19047         * lib/relocatable.c: Likewise.
19048
19049 2011-06-02  Bruno Haible  <bruno@clisp.org>
19050
19051         doc: Fix a module name.
19052         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
19053
19054 2011-06-02  Bruno Haible  <bruno@clisp.org>
19055
19056         pipe2: Remove dependency on 'nonblocking' module.
19057         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
19058         O_NONBLOCK is defined by gnulib.
19059         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
19060         is zero.
19061         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
19062         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
19063         defined by gnulib.
19064         (get_nonblocking_flag): New function.
19065         (main): Test O_NONBLOCK flag only if it is nonzero.
19066         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
19067
19068 2011-06-03  Jim Meyering  <meyering@redhat.com>
19069
19070         maint: three new prohibit-header-without-use rules
19071         Prohibit use of cloexec.h, posixver.h, same.h without use.
19072         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
19073         (sc_prohibit_posixver_without_use): Likewise.
19074         (sc_prohibit_same_without_use): Likewise.
19075
19076 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19077
19078         allocator: 'die' routine is now given requested size
19079         * lib/allocator.h (struct allocator.die): New size arg.
19080         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
19081         If the actual problem is an ssize_t limitation, not a size_t or
19082         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
19083
19084 2011-06-01  Eric Blake  <eblake@redhat.com>
19085
19086         strerror: drop strerror_r dependency
19087         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
19088         * lib/strerror-override.c (strerror_override): ...to new file.
19089         * lib/strerror-override.h: Add prototype.
19090         * lib/strerror-impl.h: Delete.
19091         * lib/strerror.c (strerror): New implementation.
19092         * modules/errno (Files): Add new files.
19093         (configure.ac): Compile new file as appropriate.
19094         * modules/strerror (Files): Drop unused file.
19095         (Depends-on): Drop strerror_r-posix.
19096         * MODULES.html.sh: Document strerror_r-posix.
19097         Requested by Sam Steingold.
19098
19099         perror: call strerror_r directly
19100         * modules/perror (Files): Drop strerror-impl.h.
19101         * lib/perror.c (perror): Use our own stack buffer, rather than
19102         calling a wrapper that uses static storage.
19103         * doc/posix-functions/perror.texi (perror): Document a limitation
19104         of our replacement.
19105
19106         strerror_r: fix includes for FreeBSD
19107         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
19108         since we use abort on some platforms.
19109         Reported by Matthias Bolte.
19110
19111 2011-05-31  Bruno Haible  <bruno@clisp.org>
19112
19113         Fix link errors in tests: openat-die uses gettext-h.
19114         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
19115         against $(LIBINTL).
19116         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
19117         against $(LIBINTL).
19118         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
19119         $(LIBINTL).
19120         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
19121         against $(LIBINTL).
19122         * modules/linkat-tests (Makefile.am): Link test-linkat against
19123         $(LIBINTL).
19124         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
19125         $(LIBINTL).
19126         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
19127         against $(LIBINTL).
19128         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
19129         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
19130         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
19131         $(LIBINTL).
19132         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
19133         $(LIBINTL).
19134         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
19135         $(LIBINTL).
19136         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19137
19138 2011-05-31  Bruno Haible  <bruno@clisp.org>
19139
19140         Fix link errors in tests: wait-process uses gettext-h.
19141         * modules/nonblocking-pipe-tests (Makefile.am): Set
19142         test_nonblocking_pipe_main_LDADD.
19143         * modules/nonblocking-socket-tests (Makefile.am): Link
19144         test-nonblocking-socket-main against $(LIBINTL).
19145         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19146
19147 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
19148
19149         assert-h: work around 'verify' incompatibility
19150         * lib/verify.h: Use @...@ directives, not ifdef.
19151         * modules/assert-h (assert.h): Implement the directives.
19152         (assert.h): Substitute the symbol-prefix more consistently.
19153
19154 2011-05-29  Jim Meyering  <meyering@redhat.com>
19155
19156         trim: remove three superfluous assignments
19157         * lib/trim.c (trim2): Remove three superfluous assignments
19158         and correct brace positioning.
19159
19160 2011-05-29  Bruno Haible  <bruno@clisp.org>
19161
19162         wctype-h: Avoid namespace pollution on Solaris 2.6.
19163         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
19164         identifiers.
19165         * doc/posix-headers/wctype.texi: Mention the problem.
19166         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19167
19168 2011-05-28  Jim Meyering  <meyering@redhat.com>
19169
19170         parse-datetime.y: accommodate -Wstrict-overflow
19171         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
19172         placate -Wstrict-overflow.
19173
19174         trim: avoid a warning from -O2 -Wstrict-overflow
19175         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
19176
19177 2011-05-29  Bruno Haible  <bruno@clisp.org>
19178
19179         gnulib-tool: Fix bug in yesterday's commit.
19180         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
19181         twice.
19182
19183 2011-05-29  Bruno Haible  <bruno@clisp.org>
19184
19185         Allow multiple gnulib generated include files to be combined.
19186         * gnulib-tool (func_compute_include_guard_prefix): New function.
19187         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
19188         ${gl_include_guard_prefix} references.
19189         (func_import, func_create_testdir): Invoke
19190         func_compute_include_guard_prefix.
19191         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
19192         * lib/ctype.in.h: Likewise.
19193         * lib/dirent.in.h: Likewise.
19194         * lib/errno.in.h: Likewise.
19195         * lib/fcntl.in.h: Likewise.
19196         * lib/float.in.h: Likewise.
19197         * lib/getopt.in.h: Likewise.
19198         * lib/iconv.in.h: Likewise.
19199         * lib/langinfo.in.h: Likewise.
19200         * lib/locale.in.h: Likewise.
19201         * lib/math.in.h: Likewise.
19202         * lib/netdb.in.h: Likewise.
19203         * lib/netinet_in.in.h: Likewise.
19204         * lib/poll.in.h: Likewise.
19205         * lib/pthread.in.h: Likewise.
19206         * lib/pty.in.h: Likewise.
19207         * lib/sched.in.h: Likewise.
19208         * lib/se-selinux.in.h: Likewise.
19209         * lib/search.in.h: Likewise.
19210         * lib/signal.in.h: Likewise.
19211         * lib/spawn.in.h: Likewise.
19212         * lib/stdarg.in.h: Likewise.
19213         * lib/stddef.in.h: Likewise.
19214         * lib/stdint.in.h: Likewise.
19215         * lib/stdio.in.h: Likewise.
19216         * lib/stdlib.in.h: Likewise.
19217         * lib/string.in.h: Likewise.
19218         * lib/strings.in.h: Likewise.
19219         * lib/sys_file.in.h: Likewise.
19220         * lib/sys_ioctl.in.h: Likewise.
19221         * lib/sys_select.in.h: Likewise.
19222         * lib/sys_socket.in.h: Likewise.
19223         * lib/sys_stat.in.h: Likewise.
19224         * lib/sys_time.in.h: Likewise.
19225         * lib/sys_times.in.h: Likewise.
19226         * lib/sys_uio.in.h: Likewise.
19227         * lib/sys_utsname.in.h: Likewise.
19228         * lib/sys_wait.in.h: Likewise.
19229         * lib/sysexits.in.h: Likewise.
19230         * lib/termios.in.h: Likewise.
19231         * lib/time.in.h: Likewise.
19232         * lib/unistd.in.h: Likewise.
19233         * lib/wchar.in.h: Likewise.
19234         * lib/wctype.in.h: Likewise.
19235         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
19236         * modules/ctype (Makefile.am): Likewise.
19237         * modules/dirent (Makefile.am): Likewise.
19238         * modules/errno (Makefile.am): Likewise.
19239         * modules/fcntl-h (Makefile.am): Likewise.
19240         * modules/float (Makefile.am): Likewise.
19241         * modules/getopt-posix (Makefile.am): Likewise.
19242         * modules/iconv-h (Makefile.am): Likewise.
19243         * modules/langinfo (Makefile.am): Likewise.
19244         * modules/locale (Makefile.am): Likewise.
19245         * modules/math (Makefile.am): Likewise.
19246         * modules/netdb (Makefile.am): Likewise.
19247         * modules/netinet_in (Makefile.am): Likewise.
19248         * modules/poll-h (Makefile.am): Likewise.
19249         * modules/pthread (Makefile.am): Likewise.
19250         * modules/pty (Makefile.am): Likewise.
19251         * modules/sched (Makefile.am): Likewise.
19252         * modules/search (Makefile.am): Likewise.
19253         * modules/selinux-h (Makefile.am): Likewise.
19254         * modules/signal (Makefile.am): Likewise.
19255         * modules/spawn (Makefile.am): Likewise.
19256         * modules/stdarg (Makefile.am): Likewise.
19257         * modules/stddef (Makefile.am): Likewise.
19258         * modules/stdint (Makefile.am): Likewise.
19259         * modules/stdio (Makefile.am): Likewise.
19260         * modules/stdlib (Makefile.am): Likewise.
19261         * modules/string (Makefile.am): Likewise.
19262         * modules/strings (Makefile.am): Likewise.
19263         * modules/sys_file (Makefile.am): Likewise.
19264         * modules/sys_ioctl (Makefile.am): Likewise.
19265         * modules/sys_select (Makefile.am): Likewise.
19266         * modules/sys_socket (Makefile.am): Likewise.
19267         * modules/sys_stat (Makefile.am): Likewise.
19268         * modules/sys_time (Makefile.am): Likewise.
19269         * modules/sys_times (Makefile.am): Likewise.
19270         * modules/sys_uio (Makefile.am): Likewise.
19271         * modules/sys_utsname (Makefile.am): Likewise.
19272         * modules/sys_wait (Makefile.am): Likewise.
19273         * modules/sysexits (Makefile.am): Likewise.
19274         * modules/termios (Makefile.am): Likewise.
19275         * modules/time (Makefile.am): Likewise.
19276         * modules/unistd (Makefile.am): Likewise.
19277         * modules/wchar (Makefile.am): Likewise.
19278         * modules/wctype-h (Makefile.am): Likewise.
19279         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
19280
19281 2011-05-29  Bruno Haible  <bruno@clisp.org>
19282
19283         assert-h: Allow multiple gnulib generated replacements to coexist.
19284         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
19285
19286 2011-05-29  Bruno Haible  <bruno@clisp.org>
19287
19288         argp: Allow coexistence with strerror_r-posix module.
19289         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
19290         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
19291         by gnulib's <string.h> replacement), assume it has the POSIX signature,
19292         not the glibc signature.
19293
19294 2011-05-28  Bruno Haible  <bruno@clisp.org>
19295
19296         gnulib-tool: Alternative structure of testdirs, similar to --import.
19297         * gnulib-tool: New option --single-configure.
19298         (func_usage): Document it.
19299         (single_configure): New variable.
19300         (func_modules_transitive_closure_separately,
19301         func_modules_transitive_closure_separately,
19302         func_determine_use_libtests, func_modules_add_dummy_separately,
19303         func_modules_to_filelist_separately): New functions, extracted from
19304         func_import.
19305         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
19306         (func_import): Use the new functions.
19307         (func_create_testdir): Set final_modules. Handle $single_configure =
19308         true case.
19309
19310 2011-05-28  Bruno Haible  <bruno@clisp.org>
19311
19312         getloadavg: Remove an unreliable safety check.
19313         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
19314         getloadavg.c is in place.
19315         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
19316         Reported by Sam Steingold <sds@gnu.org>.
19317
19318 2011-05-28  Bruno Haible  <bruno@clisp.org>
19319
19320         doc: Cleanup yet another file produced by texinfo.tex.
19321         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
19322
19323 2011-05-28  Bruno Haible  <bruno@clisp.org>
19324
19325         Finish the conditional dependencies mechanism.
19326         * gnulib-tool: New option --no-conditional-dependencies.
19327         (func_usage): Document it. Don't mark --conditional-dependencies as
19328         experimental.
19329         (cond_dependencies): The possible values can now be true, false, empty.
19330         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
19331         (func_import): Store setting in gnulib-cache.m4 and read it from there.
19332         * doc/gnulib-tool.texi (Conditional dependencies): New section.
19333
19334 2011-05-28  Bruno Haible  <bruno@clisp.org>
19335
19336         doc: Use a recent texinfo.tex.
19337         * doc/Makefile (tex_opts): New variable.
19338         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
19339
19340 2011-05-28  Jim Meyering  <meyering@redhat.com>
19341
19342         intprops.h: adjust comment to match code change
19343         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
19344         only once, it *may* have side effects.  Also fix an unrelated typo.
19345         (_GL_INT_SIGNED): Likewise.
19346
19347 2011-05-26  Simon Josefsson  <simon@josefsson.org>
19348
19349         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
19350
19351 2011-05-26  Bruno Haible  <bruno@clisp.org>
19352
19353         mbsrchr: Avoid collision with system function on Interix.
19354         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
19355         Reported by Markus Duft <mduft@gentoo.org>.
19356
19357 2011-05-15  James Youngman  <jay@gnu.org>
19358
19359         getopt: for ambiguous options, enumerate the possibilities.
19360         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
19361         the ambiguous options when an ambiguous prefix is given. This was
19362         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
19363         glibc change was
19364         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
19365
19366 2011-05-25  Eric Blake  <eblake@redhat.com>
19367
19368         getcwd: work around mingw bug
19369         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
19370         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19371         Reported by Matthias Bolte.
19372
19373 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
19374
19375         test-intprops: disable -Wtype-limits diagnostics
19376         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
19377         diagnostics.  Otherwise, the integer overflow macros generate many
19378         diagnostics.  Reported by Jim Meyering in
19379         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19380
19381         intprops: shorten, to pacify gcc -Woverlength-strings
19382         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
19383         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
19384         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
19385         likely to run afoul of C compiler limits for string constant lengths.
19386         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19387
19388 2011-05-24  Eric Blake  <eblake@redhat.com>
19389
19390         docs: document recently fixed glibc printf bug
19391         * doc/posix-functions/fprintf.texi (fprintf): Document it.
19392         * doc/posix-functions/printf.texi (printf): Likewise.
19393         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19394         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19395
19396         closein-tests: convert to init.sh
19397         * modules/closein-tests (Files): Add init.sh
19398         * tests/test-closein.sh Use it.
19399
19400         yesno-tests: convert to init.sh
19401         * modules/yesno-tests (Files): Add init.sh.
19402         * tests/test-yesno.sh: Use it.
19403
19404         atexit-tests: ensure reliable exit status
19405         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
19406         Reported by Bruno Haible.
19407
19408 2011-05-24  Bruno Haible  <bruno@clisp.org>
19409
19410         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
19411         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
19412         gl_PREREQ_STRERROR_R invocations from here...
19413         * modules/strerror_r-posix (configure.ac): ... to here.
19414
19415 2011-05-24  Eric Blake  <eblake@redhat.com>
19416
19417         strerror_r: fix missing header
19418         * lib/strerror_r.c: Avoid compiler warning about snprintf.
19419
19420         strerror_r: fix AIX test failures
19421         * lib/strerror_r.c (strerror_r): Convert silent truncation to
19422         ERANGE failure.
19423
19424         strerror_r: fix Solaris test failures
19425         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
19426         failures.
19427         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19428
19429         strerror_r: enforce POSIX recommendations
19430         * lib/strerror_r.c (safe_copy): New helper method.
19431         (strerror_r): Guarantee a non-empty string.
19432         * tests/test-strerror_r.c (main): Enhance tests to incorporate
19433         recent POSIX rulings and to match our strerror guarantees.
19434         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19435
19436 2011-05-24  Jim Meyering  <meyering@redhat.com>
19437
19438         test-perror2.c: avoid warning about unused variable
19439         * tests/test-perror2.c (main): Remove declaration of unused "fp".
19440
19441 2011-05-24  Eric Blake  <eblake@redhat.com>
19442
19443         perror: avoid spurious test failure on HP-UX
19444         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
19445
19446         tests: fix logic bug in init.sh
19447         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
19448         shell.
19449
19450 2011-05-24  Jim Meyering  <meyering@redhat.com>
19451
19452         utimensat: do not reference an out-of-scope buffer
19453         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
19454         declared in an inner scope, yet "times" would be dereferenced outside
19455         the scope in which "ts" was valid.
19456         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
19457         of ts[2] "out/up", so that the use of aliased "times" (via
19458         "times = ts;") does not end up referencing an out-of-scope "ts"
19459
19460         opendir-safer.c: don't clobber errno; don't close negative FD
19461         * lib/opendir-safer.c (opendir_safer):
19462         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
19463         file descriptor, and more importantly, don't clobber the
19464         offending errno value with EINVAL.  Before, upon failure
19465         of dup_safer, we would pass the negative file descriptor to
19466         fdopendir, which would clobber errno.
19467
19468 2011-05-23  Bruno Haible  <bruno@clisp.org>
19469
19470         idcache: Fix module description.
19471         * modules/idcache (Include): Set to "idcache.h".
19472
19473 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
19474
19475         gnulib-tool: fix portability problem with MacOS sed
19476         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
19477         before the "}".  Problem reported by Leo in
19478         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
19479         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
19480         sed_extract_condition1, sed_extract_condition2.
19481
19482 2011-05-23  Bruno Haible  <bruno@clisp.org>
19483
19484         hash: Simplify autoconf macro.
19485         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
19486
19487 2011-05-23  Bruno Haible  <bruno@clisp.org>
19488
19489         getugroups: Fix module description.
19490         * modules/getugroups (Include): Set to "getugroups.h".
19491
19492 2011-05-23  Bruno Haible  <bruno@clisp.org>
19493
19494         linkat: Simplify autoconf macro.
19495         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
19496
19497 2011-05-23  Bruno Haible  <bruno@clisp.org>
19498             Eric Blake  <eblake@redhat.com>
19499
19500         linkat, renameat: Update dependencies.
19501         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
19502         * modules/linkat (Depends-on): Likewise. Remove also readlink,
19503         symlinkat.
19504
19505 2011-05-23  Jim Meyering  <meyering@redhat.com>
19506
19507         maint.mk: more tight_scope improvements
19508         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
19509         (_gl_TS_headers): Define only in if-0'd block.
19510         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
19511         sometimes we must *not* use it.  Adjust uses accordingly.
19512         (sc_tight_scope): Use much simpler grep-based test to determine
19513         whether we skip this rule.
19514
19515         maint.mk: generalize/improve the tight-scope rule
19516         * top/maint.mk: Emit a warning when the test is skipped.
19517         (_gl_TS_dir): Add $(srcdir)/ prefix.
19518         (_gl_TS_function_match): Simplify, rather than trying
19519         to enumerate common types.  Otherwise, it would fail to match an
19520         "extern unsigned char const *" declaration in idutils.
19521         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
19522         a way to support use of that type of macro.
19523         (_gl_TS_var_match): Simplify regexp.
19524         (_gl_TS_obj_files): New configurable variable.
19525         (_gl_TS_headers): Likewise.
19526
19527 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
19528
19529         verify: fix bug when gnulib <assert.h> is also included
19530         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
19531         is defined, not if _GL_STATIC_ASSERT_H is not defined.
19532         Perhaps there's a better way, but this fixes the immediate problem.
19533         Problem reported by Bruno Haible in
19534         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
19535
19536 2011-05-22  Bruno Haible  <bruno@clisp.org>
19537
19538         xgetcwd: Simplify autoconf macro.
19539         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
19540
19541 2011-05-22  Bruno Haible  <bruno@clisp.org>
19542
19543         New module 'mktime-internal'.
19544         * modules/mktime-internal: New file.
19545         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
19546         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
19547         mktime_internal as a C macro if libc has __mktime_internal.
19548         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
19549         conditions.
19550         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
19551
19552 2011-05-22  Bruno Haible  <bruno@clisp.org>
19553
19554         timegm: Correct mktime replacement statements.
19555         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
19556         defining mktime as a C macro. This completes a 2009-07-28 commit.
19557
19558 2011-05-22  Bruno Haible  <bruno@clisp.org>
19559
19560         timegm: Simplify autoconf macro.
19561         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
19562
19563 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
19564
19565         clock-time: change to LGPLv2+.
19566         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
19567         BSD-like but we have no mark for that; this is good enough for now.
19568
19569 2011-05-21  Bruno Haible  <bruno@clisp.org>
19570
19571         strerror_r: Fix comments.
19572         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
19573
19574 2011-05-21  Bruno Haible  <bruno@clisp.org>
19575
19576         relocatable-prog-wrapper: Fix possible link error.
19577         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
19578         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
19579         (gl_FUNC_SETENV): ... to here.
19580         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
19581         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
19582
19583 2011-05-21  Bruno Haible  <bruno@clisp.org>
19584
19585         relocatable-prog-wrapper: Assume strerror() exists.
19586         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
19587         m4/strerror.m4.
19588         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
19589         * lib/relocwrapper.c: Remove mention of strerror module.
19590         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
19591         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
19592         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
19593         C macro.
19594
19595 2011-05-21  Bruno Haible  <bruno@clisp.org>
19596
19597         select: Simplify replacement idiom.
19598         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
19599         Win32 platforms.
19600         * lib/sys_select.in.h (select): Simplify accordingly.
19601         * modules/select (Depends-on): Likewise.
19602
19603 2011-05-21  Bruno Haible  <bruno@clisp.org>
19604
19605         mkdir-p: Simplify autoconf macro.
19606         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
19607         gl_FUNC_LCHOWN.
19608
19609 2011-05-21  Eric Blake  <eblake@redhat.com>
19610
19611         strerror_r: avoid clobbering strerror on cygwin
19612         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
19613         fall back instead to sys_errlist.
19614         * modules/strerror (configure.ac): Add witness.
19615         * tests/test-strerror_r.c (main): Enhance test.
19616         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
19617         * tests/test-perror2.c (main): Free memory before exit.
19618
19619 2011-05-21  Bruno Haible  <bruno@clisp.org>
19620
19621         mkdtemp: Use gnulib naming conventions.
19622         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
19623         * modules/mkdtemp (configure.ac): Update.
19624
19625 2011-05-20  Eric Blake  <eblake@redhat.com>
19626
19627         strerror_r: avoid corrupting errno on Solaris
19628         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
19629         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
19630
19631         strerror_r: avoid compiler warning
19632         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
19633
19634         strerror_r: simplify AIX code
19635         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
19636
19637         test-perror: avoid spurious failure on FreeBSD
19638         * modules/perror-tests (Depends-on): Add strerror, now that
19639         strerror_r no longer pulls it in.
19640
19641 2011-05-20  Bruno Haible  <bruno@clisp.org>
19642
19643         strerror_r-posix: Remove unused dependencies.
19644         * modules/strerror_r-posix (Depends-on): Remove strerror.
19645         Reported by Eric Blake.
19646
19647 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19648
19649         intprops: remove assumption about A|B representation
19650         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
19651         is a valid integer if both A and B are.  Although this is true for
19652         all known practical hosts, the C standard doesn't guarantee it,
19653         and the code need not assume it.  Also, this change may work around
19654         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
19655         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
19656
19657 2011-05-20  Eric Blake  <eblake@redhat.com>
19658
19659         perror: work around FreeBSD bug
19660         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
19661         is broken.  Move AC_LIBOBJ...
19662         * modules/perror (configure.ac): Here.
19663         * doc/posix-functions/perror.texi (perror): Document this.
19664         * tests/test-perror2.c (main): Enhance test.
19665
19666         test-perror: check for strerror interactions
19667         * tests/macros.h (STREQ): Add macro.
19668         * modules/perror-tests (Files): Add second test.
19669         * tests/test-perror2.c (main): New file.
19670         * doc/posix-functions/perror.texi (perror): Document glibc bug.
19671
19672         test-perror: rewrite to use init script
19673         * modules/perror-tests (Files): Add init.sh.
19674         * tests/test-perror.sh: Use temporary directory.
19675
19676 2011-05-20  Jim Meyering  <meyering@redhat.com>
19677
19678         maint: replace misused "a" with "an"
19679         * doc/intprops.texi: "a integer"
19680         * doc/regex.texi: "a explanation"
19681         * lib/alignof.h: "a object"
19682         * lib/argmatch.h: "a explanation"
19683         * lib/argp-help.c: "a option" and "a OPTION_DOC"
19684         * lib/stdint.in.h: "a integer"
19685         * lib/userspec.c: "a owner"
19686         * doc/gnulib.texi: Fix "a idea", and reword.
19687
19688 2011-05-19  Jim Meyering  <meyering@redhat.com>
19689
19690         maint: correct misuse of "a" and "an"
19691         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
19692         * lib/argp-help.c: "an docum...": s/an/a/
19693         * lib/argp-parse.c: "An vector": s/An/A/
19694         * lib/execute.c: "an native": s/an/a/
19695         * lib/spawn-pipe.c: Likewise.
19696         * lib/gc.h: "an Gc_rc": s/an/a/
19697         * lib/unigbrk.in.h: "an grapheme": s/an/a/
19698         * lib/fts.c: "an stat.st_dev": s/an/a/
19699
19700 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19701
19702         intprops-tests: work around HP-UX 11.23 cc bug with constants
19703         * tests/test-intprops.c (VERIFY): New macro.
19704         (main): Use it, instead of verify, to work around the compiler bug; see
19705         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
19706
19707         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
19708         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
19709         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
19710         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
19711         (_GL_REMAINDER_OVERFLOW): Use it.
19712
19713         intprops-tests: revert unsigned part of previous change
19714         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
19715         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
19716         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
19717         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
19718
19719 2011-05-19  Bruno Haible  <bruno@clisp.org>
19720
19721         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
19722         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
19723         strerror_r() returned without filling the buffer.
19724         Reported by Eric Blake.
19725
19726 2011-05-19  Eric Blake  <eblake@redhat.com>
19727
19728         strerror_r: guarantee unchanged errno
19729         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
19730         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
19731         failure.
19732         * tests/test-strerror_r.c (main): Enhance test.
19733
19734 2011-05-19  Bruno Haible  <bruno@clisp.org>
19735
19736         strerror_r: Reorder #if blocks.
19737         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
19738         for consistency with the previous commit.
19739
19740 2011-05-19  Bruno Haible  <bruno@clisp.org>
19741
19742         perror: Avoid clobbering the strerror buffer when possible.
19743         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
19744         * lib/strerror.c: Include it.
19745         * modules/strerror (Files): Add lib/strerror-impl.h.
19746         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
19747         (my_strerror): New function, defined through lib/strerror-impl.h.
19748         (perror): Use it instead of strerror.
19749         * modules/perror (Files): Add lib/strerror-impl.h.
19750         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
19751
19752 2011-05-19  Eric Blake  <eblake@redhat.com>
19753
19754         strerror_r: fix on newer cygwin
19755         * lib/strerror_r.c (strerror_r): Cygwin now has
19756         __xpg_strerror_r, use it.
19757
19758 2011-05-19  Bruno Haible  <bruno@clisp.org>
19759
19760         strerror_r: Avoid clobbering the strerror buffer when possible.
19761         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
19762         (sys_nerr, sys_errlist): New declarations.
19763         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
19764         HP-UX, native Win32, IRIX, and 32-bit Solaris.
19765         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
19766
19767 2011-05-19  Bruno Haible  <bruno@clisp.org>
19768
19769         strerror_r: Fix test failure on mingw.
19770         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
19771         EXTEND_STRERROR_R.
19772         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
19773         macros from errno.in.h instead.
19774
19775 2011-05-19  Eric Blake  <eblake@redhat.com>
19776
19777         strerror: relax test for Solaris
19778         * tests/test-strerror.c (main): Permit Solaris behavior.
19779         * tests/test-strerror_r.c (main): Likewise.
19780
19781         strerror: enforce POSIX ruling on strerror(0)
19782         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
19783         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
19784         * lib/strerror_r.c (rpl_strerror_r): Work around it.
19785         * doc/posix-functions/strerror.texi (strerror): Document it.
19786         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
19787         * tests/test-strerror.c (main): Strengthen test.
19788         * tests/test-strerror_r.c (main): Likewise.
19789
19790 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19791
19792         intprop-tests: port to older and more-pedantic compilers
19793         * modules/intprops-tests (Files): Add tests/macros.h.
19794         * tests/test-intprops.c: Include macros.h.
19795         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
19796         it's no longer documented to expand to an integer constant expression.
19797         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
19798         argument is floating point, as it's no longer documented to expand
19799         to an integer constant expression in that case.
19800         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
19801         compiler bugs reported by Bruno Haible.  See
19802         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
19803         (U0, U1): New constants, to work around the same bugs.  Also,
19804         in tests, use e.g., "(unsigned int) 39" rather than "39u".
19805
19806         intprops: work around C compiler bugs
19807         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
19808         bug in Sun C 5.11 2010/08/13 and other compilers; see
19809         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
19810
19811         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
19812         * doc/intprops.texi (Integer Type Determination): Fix
19813         documentation for TYPE_IS_INTEGER: it returns an constant
19814         expression, not an integer constant expression.  Fix doc for
19815         TYPE_SIGNED: it returns an integer constant expression only if its
19816         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
19817         hardly worth documented that way....)
19818
19819 2011-05-18  Bruno Haible  <bruno@clisp.org>
19820
19821         strerror_r: Avoid clobbering the strerror buffer when possible.
19822         * lib/strerror_r.c (strerror_r): Merge the three implementations.
19823         Handle gnulib defined errno values here. When strerror() returns NULL
19824         or an empty string, return EINVAL.
19825         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
19826         gnulib defined errno values here.
19827         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
19828
19829 2011-05-18  Eric Blake  <eblake@redhat.com>
19830
19831         fnmatch: avoid compiler warning
19832         * lib/fnmatch_loop.c (FCT): Use correct type.
19833         Reported by Matthias Bolte.
19834
19835 2011-05-13  Jim Meyering  <meyering@redhat.com>
19836
19837         maint.mk: three new prohibit_<HDR>_without_use rules
19838         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
19839         (sc_prohibit_stdio-safer_without_use): Likewise.
19840         (sc_prohibit_xfreopen_without_use): Likewise.
19841
19842 2011-05-17  Jim Meyering  <meyering@redhat.com>
19843
19844         announce-gen: fail if the NEWS delta is empty
19845         If there's nothing noteworthy in NEWS, then either you forgot
19846         or you shouldn't be releasing.
19847         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
19848
19849 2011-05-17  Pádraig Brady <P@draigBrady.com>
19850
19851         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
19852         reserved symbols starting with double underscore from the check.
19853
19854 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
19855
19856         intprops: add doc
19857         * doc/intprops.texi: New file, documenting intprops.
19858         * doc/gnulib.texi (Particular Modules): Include it.
19859
19860         verify: add doc to gnulib manual and fix example
19861         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
19862         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
19863         (Compile-time Assertions): Fix example so it can't overflow.
19864
19865 2011-05-17  Jim Meyering  <meyering@redhat.com>
19866
19867         warnings.m4: don't usurp save_CPPFLAGS variable name
19868         * m4/warnings.m4: Prefix local temporary variable name with gl_.
19869
19870         doc: fix typo
19871         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
19872
19873 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19874             Bruno Haible  <bruno@clisp.org>
19875
19876         doc: Tweak recent change.
19877         * README (Portability guidelines): Tweak new text.
19878         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
19879         Interix 6.1.
19880
19881 2011-05-16  Eric Blake  <eblake@redhat.com>
19882
19883         inttypes: avoid autoconf warning
19884         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
19885         * m4/stdint.m4 (gl_STDINT_H): Likewise.
19886
19887 2011-05-16  Sam Steingold <sds@gnu.org>
19888         and Eric Blake  <eblake@redhat.com>
19889
19890         vc-list-files: accept multiple directory operands
19891         * build-aux/vc-list-files: Iterate over all remaining operands.
19892
19893 2011-05-16  Bruno Haible  <bruno@clisp.org>
19894
19895         Fix confusion regarding deprecated modules.
19896         * modules/calloc (Status, Notice): Mark module as deprecated, not
19897         obsolete.
19898         * modules/fnmatch-posix (Status, Notice): Likewise.
19899         * modules/getdate (Status, Notice): Likewise.
19900         * modules/getopt (Status, Notice): Likewise.
19901         * modules/malloc (Status, Notice): Likewise.
19902         * modules/pipe (Status, Notice): Likewise.
19903         * modules/realloc (Status, Notice): Likewise.
19904         * modules/rename-dest-slash (Status, Notice): Likewise.
19905         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
19906         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
19907         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
19908         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
19909         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
19910
19911 2011-05-16  Bruno Haible  <bruno@clisp.org>
19912
19913         doc: List the target platforms.
19914         * doc/gnulib-intro.texi (Target Platforms): New section.
19915         * doc/gnulib.texi (Introduction): Update menu.
19916         * README (Portability guidelines): Refer to the new section. Update
19917         statement about oldest supported environment. Remove rationale why
19918         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
19919         unportable C89 function.
19920         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
19921         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
19922
19923 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19924
19925         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
19926
19927 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
19928
19929         intprops-tests: new module
19930         * modules/intprops-tests, tests/test-intprops.c: New files.
19931
19932         intprops: add safe, portable integer overflow checking
19933         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
19934         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
19935         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
19936         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
19937         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
19938         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
19939         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
19940         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
19941         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
19942         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
19943         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
19944
19945 2011-05-12  James Youngman  <jay@gnu.org>
19946
19947         Add a test for glibc's Bugzilla bug #12378.
19948         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
19949         doesn't allow the literal matching of a lone "[" (which is
19950         required by POSIX).
19951         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
19952
19953 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
19954
19955         Sync glibc change fixing Bugzilla bug #12378.
19956         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
19957         beginning and fall back to matching as normal character if the
19958         string ends before the matching ']' is found.  This is what POSIX
19959         requires.
19960
19961 2011-05-13  Eric Blake  <eblake@redhat.com>
19962
19963         getcwd-lgpl: relax test for FreeBSD
19964         * doc/posix-functions/getcwd.texi (getcwd): Document portability
19965         issue.
19966         * tests/test-getcwd-lgpl.c (main): Relax test.
19967         Reported by Matthias Bolte.
19968
19969 2011-05-11  Eric Blake  <eblake@redhat.com>
19970
19971         test-fflush: silence compiler warning
19972         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
19973
19974 2011-05-11  Bruno Haible  <bruno@clisp.org>
19975
19976         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
19977         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
19978         * modules/canonicalize (Depends-on): Add 'nocrash'.
19979         * modules/canonicalize-lgpl (Depends-on): Likewise.
19980         * doc/posix-functions/realpath.texi: Update platforms list.
19981         Reported by Ryan Schmidt <ryandesign@macports.org>.
19982
19983 2011-05-11  Bruno Haible  <bruno@clisp.org>
19984
19985         group-member: Declare function in <unistd.h>.
19986         * lib/unistd.in.h (group_member): New declaration.
19987         * lib/group-member.h: Remove file.
19988         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
19989         * tests/test-unistd-c++.cc: Check signature of group_member.
19990         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
19991         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
19992         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
19993         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
19994         HAVE_GROUP_MEMBER.
19995         * modules/group-member (Files): Remove lib/group-member.h.
19996         (Depends-on): Add unistd. Specify conditions.
19997         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
19998         (Include): Change to <unistd.h>.
19999         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
20000         HAVE_GROUP_MEMBER.
20001         * NEWS: Mention the change.
20002         * lib/euidaccess.c: Don't include group-member.h.
20003
20004 2011-05-11  Bruno Haible  <bruno@clisp.org>
20005
20006         group-member: Document module.
20007         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
20008         module.
20009
20010 2011-05-11  Bruno Haible  <bruno@clisp.org>
20011
20012         fclose: Fix mistake earlier today.
20013         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
20014
20015 2011-05-11  Eric Blake  <eblake@redhat.com>
20016
20017         fclose: preserve fflush errors
20018         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
20019         Reported by Jim Meyering.
20020
20021         bootstrap: support a prereq of 'rpcgen -' on RHEL5
20022         * build-aux/bootstrap (check_versions): When no specific version
20023         is required, merely check that the app produces an exit status
20024         that indicates its existence.
20025
20026         maint.mk: drop redundant check
20027         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
20028         the same but better.
20029
20030 2011-05-11  Bruno Haible  <bruno@clisp.org>
20031
20032         fclose: Fix possible link error.
20033         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
20034         unregister_shadow_fd. Improve comments.
20035         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
20036         Eric Blake.
20037
20038 2011-05-11  Jim Meyering  <meyering@redhat.com>
20039
20040         maint.mk: improve "can not" detection and generalize rule name
20041         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
20042         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
20043         Use the same technique as in sc_prohibit_doubled_word, so that
20044         we recognize "can not" also when the words are separated by a newline.
20045         Suggested by Eric Blake.
20046         (perl_filename_lineno_text_): Define.  Factored out of...
20047         (prohibit_doubled_word_): ...here.  Use the new definition.
20048         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
20049         (prohibit_undesirable_word_seq_RE_): New overridable variable.
20050         (ignore_undesirable_word_sequence_RE_): New overridable variable.
20051
20052 2011-05-10  Eric Blake  <eblake@redhat.com>
20053
20054         fclose: avoid double close race when possible
20055         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
20056         all but WINDOWS_SOCKETS.
20057
20058 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
20059
20060         openat: correct new comment
20061         * lib/openat-proc.c (openat_proc_name): Correct the comment.
20062
20063 2011-05-10  Jim Meyering  <meyering@redhat.com>
20064
20065         openat: add comments
20066         * lib/openat-proc.c (openat_proc_name): Add comments,
20067         mostly from Eric Blake.
20068
20069 2011-05-09  Eric Blake  <eblake@redhat.com>
20070
20071         openat: reduce syscalls in first probe of /proc
20072         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
20073         be a directory.  Simplify the probe for .. bugs.
20074         * modules/openat (Depends-on): Drop same-inode.
20075         Reported by Bastien ROUCARIES.
20076
20077 2011-05-09  Jim Meyering  <meyering@redhat.com>
20078
20079         maint.mk: change semantics/name of tight_scope variables
20080         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
20081         Rename variables to align with semantics that make them more useful.
20082
20083         maint.mk: tweak new rule's name not to impinge
20084         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
20085         (sc_tight_scope): Use new rule name rather than $@-0.
20086
20087         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
20088         * top/maint.mk (sc_tight_scope): New rule.
20089         (sc_tight_scope-0): New rule, ifdef'd out.
20090         (_gl_TS_dir): Default.
20091         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
20092         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
20093
20094 2011-05-09  Simon Josefsson  <simon@josefsson.org>
20095
20096         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
20097         Haible <bruno@clisp.org>.
20098
20099 2011-05-08  Bruno Haible  <bruno@clisp.org>
20100
20101         Comments.
20102         * m4/isnanf.m4: Add comment.
20103         * m4/isnanl.m4: Likewise.
20104
20105 2011-05-08  Bruno Haible  <bruno@clisp.org>
20106
20107         glob: Remove obsolete macro.
20108         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
20109
20110 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
20111
20112         intprops: Sun C 5.11 supports __typeof__
20113         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
20114         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
20115         which is new.
20116         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
20117
20118         intprops: switch to usual gnulib indenting and naming
20119         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
20120         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
20121
20122         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
20123
20124 2011-05-08  Jim Meyering  <meyering@redhat.com>
20125
20126         maint.mk: suppress "Entering/Leaving directory" diag in announcement
20127         * top/maint.mk (release-prep): Use make's --no-print-directory
20128         option when generating the announcement.  This eliminates the
20129         pesky "make[2]: Entering/Leaving directory" diagnostics in the
20130         generated announcement template.
20131
20132 2011-05-08  Bruno Haible  <bruno@clisp.org>
20133
20134         tzset: Fix gettimeofday wrapper on Solaris 2.6.
20135         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
20136         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
20137
20138 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20139
20140         ignore-value, verify: Omit include files from lib_SOURCES.
20141         * modules/ignore-value, modules/verify (Makefile.am):
20142         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
20143         that leads Automake to duplicate use of am__objects_... variables
20144         in Makefile.in.  See
20145         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
20146
20147 2011-05-07  Bruno Haible  <bruno@clisp.org>
20148
20149         fclose: Simplify autoconf macro.
20150         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
20151         defined.
20152
20153 2011-05-07  Bruno Haible  <bruno@clisp.org>
20154
20155         canonicalize-lgpl: Fix autoconf macro ordering bug.
20156         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
20157         gl_STDLIB_H_DEFAULTS.
20158
20159 2011-05-06  Eric Blake  <eblake@redhat.com>
20160
20161         maintainer-makefile: make sc_po_check easier to tune
20162         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
20163         to probe for strings, such as an alternate location for gnulib.
20164
20165         fclose: guarantee behavior on seekable stdin
20166         * modules/fclose (Depends-on): Add fflush.
20167         * doc/posix-functions/fclose.texi (fclose): Document this.
20168         * tests/test-fclose.c (main): Make test for this unconditional.
20169
20170 2011-05-06  Bruno Haible  <bruno@clisp.org>
20171
20172         fflush, fpurge: Relicense under LGPLv2+.
20173         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
20174         * modules/fpurge (License): Likewise.
20175         With permission from Eric Blake and Jim Meyering.
20176         Suggested by Eric Blake.
20177
20178 2011-05-06  Karl Berry  <karl@gnu.org>
20179
20180         * MODULES.html.sh (func_all_modules): remove exit.
20181
20182 2011-05-06  Jim Meyering  <meyering@redhat.com>
20183
20184         maint.mk: use info-gnu@ as the default only for a stable release
20185         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
20186         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
20187         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
20188         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
20189
20190 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20191
20192         assert-h: new module, which supports C1X-style static_assert
20193         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
20194         * lib/verify.h: Revamp so that this can be copied into assert.h,
20195         while retaining the ability to use it standalone as before.
20196         Rename private identifiers so as not to encroach on the
20197         standard C namespace, since this is now used by assert.h.
20198         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
20199         the old verify_true.
20200         (_GL_VERIFY_TRUE): New macro, with much of the contents of
20201         the old verify_true.  Use _GL_VERIFY_TYPE.
20202         (_GL_VERIFY): New macro, with much of the contents of the old verify.
20203         (static_assert): New macro, if _GL_STATIC_ASSERT_H
20204         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
20205         defined when this file is copied into the replacement assert.h.
20206         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
20207         and _Static_assert is not built in.
20208         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
20209         defined, and use the new macros mentioned above.
20210         * doc/posix-headers/assert.texi: Document this.
20211
20212 2011-05-05  Bruno Haible  <bruno@clisp.org>
20213
20214         fclose, fflush: Respect rules for use of AC_LIBOBJ.
20215         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
20216         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
20217         gl_REPLACE_FCLOSE here.
20218         * modules/fflush (Depends-on): Remove fclose.
20219         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
20220         combination with module 'fclose'.
20221
20222 2011-05-05  Bruno Haible  <bruno@clisp.org>
20223
20224         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
20225         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
20226         gl_FUNC_FFLUSH.
20227         (gl_FUNC_FFLUSH): Use it.
20228         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
20229         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
20230         gl_REPLACE_FSEEKO here.
20231
20232 2011-05-05  Bruno Haible  <bruno@clisp.org>
20233
20234         tzset: Relicense under LGPL.
20235         * modules/tzset (License): Change to LGPL.
20236         No agreement needed; it's a no-op.
20237
20238         strtoimax, strtoumax: Relicense under LGPL.
20239         * modules/strtoimax (License): Change to LGPL.
20240         * modules/strtoumax (License): Likewise.
20241         With permission from Jim Meyering, Paul Eggert:
20242         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
20243         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
20244
20245         getgroups: Relicense under LGPL.
20246         * modules/getgroups (License): Change to LGPL.
20247         With permission from Jim Meyering, Paul Eggert, Eric Blake:
20248         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20249         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20250         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20251
20252         nanosleep: Relicense under LGPL.
20253         * modules/nanosleep (License): Change to LGPL.
20254         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
20255         Haible:
20256         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20257         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20258         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20259         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20260
20261         futimens: Relicense under LGPL.
20262         * modules/futimens (License): Change to LGPL.
20263         With permission from Eric Blake:
20264         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20265
20266         fflush: Relicense under LGPL.
20267         * modules/fflush (License): Change to LGPL.
20268         With permission from Eric Blake, Bruno Haible, Jim Meyering:
20269         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20270         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20271         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
20272
20273         tmpfile: Relicense under LGPL.
20274         * modules/tmpfile (License): Change to LGPL.
20275         With permission from Ben Pfaff:
20276         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20277
20278         isfinite: Relicense under LGPL.
20279         * modules/isfinite (License): Change to LGPL.
20280         With permission from Ben Pfaff, Bruno Haible:
20281         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20282         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
20283
20284         acosl..tanl: Relicense under LGPL.
20285         * modules/acosl (License): Change to LGPL.
20286         * modules/asinl (License): Likewise.
20287         * modules/atanl (License): Likewise.
20288         * modules/cosl (License): Likewise.
20289         * modules/expl (License): Likewise.
20290         * modules/logl (License): Likewise.
20291         * modules/sinl (License): Likewise.
20292         * modules/sqrtl (License): Likewise.
20293         * modules/tanl (License): Likewise.
20294         Source code originally from glibc and Paolo Bonzini. Agreements:
20295         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
20296         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
20297
20298 2011-05-05  Bruno Haible  <bruno@clisp.org>
20299
20300         signal: Define sighandler_t.
20301         * lib/signal.in.h (sighandler_t): New type.
20302         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
20303         whether sighandler_t is defined.
20304         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
20305         * modules/signal (Depends-on): Add extensions.
20306         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
20307         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
20308         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
20309
20310 2011-05-05  Eric Blake  <eblake@redhat.com>
20311
20312         maint: remove useless REPLACE_*_H macros
20313         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
20314         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
20315         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
20316         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
20317         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
20318         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
20319         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
20320         * m4/btowc.m4: Update callers.
20321         * m4/dirfd.m4: Likewise.
20322         * m4/duplocale.m4: Likewise.
20323         * m4/fchdir.m4: Likewise.
20324         * m4/fdopendir.m4: Likewise.
20325         * m4/inet_ntop.m4: Likewise.
20326         * m4/inet_pton.m4: Likewise.
20327         * m4/ioctl.m4: Likewise.
20328         * m4/mbrlen.m4: Likewise.
20329         * m4/mbrtowc.m4: Likewise.
20330         * m4/mbsinit.m4: Likewise.
20331         * m4/mbsnrtowcs.m4: Likewise.
20332         * m4/mbsrtowcs.m4: Likewise.
20333         * m4/poll.m4: Likewise.
20334         * m4/setlocale.m4: Likewise.
20335         * m4/wcrtomb.m4: Likewise.
20336         * m4/wcsnrtombs.m4: Likewise.
20337         * m4/wcsrtombs.m4: Likewise.
20338         * m4/wctob.m4: Likewise.
20339         * m4/wcwidth.m4: Likewise.
20340         * modules/posix_spawn: Likewise.
20341         * modules/posix_spawn_file_actions_addclose: Likewise.
20342         * modules/posix_spawn_file_actions_adddup2: Likewise.
20343         * modules/posix_spawn_file_actions_addopen: Likewise.
20344         * modules/posix_spawn_file_actions_destroy: Likewise.
20345         * modules/posix_spawn_file_actions_init: Likewise.
20346         * modules/posix_spawnattr_destroy: Likewise.
20347         * modules/posix_spawnattr_getflags: Likewise.
20348         * modules/posix_spawnattr_getpgroup: Likewise.
20349         * modules/posix_spawnattr_getschedparam: Likewise.
20350         * modules/posix_spawnattr_getschedpolicy: Likewise.
20351         * modules/posix_spawnattr_getsigdefault: Likewise.
20352         * modules/posix_spawnattr_getsigmask: Likewise.
20353         * modules/posix_spawnattr_init: Likewise.
20354         * modules/posix_spawnattr_setflags: Likewise.
20355         * modules/posix_spawnattr_setpgroup: Likewise.
20356         * modules/posix_spawnattr_setschedparam: Likewise.
20357         * modules/posix_spawnattr_setschedpolicy: Likewise.
20358         * modules/posix_spawnattr_setsigdefault: Likewise.
20359         * modules/posix_spawnattr_setsigmask: Likewise.
20360         * modules/posix_spawnp: Likewise.
20361
20362 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
20363
20364         Add option to do-release-commit-and-tag to specify branch.
20365         * build-aux/do-release-commit-and-tag: Add --branch.
20366
20367 2011-05-03  Bruno Haible  <bruno@clisp.org>
20368
20369         Avoid unnecessary compilation units, through conditional dependencies.
20370         * modules/accept (Depends-on): Add conditions to the dependencies.
20371         * modules/acosl (Depends-on): Likewise.
20372         * modules/argz (Depends-on): Likewise.
20373         * modules/asinl (Depends-on): Likewise.
20374         * modules/atanl (Depends-on): Likewise.
20375         * modules/atoll (Depends-on): Likewise.
20376         * modules/bind (Depends-on): Likewise.
20377         * modules/btowc (Depends-on): Likewise.
20378         * modules/canonicalize-lgpl (Depends-on): Likewise.
20379         * modules/ceil (Depends-on): Likewise.
20380         * modules/ceilf (Depends-on): Likewise.
20381         * modules/ceill (Depends-on): Likewise.
20382         * modules/chdir-long (Depends-on): Likewise.
20383         * modules/chown (Depends-on): Likewise.
20384         * modules/close (Depends-on): Likewise.
20385         * modules/connect (Depends-on): Likewise.
20386         * modules/cosl (Depends-on): Likewise.
20387         * modules/dirfd (Depends-on): Likewise.
20388         * modules/dprintf (Depends-on): Likewise.
20389         * modules/dprintf-posix (Depends-on): Likewise.
20390         * modules/error (Depends-on): Likewise.
20391         * modules/euidaccess (Depends-on): Likewise.
20392         * modules/expl (Depends-on): Likewise.
20393         * modules/faccessat (Depends-on): Likewise.
20394         * modules/fchdir (Depends-on): Likewise.
20395         * modules/fclose (Depends-on): Likewise.
20396         * modules/fcntl (Depends-on): Likewise.
20397         * modules/fdopendir (Depends-on): Likewise.
20398         * modules/fflush (Depends-on): Likewise.
20399         * modules/floor (Depends-on): Likewise.
20400         * modules/floorf (Depends-on): Likewise.
20401         * modules/floorl (Depends-on): Likewise.
20402         * modules/fnmatch (Depends-on): Likewise.
20403         * modules/fopen (Depends-on): Likewise.
20404         * modules/fprintf-posix (Depends-on): Likewise.
20405         * modules/frexp (Depends-on): Likewise.
20406         * modules/frexp-nolibm (Depends-on): Likewise.
20407         * modules/frexpl (Depends-on): Likewise.
20408         * modules/frexpl-nolibm (Depends-on): Likewise.
20409         * modules/fseek (Depends-on): Likewise.
20410         * modules/fsusage (Depends-on): Likewise.
20411         * modules/ftell (Depends-on): Likewise.
20412         * modules/ftello (Depends-on): Likewise.
20413         * modules/futimens (Depends-on): Likewise.
20414         * modules/getcwd (Depends-on): Likewise.
20415         * modules/getcwd-lgpl (Depends-on): Likewise.
20416         * modules/getdelim (Depends-on): Likewise.
20417         * modules/getdomainname (Depends-on): Likewise.
20418         * modules/getgroups (Depends-on): Likewise.
20419         * modules/gethostname (Depends-on): Likewise.
20420         * modules/getline (Depends-on): Likewise.
20421         * modules/getlogin_r (Depends-on): Likewise.
20422         * modules/getopt-posix (Depends-on): Likewise.
20423         * modules/getpeername (Depends-on): Likewise.
20424         * modules/getsockname (Depends-on): Likewise.
20425         * modules/getsockopt (Depends-on): Likewise.
20426         * modules/getsubopt (Depends-on): Likewise.
20427         * modules/getusershell (Depends-on): Likewise.
20428         * modules/glob (Depends-on): Likewise.
20429         * modules/grantpt (Depends-on): Likewise.
20430         * modules/iconv_open (Depends-on): Likewise.
20431         * modules/iconv_open-utf (Depends-on): Likewise.
20432         * modules/inet_ntop (Depends-on): Likewise.
20433         * modules/inet_pton (Depends-on): Likewise.
20434         * modules/ioctl (Depends-on): Likewise.
20435         * modules/isapipe (Depends-on): Likewise.
20436         * modules/isfinite (Depends-on): Likewise.
20437         * modules/isinf (Depends-on): Likewise.
20438         * modules/lchown (Depends-on): Likewise.
20439         * modules/ldexpl (Depends-on): Likewise.
20440         * modules/link (Depends-on): Likewise.
20441         * modules/linkat (Depends-on): Likewise.
20442         * modules/listen (Depends-on): Likewise.
20443         * modules/logl (Depends-on): Likewise.
20444         * modules/lstat (Depends-on): Likewise.
20445         * modules/mbrlen (Depends-on): Likewise.
20446         * modules/mbrtowc (Depends-on): Likewise.
20447         * modules/mbsinit (Depends-on): Likewise.
20448         * modules/mbsnrtowcs (Depends-on): Likewise.
20449         * modules/mbsrtowcs (Depends-on): Likewise.
20450         * modules/mbtowc (Depends-on): Likewise.
20451         * modules/memcmp (Depends-on): Likewise.
20452         * modules/mkdir (Depends-on): Likewise.
20453         * modules/mkdtemp (Depends-on): Likewise.
20454         * modules/mkfifo (Depends-on): Likewise.
20455         * modules/mkfifoat (Depends-on): Likewise.
20456         * modules/mknod (Depends-on): Likewise.
20457         * modules/mkostemp (Depends-on): Likewise.
20458         * modules/mkostemps (Depends-on): Likewise.
20459         * modules/mkstemp (Depends-on): Likewise.
20460         * modules/mkstemps (Depends-on): Likewise.
20461         * modules/mktime (Depends-on): Likewise.
20462         * modules/nanosleep (Depends-on): Likewise.
20463         * modules/open (Depends-on): Likewise.
20464         * modules/openat (Depends-on): Likewise.
20465         * modules/perror (Depends-on): Likewise.
20466         * modules/poll (Depends-on): Likewise.
20467         * modules/popen (Depends-on): Likewise.
20468         * modules/posix_spawn (Depends-on): Likewise.
20469         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
20470         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
20471         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
20472         * modules/posix_spawnp (Depends-on): Likewise.
20473         * modules/pread (Depends-on): Likewise.
20474         * modules/printf-posix (Depends-on): Likewise.
20475         * modules/ptsname (Depends-on): Likewise.
20476         * modules/putenv (Depends-on): Likewise.
20477         * modules/pwrite (Depends-on): Likewise.
20478         * modules/readline (Depends-on): Likewise.
20479         * modules/readlink (Depends-on): Likewise.
20480         * modules/readlinkat (Depends-on): Likewise.
20481         * modules/recv (Depends-on): Likewise.
20482         * modules/recvfrom (Depends-on): Likewise.
20483         * modules/regex (Depends-on): Likewise.
20484         * modules/remove (Depends-on): Likewise.
20485         * modules/rename (Depends-on): Likewise.
20486         * modules/renameat (Depends-on): Likewise.
20487         * modules/rmdir (Depends-on): Likewise.
20488         * modules/round (Depends-on): Likewise.
20489         * modules/roundf (Depends-on): Likewise.
20490         * modules/roundl (Depends-on): Likewise.
20491         * modules/rpmatch (Depends-on): Likewise.
20492         * modules/select (Depends-on): Likewise.
20493         * modules/send (Depends-on): Likewise.
20494         * modules/sendto (Depends-on): Likewise.
20495         * modules/setenv (Depends-on): Likewise.
20496         * modules/setlocale (Depends-on): Likewise.
20497         * modules/setsockopt (Depends-on): Likewise.
20498         * modules/shutdown (Depends-on): Likewise.
20499         * modules/sigaction (Depends-on): Likewise.
20500         * modules/signbit (Depends-on): Likewise.
20501         * modules/sigprocmask (Depends-on): Likewise.
20502         * modules/sinl (Depends-on): Likewise.
20503         * modules/sleep (Depends-on): Likewise.
20504         * modules/snprintf (Depends-on): Likewise.
20505         * modules/snprintf-posix (Depends-on): Likewise.
20506         * modules/socket (Depends-on): Likewise.
20507         * modules/sprintf-posix (Depends-on): Likewise.
20508         * modules/sqrtl (Depends-on): Likewise.
20509         * modules/stat (Depends-on): Likewise.
20510         * modules/strchrnul (Depends-on): Likewise.
20511         * modules/strdup-posix (Depends-on): Likewise.
20512         * modules/strerror (Depends-on): Likewise.
20513         * modules/strerror_r-posix (Depends-on): Likewise.
20514         * modules/strndup (Depends-on): Likewise.
20515         * modules/strnlen (Depends-on): Likewise.
20516         * modules/strptime (Depends-on): Likewise.
20517         * modules/strsep (Depends-on): Likewise.
20518         * modules/strsignal (Depends-on): Likewise.
20519         * modules/strstr-simple (Depends-on): Likewise.
20520         * modules/strtod (Depends-on): Likewise.
20521         * modules/strtoimax (Depends-on): Likewise.
20522         * modules/strtok_r (Depends-on): Likewise.
20523         * modules/strtoumax (Depends-on): Likewise.
20524         * modules/symlink (Depends-on): Likewise.
20525         * modules/symlinkat (Depends-on): Likewise.
20526         * modules/tanl (Depends-on): Likewise.
20527         * modules/tcgetsid (Depends-on): Likewise.
20528         * modules/tmpfile (Depends-on): Likewise.
20529         * modules/trunc (Depends-on): Likewise.
20530         * modules/truncf (Depends-on): Likewise.
20531         * modules/truncl (Depends-on): Likewise.
20532         * modules/uname (Depends-on): Likewise.
20533         * modules/unlink (Depends-on): Likewise.
20534         * modules/unlockpt (Depends-on): Likewise.
20535         * modules/unsetenv (Depends-on): Likewise.
20536         * modules/usleep (Depends-on): Likewise.
20537         * modules/utimensat (Depends-on): Likewise.
20538         * modules/vasprintf (Depends-on): Likewise.
20539         * modules/vdprintf (Depends-on): Likewise.
20540         * modules/vdprintf-posix (Depends-on): Likewise.
20541         * modules/vfprintf-posix (Depends-on): Likewise.
20542         * modules/vprintf-posix (Depends-on): Likewise.
20543         * modules/vsnprintf (Depends-on): Likewise.
20544         * modules/vsnprintf-posix (Depends-on): Likewise.
20545         * modules/vsprintf-posix (Depends-on): Likewise.
20546         * modules/wcrtomb (Depends-on): Likewise.
20547         * modules/wcscasecmp (Depends-on): Likewise.
20548         * modules/wcscspn (Depends-on): Likewise.
20549         * modules/wcsdup (Depends-on): Likewise.
20550         * modules/wcsncasecmp (Depends-on): Likewise.
20551         * modules/wcsnrtombs (Depends-on): Likewise.
20552         * modules/wcspbrk (Depends-on): Likewise.
20553         * modules/wcsrtombs (Depends-on): Likewise.
20554         * modules/wcsspn (Depends-on): Likewise.
20555         * modules/wcsstr (Depends-on): Likewise.
20556         * modules/wcstok (Depends-on): Likewise.
20557         * modules/wcswidth (Depends-on): Likewise.
20558         * modules/wctob (Depends-on): Likewise.
20559         * modules/wctomb (Depends-on): Likewise.
20560         * modules/wctype (Depends-on): Likewise.
20561         * modules/wcwidth (Depends-on): Likewise.
20562         * modules/write (Depends-on): Likewise.
20563
20564 2011-05-03  Bruno Haible  <bruno@clisp.org>
20565
20566         Support for conditional dependencies.
20567         * doc/gnulib.texi (Module description): Document the syntax of
20568         conditional dependencies.
20569         * gnulib-tool: New option --conditional-dependencies.
20570         (func_usage): Document it.
20571         (cond_dependencies): New variable.
20572         (func_get_automake_snippet_conditional,
20573         func_get_automake_snippet_unconditional): New functions, extracted from
20574         func_get_automake_snippet.
20575         (func_get_automake_snippet): Use them.
20576         (sed_first_32_chars): New variable.
20577         (func_module_shellfunc_name): New function.
20578         (func_module_shellvar_name): New function.
20579         (func_module_conditional_name): New function.
20580         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
20581         func_cond_module_condition): New functions.
20582         (func_modules_transitive_closure): Add support for conditional
20583         dependencies.
20584         (func_emit_lib_Makefile_am): For a conditional module, enclose the
20585         conditional automake snippet in an automake conditional.
20586         (func_emit_autoconf_snippets): Emit shell functions that contain the
20587         code for conditional modules.
20588         (func_import, func_create_testdir): Update specification.
20589
20590 2011-05-03  Eric Blake  <eblake@redhat.com>
20591
20592         test-getaddrinfo: report error information
20593         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
20594
20595 2011-05-03  Jim Meyering  <meyering@redhat.com>
20596
20597         bootstrap: avoid build failure when $GZIP is set
20598         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
20599         program name.  If defined at all, it is supposed to list gzip options.
20600         Reported by Alan Curry in http://debbugs.gnu.org/8609
20601
20602 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
20603
20604         readme-release: new module with release instructions
20605         * modules/readme-release: New module.
20606         * top/README-release: New file, from coreutils, grep, diffutils.
20607         * MODULES.html.sh (Support for maintaining and releasing): Add it.
20608
20609 2011-05-02  Eric Blake  <eblake@redhat.com>
20610
20611         fflush: also replace fclose when fixing fflush
20612         * modules/fflush (Depends-on): Add fclose.
20613         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
20614         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
20615         memstreams with no backing fd.
20616         * doc/posix-functions/fclose.texi (fclose): Document the use of
20617         fflush module to fix the bug.
20618         * tests/test-fclose.c (main): Relax test when fclose is used in
20619         isolation.
20620
20621         fclose: add some tests
20622         * modules/fclose-tests: New test module.
20623         * tests/test-fclose.c: New file.
20624         * doc/posix-functions/fclose.texi (fclose): Document the bug.
20625
20626         fclose: reduced dependencies
20627         * modules/fclose (Depends-on): Switch from fflush/fseeko to
20628         simpler lseek.
20629         * lib/fclose.c (rpl_fclose): Likewise.
20630         Reported by Simon Josefsson.
20631
20632         exit: drop remaining clients
20633         * modules/argmatch (Depends-on): Replace exit with stdlib.
20634         * modules/copy-file (Depends-on): Likewise.
20635         * modules/execute (Depends-on): Likewise.
20636         * modules/exitfail (Depends-on): Likewise.
20637         * modules/obstack (Depends-on): Likewise.
20638         * modules/pagealign_alloc (Depends-on): Likewise.
20639         * modules/pipe-filter-gi (Depends-on): Likewise.
20640         * modules/pipe-filter-ii (Depends-on): Likewise.
20641         * modules/savewd (Depends-on): Likewise.
20642         * modules/spawn-pipe (Depends-on): Likewise.
20643         * modules/wait-process (Depends-on): Likewise.
20644         * modules/xsetenv (Depends-on): Likewise.
20645         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
20646         * modules/git-merge-changelog (Depends-on): Likewise.
20647         * modules/long-options (Depends-on): Likewise.
20648         * modules/pt_chown (Depends-on): Likewise.
20649         * modules/sysexits (Depends-on): Likewise.
20650
20651         freading: relax license from LGPLv3+ to LGPLv2+
20652         * modules/freading (License): Relax LGPL version.
20653
20654 2011-05-02  Bruno Haible  <bruno@clisp.org>
20655
20656         fchdir: Remove unused dependencies.
20657         * modules/fchdir (Depends-on): Remove include_next.
20658
20659 2011-05-02  Bruno Haible  <bruno@clisp.org>
20660
20661         gnulib-tool: Refactor.
20662         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
20663         from func_emit_autoconf_snippets.
20664         (func_emit_autoconf_snippets): Use it.
20665
20666 2011-05-02  Simon Josefsson  <simon@josefsson.org>
20667
20668         * NEWS: Document removal of 'exit'.
20669         * modules/exit: Remove file.
20670
20671 2011-05-01  Bruno Haible  <bruno@clisp.org>
20672
20673         Update DEPENDENCIES.
20674         * DEPENDENCIES (gettext): Recommend the newest release.
20675         Reported by Simon Josefsson.
20676
20677 2011-05-01  Bruno Haible  <bruno@clisp.org>
20678
20679         gnulib-tool: Reduce code duplication.
20680         * gnulib-tool (func_emit_autoconf_snippets): New function.
20681         (func_import, func_create_testdir): Use it.
20682
20683 2011-04-30  Eric Blake  <eblake@redhat.com>
20684
20685         fclose: don't fail on non-seekable input stream
20686         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
20687         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
20688         since fflush is allowed to fail in that case.
20689
20690 2011-04-30  Bruno Haible  <bruno@clisp.org>
20691
20692         dup3: cleanup
20693         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
20694
20695 2011-04-30  Bruno Haible  <bruno@clisp.org>
20696
20697         netdb: Make it work in C++ mode.
20698         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
20699         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
20700         module.
20701         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
20702         gl_MODULE_INDICATOR_FOR_TESTS.
20703         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
20704         * modules/netdb-c++-tests: New file.
20705         * tests/test-netdb-c++.cc: New file.
20706
20707 2011-04-30  Bruno Haible  <bruno@clisp.org>
20708
20709         New modules 'vfscanf', 'vscanf'.
20710         * modules/vfscanf: New file.
20711         * modules/vscanf: New file.
20712         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
20713         here.
20714         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
20715         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
20716
20717 2011-04-30  Bruno Haible  <bruno@clisp.org>
20718
20719         passfd: Add comments.
20720         * lib/passfd.c: Add comments about platforms.
20721
20722 2011-04-30  Bruno Haible  <bruno@clisp.org>
20723
20724         sys_uio: Make <sys/uio.h> self-contained.
20725         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
20726         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
20727
20728 2011-04-30  Bruno Haible  <bruno@clisp.org>
20729
20730         sys_socket: Ensure 'struct iovec' definition.
20731         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
20732         <sys/socket.h>.
20733         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
20734
20735 2011-04-30  Bruno Haible  <bruno@clisp.org>
20736
20737         sys_uio: Protect definition of 'struct iovec'.
20738         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
20739         it as a C struct.
20740
20741 2011-04-30  Bruno Haible  <bruno@clisp.org>
20742
20743         manywarnings: fix indentation
20744         * m4/manywarnings.m4: Indent by 2 spaces consistently.
20745
20746 2011-04-30  Pádraig Brady <P@draigBrady.com>
20747
20748         manywarnings: add -Wno-missing-field-initializers if needed.
20749         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
20750         option if it's needed to allow initialization with { 0, }
20751
20752 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
20753
20754         announce-gen: cosmetic improvement
20755         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
20756
20757 2011-04-29  Jim Meyering  <meyering@redhat.com>
20758
20759         vc-list-files: indent with spaces, not TABs
20760         * build-aux/vc-list-files: Convert leading TABs to spaces,
20761         to match the style of most other files in gnulib.
20762
20763         announce-gen: indent with spaces, not TABs
20764         * build-aux/announce-gen: Convert all TABs to spaces, to match
20765         the style of most other files in gnulib.
20766
20767 2011-04-29  Eric Blake  <eblake@redhat.com>
20768
20769         quotearg: avoid uninitialized variable use
20770         * lib/quotearg.c (quoting_options_from_style): Initialize
20771         remaining fields, and ensure that custom styles are only used via
20772         quoting_options rather than quoting_style.
20773
20774 2011-04-29  Jim Meyering  <meyering@redhat.com>
20775
20776         maint.mk: remove unused VC-tag variable
20777         * top/maint.mk (VC-tag): Remove unused variable.
20778
20779 2011-04-29  Bruno Haible  <bruno@clisp.org>
20780
20781         netdb: fix gai_strerror replacements
20782         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
20783         * modules/netdb: Substitute it.
20784
20785 2011-04-29  Jim Meyering  <meyering@redhat.com>
20786
20787         test-getcwd.c: avoid new set-but-not-used warning
20788         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
20789         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
20790         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
20791         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
20792
20793         test-hash.c: avoid a new shadowing warning
20794         * tests/test-hash.c (main): Don't shadow "dup".
20795
20796 2011-04-28  Eric Blake  <eblake@redhat.com>
20797
20798         getaddrinfo: fix gai_strerror signature
20799         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
20800         and work around mingw with UNICODE defined.
20801         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
20802         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
20803         * modules/netdb (Makefile.am): Substitute it.
20804         * lib/netdb.in.h (gai_strerror): Declare replacement.
20805         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
20806         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
20807         the fix.
20808
20809         getsockopt: avoid compiler warning
20810         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
20811         Reported by Matthias Bolte.
20812
20813         tests: drop unused link dependency
20814         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
20815         * modules/dirent-safer-tests (Makefile.am): Likewise.
20816         * modules/fdopendir-tests (Makefile.am): Likewise.
20817         * modules/mkfifoat-tests (Makefile.am): Likewise.
20818         * modules/openat-safer-tests (Makefile.am): Likewise.
20819         * modules/openat-tests (Makefile.am): Likewise.
20820         * modules/readlinkat-tests (Makefile.am): Likewise.
20821         * modules/symlinkat-tests (Makefile.am): Likewise.
20822         * modules/linkat-tests (Makefile.am): Likewise.
20823         (Depends-on): Switch to filenamecat-lgpl.
20824         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
20825         LIBINTL.
20826         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
20827         * tests/test-linkat.c (main): Don't require xalloc.
20828
20829         hash, mgetgroups: drop xalloc dependency
20830         * lib/hash.c (includes): Adjust includes.
20831         * lib/mgetgroups.c (includes): Likewise.
20832         (xgetgroups): Move...
20833         * lib/xgetgroups.c: ...to new file.
20834         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
20835         * modules/xgetgroups: New file, split from...
20836         * modules/mgetgroups: ...here.
20837         (Depends-on): Add xalloc-oversized.
20838         * modules/hash (Depends-on): Likewise.
20839         * modules/hash-tests (Depends-on): Drop xalloc.
20840         (test_hash_LDADD): Drop unused library.
20841         * tests/test-hash.c (main): Break xalloc dependency.
20842         (includes): Drop unused include.
20843
20844         xalloc-oversized: new module
20845         * modules/xalloc-oversized: New module.
20846         * modules/xalloc (Depends-on): Add it.
20847         * lib/xalloc.h (xalloc_oversized): Move...
20848         * lib/xalloc-oversized.h: ...into new file.
20849
20850         utimecmp: drop dependency on xmalloc
20851         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
20852         due to memory pressure.
20853         * modules/utimecmp (Depends-on): Drop xalloc.
20854
20855 2011-04-27  Eric Blake  <eblake@redhat.com>
20856
20857         getcwd: fix mingw bugs
20858         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
20859         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
20860         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
20861
20862 2011-04-27  Bruno Haible  <bruno@clisp.org>
20863
20864         mkstemps: Ensure declaration on MacOS X 10.5.
20865         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
20866         * doc/glibc-functions/mkstemps.texi: Document header file problem on
20867         MacOS X.
20868
20869 2011-04-27  Bruno Haible  <bruno@clisp.org>
20870
20871         mkstemp: More documentation.
20872         * doc/posix-functions/mkstemp.texi: Document header file problem on
20873         MacOS X.
20874
20875 2011-04-27  Bruno Haible  <bruno@clisp.org>
20876
20877         mkstemp: Tweak configure message when cross-compiling.
20878         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
20879         result as a guess.
20880
20881 2011-04-27  Bruno Haible  <bruno@clisp.org>
20882
20883         clean-temp: Clarify what it does.
20884         * lib/clean-temp.h: Add more comments.
20885         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
20886         module.
20887         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
20888         * doc/glibc-functions/mkstemps.texi: Likewise.
20889         * doc/glibc-functions/mkostemps.texi: Likewise.
20890
20891 2011-04-27  Eric Blake  <eblake@redhat.com>
20892
20893         fchdir: avoid extra chdir and fix test
20894         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
20895         getcwd-lgpl.
20896         * lib/fchdir.c (get_name): Any absolute name will do; it does not
20897         have to be canonical.
20898         (canonicalize_file_name): Drop unused macro.
20899         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
20900
20901         filenamecat-lgpl: fix licence
20902         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
20903         when it was first created.
20904
20905         linkat, renameat: add missing dependency
20906         * modules/linkat (Depends-on): Require getcwd-lgpl.
20907         * modules/renameat (Depends-on): Likewise.
20908
20909         tests: reduce dependencies
20910         * tests/test-linkat.c (main): Use lighter-weight getcwd.
20911         * tests/test-renameat.c (main): Likewise.
20912         * modules/linkat-tests (Depends-on): Relax dependency.
20913         * modules/renameat-tests (Depends-on): Likewise.
20914         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
20915         dependency explicit.
20916
20917         save-cwd: reduce default dependency
20918         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
20919         * lib/save-cwd.c: Update comments.
20920         * NEWS: Document the semantic change.
20921
20922         getcwd: enhance tests
20923         * tests/test-getcwd-lgpl.c: New file, taken from...
20924         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
20925         repeat long path stress tests from m4 probe.
20926         * modules/getcwd-lgpl-tests: New module.
20927         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
20928         * m4/getcwd-abort-bug.m4: Update comment.
20929         * m4/getcwd-path-max.m4: Likewise.
20930
20931         getcwd-lgpl: new module
20932         * modules/getcwd-lgpl: New module.
20933         * lib/getcwd-lgpl.c: New file.
20934         * doc/posix-functions/getcwd.texi (getcwd): Document it.
20935         * MODULES.html.sh (lacking POSIX:2008): Likewise.
20936         * modules/getcwd (configure.ac): Set C witness.
20937         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
20938
20939         getcwd: tweak comments
20940         * m4/getcwd-abort-bug.m4: Fix comments.
20941         * m4/getcwd-path-max.m4: Likewise.
20942         * m4/getcwd.m4: Likewise.
20943
20944 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
20945         and Eric Blake  <eblake@redhat.com>
20946
20947         mkstemp: replace if system version uses wrong permissions
20948         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
20949         read/write mode bits set in file created by mkstemp.
20950         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
20951
20952 2011-04-27  Eric Blake  <eblake@redhat.com>
20953
20954         passfd: avoid compiler warning
20955         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
20956         Reported by Laine Stump.
20957
20958 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
20959
20960         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
20961         required by the NetBSD (and perhaps other 4.4BSD derived) join.
20962
20963 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
20964         and Eric Blake  <eblake@redhat.com>
20965
20966         mkstemp: mention clean-temp module
20967         * lib/mkstemp.c: Add comment.
20968         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
20969
20970 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
20971
20972         inttypes: also provide default values for 32-bit tests
20973         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
20974         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
20975
20976 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
20977
20978         strtoumax: remove dependency on strtoimax
20979         This is like the strtoull change of yesterday.
20980         * modules/strtoumax (Files): Add lib/strtoimax.c.
20981         (Depends-on): Remove strtoimax and add verify.
20982
20983         inttypes-incomplete: new module
20984         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
20985         all but the PRI* and SCN* parts of gl_INTTYPES_H.
20986         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
20987         of gl_INTTYPES_H.
20988         (gl_INTTYPES_H): Rewrite in terms of these new macros.
20989         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
20990         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
20991         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
20992         * modules/strtoumax, modules/xstrtol (Depends-on):
20993         Depend on inttypes-incomplete, not inttypes.
20994         * modules/inttypes-incomplete: New module, containing the contents
20995         of the old modules/inttypes module, except that the Files: section
20996         omits m4/inttypes-pri.m4, and the configure.ac section invokes
20997         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
20998         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
20999         (Depends-on): Depend only on inttypes-incomplete.
21000         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
21001
21002         inttypes: omit now-redundant strtoimax and strtoumax work
21003         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
21004         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
21005
21006         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
21007         This supports apps that need pointers to strtoimax and strtoumax,
21008         and ports to HP-UX 11.00 64.bit, which has macros that expand to
21009         nonexistent functions.  See
21010         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
21011         et seq.
21012         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
21013         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
21014         a macro.
21015         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21016
21017 2011-04-25  Simon Josefsson  <simon@josefsson.org>
21018
21019         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
21020
21021 2011-04-25  Bruno Haible  <bruno@clisp.org>
21022
21023         strtol, strtoul: Mark modules as obsolete.
21024         * modules/strtol (Status, Notice): New sections.
21025         * modules/strtoul (Status, Notice): New sections.
21026
21027 2011-04-25  Bruno Haible  <bruno@clisp.org>
21028
21029         strtod: Remove check for strtod, unless supporting old platforms.
21030         * modules/strtod-obsolete: New file.
21031         * m4/strtod-obsolete.m4: New file.
21032         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
21033         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
21034         * modules/strtod (Depends-on): Add strtod-obsolete.
21035         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
21036
21037 2011-04-25  Bruno Haible  <bruno@clisp.org>
21038
21039         strcase: Make module obsolete.
21040         * modules/strcase (Status, Notice): New sections.
21041
21042 2011-04-25  Bruno Haible  <bruno@clisp.org>
21043
21044         dup2: Remove check for dup2, unless supporting old obsolete platforms.
21045         * modules/dup2-obsolete: New file.
21046         * m4/dup2-obsolete.m4: New file.
21047         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
21048         gl_FUNC_DUP2_OBSOLETE is not also defined.
21049         * modules/dup2 (Depends-on): Add dup2-obsolete.
21050         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
21051
21052 2011-04-25  Bruno Haible  <bruno@clisp.org>
21053
21054         strnlen: Avoid memchr related link error on old obsolete platforms.
21055         * modules/memchr-obsolete: New file.
21056         * m4/memchr-obsolete.m4: New file.
21057         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
21058         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
21059         * modules/memchr (Depends-on): Add memchr-obsolete.
21060         * modules/strnlen (Depends-on): Likewise.
21061         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
21062
21063 2011-04-25  Jim Meyering  <meyering@redhat.com>
21064
21065         maint.mk: makefile_at_at_check extend and clean up
21066         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
21067         in addition to */Makefile.am.
21068         Exempt legitimate uses of @VAR@ notation, e.g.,
21069         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
21070         Remove obsolete coreutils-specific comment.
21071         Prompted by discussion here:
21072         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
21073
21074 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
21075
21076         strtoul: remove dependency on strtol
21077         This is so that 'configure' need not check for strtol merely because
21078         the application needs strtoul.
21079         * modules/strtoul (Files): Add lib/strtol.c.
21080         (Depends-on): Remove strtol.
21081
21082         strtoull: remove dependency on strtoul
21083         This is like the strtoll change.
21084         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
21085         (Depends-on): Remove strtoul.
21086
21087         strtoll: remove dependency on strtol
21088         This is so that 'configure' need not check for strtol merely because
21089         the application needs strtoll.
21090         * modules/strtoll (Files): Add lib/strtol.c.
21091         (Depends-on): Remove strtol.
21092
21093 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21094
21095         inttypes: Move some configure check to module 'imaxdiv'.
21096         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
21097         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
21098         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
21099
21100 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21101
21102         inttypes: Move some configure check to module 'imaxabs'.
21103         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
21104         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
21105         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
21106
21107 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21108
21109         inttypes: Remove configure tests that are not needed since 2009-12-31.
21110         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
21111         gl_cv_header_working_inttypes_h.
21112
21113 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21114
21115         * modules/strnlen (Depends-on): Remove memchr.
21116         The strnlen implementation doesn't need the memchr module's fixes; see
21117         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
21118
21119         strtol: remove dependency on wchar
21120         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
21121         * modules/strtol (Depends-on): Remove wchar.
21122
21123 2011-04-21  Eric Blake  <eblake@redhat.com>
21124
21125         passfd: fix test regression on Linux
21126         * modules/passfd-tests (configure.ac): Correct socketpair check.
21127
21128         passfd: speed up configure and drop unused code
21129         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
21130         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
21131         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
21132         Instead of probing at configure for unix_scm_rights_bsd44_way,
21133         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
21134         check to a struct member probe.
21135         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
21136         (sendfd, recvfd): Update preprocessor checks.
21137         * modules/passfd (Files): Reflect rename, and drop unused file.
21138         (Depends-on): Drop unused dependency.
21139
21140         passfd: allow compilation on mingw
21141         * modules/sys_socket (Depends-on): Add sys_uio.
21142         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
21143         iovec and a minimal struct msghdr.
21144         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
21145         * tests/test-sys_socket.c (main): Enhance test.
21146         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
21147         guaranteed to provide what we need.
21148         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
21149         * modules/passfd-tests (Depends-on): Add sys_wait.
21150         * tests/test-passfd.c (main): Skip test on mingw, for now.
21151         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
21152         partial 'struct msghdr' implementation.
21153
21154         sys_uio: new module
21155         * modules/sys_uio: New module.
21156         * modules/sys_uio-tests: Likewise.
21157         * lib/sys_uio.in.h: New file.
21158         * m4/sys_uio_h.m4: Likewise.
21159         * tests/test-sys_uio.c: Likewise.
21160         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
21161         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
21162
21163 2011-04-20  Jim Meyering  <meyering@redhat.com>
21164
21165         useless-if-before-free: avoid false-positive
21166         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
21167         disjunct so that it too requires a terminating ";".  Without that,
21168         this script would identify as useless one statement from gcc that
21169         was not:
21170           if (aligned_ptr)
21171             free (((void **) aligned_ptr) [-1]);
21172
21173 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
21174
21175         doc: update users.txt.
21176         * users.txt: Add barcode.
21177
21178 2011-04-19  Bruno Haible  <bruno@clisp.org>
21179
21180         ioctl: Remove link dependency on native Windows.
21181         * lib/fd-hook.h: Renamed from lib/close-hook.h.
21182         (gl_close_fn, gl_ioctl_fn): New types.
21183         (struct fd_hook): Renamed from struct close_hook. Change type of
21184         private_close_fn field. Add private_ioctl_fn field.
21185         (close_hook_fn): Add parameter for primary close method.
21186         (execute_close_hooks, execute_all_close_hooks): Likewise.
21187         (ioctl_hook_fn): New type.
21188         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
21189         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21190         argument.
21191         (unregister_fd_hook): Renamed from unregister_close_hook.
21192         * lib/fd-hook.c: Renamed from lib/close-hook.c.
21193         Don't include <unistd.h>.
21194         (close): Remove undef.
21195         (anchor): Update.
21196         (execute_close_hooks): Add argument for primary close method.
21197         (execute_all_close_hooks): Likewise.
21198         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
21199         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21200         argument. Allow each argument to be NULL.
21201         (unregister_fd_hook): Renamed from unregister_close_hook.
21202         * lib/close.c (rpl_close): Pass 'close' function pointer to
21203         execute_all_close_hooks.
21204         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
21205         (primary_ioctl): New function.
21206         (ioctl): Don't call ioctlsocket here. Instead, call
21207         execute_all_ioctl_hooks.
21208         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
21209         close method.
21210         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
21211         (fd_sockets_hook): Renamed from close_sockets_hook.
21212         (gl_sockets_startup, gl_sockets_cleanup): Update.
21213         * modules/fd-hook: Renamed from modules/close-hook. Update.
21214         * modules/close (Depends-on): Add fd-hook, remove close-hook.
21215         * modules/sockets (Depends-on): Likewise.
21216         * modules/ioctl (Depends-on): Add fd-hook.
21217         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
21218         GNULIB_SOCKET.
21219
21220 2011-04-19  Bruno Haible  <bruno@clisp.org>
21221
21222         Move the support of O_NONBLOCK in open() to the 'open' module.
21223         * modules/nonblocking (Depends-on): Remove 'open'.
21224         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
21225         gl_cv_have_open_O_NONBLOCK.
21226         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
21227         O_NONBLOCK support.
21228         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
21229
21230 2011-04-17  Bruno Haible  <bruno@clisp.org>
21231
21232         pipe2: Simplify code.
21233         * lib/pipe2.c (pipe2): Reduce code duplication.
21234
21235 2011-04-17  Bruno Haible  <bruno@clisp.org>
21236
21237         nonblocking: Add comment.
21238         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
21239
21240 2011-04-17  Bruno Haible  <bruno@clisp.org>
21241
21242         nonblocking: Add tests for sockets.
21243         * tests/test-nonblocking-socket.sh: New file.
21244         * tests/test-nonblocking-socket-main.c: New file.
21245         * tests/test-nonblocking-socket-child.c: New file.
21246         * tests/test-nonblocking-socket.h: New file.
21247         * tests/socket-server.h: New file.
21248         * tests/socket-client.h: New file.
21249         * modules/nonblocking-socket-tests: New file.
21250         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
21251
21252 2011-04-17  Bruno Haible  <bruno@clisp.org>
21253
21254         nonblocking: Add tests for pipes.
21255         * tests/test-nonblocking-pipe.sh: New file.
21256         * tests/test-nonblocking-pipe-main.c: New file.
21257         * tests/test-nonblocking-pipe-child.c: New file.
21258         * tests/test-nonblocking-pipe.h: New file.
21259         * tests/test-nonblocking-writer.h: New file.
21260         * tests/test-nonblocking-reader.h: New file.
21261         * tests/test-nonblocking-misc.h: New file.
21262         * modules/nonblocking-pipe-tests: New file.
21263         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
21264
21265 2011-04-16  Bruno Haible  <bruno@clisp.org>
21266
21267         gettext: Clarify the needed programmer actions.
21268         * modules/gettext (Notice): New field.
21269         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
21270
21271 2011-04-16  Bruno Haible  <bruno@clisp.org>
21272
21273         strchrnul: Tweak last commit.
21274         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
21275         bug.
21276         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
21277         as in _GL_FUNCDECL_SYS.
21278         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
21279         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
21280
21281 2011-04-15  Eric Blake  <eblake@redhat.com>
21282
21283         strchrnul: work around cygwin bug
21284         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
21285         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
21286         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
21287         * modules/string (Makefile.am): Substitute it.
21288         * lib/string.in.h (strchrnul): Use it.
21289
21290 2011-04-15  Bruno Haible  <bruno@clisp.org>
21291
21292         Don't require lib/stdio-write.c when only module 'stdio' is used.
21293         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
21294         invocation.
21295         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
21296
21297 2011-04-14  Bruno Haible  <bruno@clisp.org>
21298
21299         Support non-blocking pipe I/O in read() on native Windows.
21300         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
21301         (read): New declaration.
21302         * lib/read.c: New file.
21303         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
21304         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
21305         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
21306         vscanf): New declarations.
21307         * lib/stdio-read.c: New file.
21308         * m4/read.m4: New file.
21309         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
21310         REPLACE_READ.
21311         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
21312         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21313         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
21314         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
21315         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
21316         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21317         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21318         * modules/read: New file.
21319         * modules/nonblocking (Files): Add lib/stdio-read.c.
21320         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
21321         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
21322         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21323         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21324         * modules/pread (Depends-on): Add read.
21325         * modules/safe-read (Depends-on): Likewise.
21326         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
21327         gets, scanf, vfscanf, vscanf): Verify signatures.
21328         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
21329         problem with non-blocking pipes.
21330         * doc/posix-functions/fgetc.texi: Likewise.
21331         * doc/posix-functions/fgets.texi: Likewise.
21332         * doc/posix-functions/fread.texi: Likewise.
21333         * doc/posix-functions/fscanf.texi: Likewise.
21334         * doc/posix-functions/getc.texi: Likewise.
21335         * doc/posix-functions/getchar.texi: Likewise.
21336         * doc/posix-functions/gets.texi: Likewise.
21337         * doc/posix-functions/scanf.texi: Likewise.
21338         * doc/posix-functions/vfscanf.texi: Likewise.
21339         * doc/posix-functions/vscanf.texi: Likewise.
21340
21341 2011-04-14  Bruno Haible  <bruno@clisp.org>
21342
21343         Support non-blocking pipe I/O in write() on native Windows.
21344         * lib/write.c (rpl_write): Split a write request that failed merely
21345         because the byte count was larger than the pipe buffer's size.
21346         * doc/posix-functions/write.texi: Mention the problem with large byte
21347         counts.
21348
21349 2011-04-14  Bruno Haible  <bruno@clisp.org>
21350
21351         wchar: Ensure that wchar_t gets defined on uClibc.
21352         * lib/wchar.in.h: On uClibc, include <stddef.h>.
21353         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
21354
21355 2011-04-13  Bruno Haible  <bruno@clisp.org>
21356
21357         safe-write, full-read: Avoid unnecessary compilation units.
21358         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
21359         (Depends-on): Remove safe-read. Add ssize_t.
21360         * modules/full-read (Files): Add lib/full-write.c.
21361         (Depends-on): Add full-write.
21362
21363 2011-04-13  Bruno Haible  <bruno@clisp.org>
21364
21365         Support non-blocking pipe I/O and SIGPIPE in pwrite().
21366         * modules/pwrite (Depends-on): Add 'write'.
21367
21368 2011-04-13  Bruno Haible  <bruno@clisp.org>
21369
21370         Support non-blocking pipe I/O in write() on native Windows.
21371         * lib/unistd.in.h (write): Enable replacement also if
21372         GNULIB_UNISTD_H_NONBLOCKING is 1.
21373         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
21374         (rpl_write): When failing to write on a non-blocking pipe, change
21375         errno from ENOSPC to EAGAIN.
21376         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
21377         putchar, puts, vfprintf, vprintf): Enable replacement also if
21378         GNULIB_STDIO_H_NONBLOCKING is 1.
21379         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
21380         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
21381         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
21382         CALL_WITH_SIGPIPE_EMULATION.
21383         (CALL_WITH_SIGPIPE_EMULATION): Use them.
21384         * m4/nonblocking.m4: New file.
21385         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
21386         for non-blocking I/O support.
21387         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21388         GNULIB_UNISTD_H_NONBLOCKING.
21389         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
21390         required for non-blocking I/O support.
21391         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
21392         * modules/nonblocking (Files): Add m4/nonblocking.m4,
21393         lib/stdio-write.c, m4/asm-underscore.m4.
21394         (Depends-on): Add stdio, unistd.
21395         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
21396         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
21397         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
21398         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
21399         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
21400         problem with non-blocking pipes.
21401         * doc/posix-functions/fputc.texi: Likewise.
21402         * doc/posix-functions/fputs.texi: Likewise.
21403         * doc/posix-functions/fwrite.texi: Likewise.
21404         * doc/posix-functions/printf.texi: Likewise.
21405         * doc/posix-functions/putc.texi: Likewise.
21406         * doc/posix-functions/putchar.texi: Likewise.
21407         * doc/posix-functions/puts.texi: Likewise.
21408         * doc/posix-functions/vfprintf.texi: Likewise.
21409         * doc/posix-functions/vprintf.texi: Likewise.
21410         * doc/posix-functions/write.texi: Likewise.
21411
21412 2011-04-10  Jim Meyering  <meyering@redhat.com>
21413
21414         maint.mk: prohibit doubled words
21415         Detect them also when they're separated by a newline.
21416         There are 3 ways to customize it:
21417           - disable the test on a per file basis, as usual with rules using
21418             $(VC_LIST_EXCEPT)
21419           - replace the default doubled-word-selecting regexp (affects all files)
21420           - ignore a particular file-vs-doubled-word match
21421         I nearly used that last one to ignore the "is is" match in
21422         coreutils' NEWS file, since the text was "ls -is is ..."
21423         To do that, I would have added this line to cfg.mk:
21424           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
21425         but it would have ignored any "is is" match in NEWS.
21426         Low probability, but still...
21427         Instead, I changed the text, slightly:
21428           -  ls -is is now consistent with ls -lis in ignoring values returned
21429           +  "ls -is" is now consistent with ls -lis in ignoring values returned
21430         * top/maint.mk (prohibit_double_word_RE_): Provide default.
21431         (prohibit_doubled_word_): Define.
21432         (sc_prohibit_doubled_word): New rule.
21433         (sc_prohibit_the_the): Remove.  Subsumed by the above.
21434
21435 2011-04-10  Jim Meyering  <meyering@redhat.com>
21436
21437         maint: fix doubled-word typo in comment
21438         * m4/gethostname.m4: s/is is/it is/
21439         * m4/getdomainname.m4: Likewise.
21440
21441 2011-04-10  Jim Meyering  <meyering@redhat.com>
21442
21443         maint: remove doubled word: s/it it/it/
21444         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
21445
21446 2011-04-10  Jim Meyering  <meyering@redhat.com>
21447
21448         maint.mk: remove useless semicolon and backslash
21449         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
21450         semicolon and backslash.
21451
21452 2011-04-10  Bruno Haible  <bruno@clisp.org>
21453
21454         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
21455         * modules/stdint-tests (Depends-on): Add wchar.
21456
21457 2011-04-10  Jim Meyering  <meyering@redhat.com>
21458
21459         maint: remove doubled words in comments, e.g., s/a a/a/
21460         * lib/strptime.c (day_of_the_week): s/the the/the/
21461         * tests/test-chown.h (test_chown): s/a a/a/
21462
21463         test-chown.h: correct a cast
21464         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
21465         when the destination is a stat.st_gid.
21466
21467 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
21468
21469         getaddrinfo: Fix test for sa_len member.
21470         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
21471         include <sys/types.h> before <sys/socket.h>.
21472
21473 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
21474
21475         maint: change "can not" to "cannot"
21476         * doc/posix-functions/iconv.texi (iconv): This one crossed line
21477         boundaries.
21478
21479 2011-04-09  Jim Meyering  <meyering@redhat.com>
21480
21481         maint: change "a a" to "a"
21482         * tests/test-lchown.h (test_lchown): s/a a/a/
21483
21484         maint.mk: prohibit \<the the\>
21485         * top/maint.mk (sc_prohibit_the_the): New rule.
21486
21487         maint: fix "the the" in comment
21488         * lib/count-one-bits.h: s/the the/the/
21489
21490         maint: change "can not" to "cannot"
21491         But do not change the occurrences in maintain.texi or in
21492         build-aux/po/Makefile.in.in, which I presume comes from gettext.
21493         * doc/gnulib-tool.texi: s/can not/cannot/
21494         * doc/posix-functions/accept.texi (accept): Likewise.
21495         * doc/posix-functions/socket.texi (socket): Likewise.
21496         * lib/mbrtowc.c: Likewise.
21497
21498         maint.mk: prohibit use of "can not"
21499         * top/maint.mk (sc_prohibit_can_not): New rule.
21500         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
21501
21502 2011-04-09  Bruno Haible  <bruno@clisp.org>
21503
21504         careadlinkat: Guard against misuse of careadlinkatcwd.
21505         * lib/careadlinkat.c: Include <stdlib.h>.
21506         (careadlinkatcwd): Check that the fd argument is as expected.
21507
21508 2011-04-09  Bruno Haible  <bruno@clisp.org>
21509
21510         careadlinkat: Use common coding style.
21511         * lib/careadlinkat.c: Move gnulib includes after system includes.
21512
21513 2011-04-09  Bruno Haible  <bruno@clisp.org>
21514
21515         careadlinkat: Clarify specification.
21516         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
21517         (careadlinkatcwd): Add comment.
21518         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
21519
21520 2011-04-09  Bruno Haible  <bruno@clisp.org>
21521
21522         areadlinkat: Avoid link error on many platforms.
21523         * modules/areadlinkat (Depends-on): Add areadlink.
21524
21525 2011-04-09  Bruno Haible  <bruno@clisp.org>
21526
21527         allocator, careadlinkat: Fix double-inclusion guard.
21528         * lib/allocator.h: Fix double-inclusion guard.
21529         * lib/careadlinkat.h: Likewise.
21530
21531 2011-04-09  Bruno Haible  <bruno@clisp.org>
21532
21533         relocatable-prog-wrapper: Update after module 'areadlink' changed.
21534         * lib/relocwrapper.c: Update dependencies hierarchy.
21535         * build-aux/install-reloc: Update list of files to be compiled.
21536         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
21537         lib/allocator.[hc].
21538
21539 2011-04-08  Eric Blake  <eblake@redhat.com>
21540
21541         strftime: silence gnulib-tool warning
21542         * modules/strftime-tests (Depends-on): Drop automatic dependency.
21543
21544 2011-04-08  Bruno Haible  <bruno@clisp.org>
21545
21546         verify: Fix syntax error with GCC 4.6 in C++ mode.
21547         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
21548         (HAVE_STATIC_ASSERT): New macro.
21549         (verify_true, verify): Use 'static_assert' if it is supported and
21550         '_Static_assert' is not supported.
21551
21552 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
21553
21554         allocator: New module.
21555         * modules/allocator, lib/allocator.c: New files.
21556         * lib/allocator.h (stdlib_allocator): New decl.
21557         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
21558         Remove.  Do not include <stdlib.h>.
21559         (careadlinkat): Use stdlib_allocator instead of rolling our own.
21560         * modules/careadlinkat (Files): Remove lib/allocator.h.
21561         (Depends-on): Add allocator.
21562
21563         stdlib: let modules use system malloc, realloc
21564         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
21565         if !_GL_USE_STDLIB_ALLOC.
21566         (malloc, realloc): Limit this change to a smaller scope.
21567
21568         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
21569         (malloc, realloc): Don't #undef; no longer needed.
21570         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21571         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21572         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
21573         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21574         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21575         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21576         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21577         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
21578
21579         careadlinkat: rename members to avoid problem
21580         * lib/allocator.h (struct allocator): Rename members from
21581         malloc/realloc to allocate/reallocate, to avoid problems if malloc
21582         and realloc are #define'd.  Reported by Eric Blake in
21583         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
21584         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
21585
21586 2011-04-08  Eric Blake  <eblake@redhat.com>
21587
21588         nonblocking: reduce dependency
21589         * tests/test-nonblocking.c: Only test sockets when in use.
21590         * modules/nonblocking-tests (Depends-on): Drop socket.
21591         (Makefile.am): Link even if sockets are not present.
21592         * modules/pipe2-tests (Makefile.am): Likewise.
21593         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
21594
21595         pipe2: fix O_NONBLOCK support on mingw
21596         * modules/pipe2 (Depends-on): Add nonblocking.
21597         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
21598         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
21599         * tests/test-nonblocking.c (main): Likewise.
21600         * modules/pipe2-tests (Makefile.am): Avoid link failure.
21601
21602         fcntl-h: fix O_ACCMODE on cygwin
21603         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
21604         * lib/fcntl.in.h (O_ACCMODE): Fix it.
21605
21606         pipe-filter: drop O_NONBLOCK workarounds
21607         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
21608         * modules/pipe-filter-ii (Depends-on): Likewise.
21609         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
21610
21611         nonblocking: provide O_NONBLOCK for mingw
21612         * modules/nonblocking (Depends-on): Add open.
21613         (configure.ac): Set new witness macro.
21614         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
21615         * modules/fcntl-h (Makefile.am): Substitute it.
21616         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
21617         nonblocking module is in use.
21618         * lib/nonblocking.c: Adjust portability test.
21619         * lib/open.c (open): Don't let native open see gnulib flag.
21620         * tests/test-fcntl-h.c (main): Enhance test.
21621         * tests/test-open.h (test_open): Likewise.
21622         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
21623
21624         careadlinkat: fix compilation error on mingw
21625         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
21626         within struct allocator.
21627
21628 2011-04-06  Eric Blake  <eblake@redhat.com>
21629
21630         binary-io: relicense under LGPLv2+
21631         * modules/binary-io (License): Relax to LGPLv2+.
21632         Requested for libvirt, and required by pipe2.
21633
21634 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
21635
21636         verify: use _Static_assert if available
21637         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
21638         (verify_true, verify): Use it if available.  This generates better
21639         diagnostics with GCC 4.6.0 and later.
21640
21641 2011-04-05  Bruno Haible  <bruno@clisp.org>
21642
21643         Remove leftover generated .h files after config.status changed.
21644
21645         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
21646         GL_GENERATE_ALLOCA_H.
21647         * modules/alloca-opt (Makefile.am): Remove alloca.h if
21648         GL_GENERATE_ALLOCA_H evaluates to false.
21649
21650         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
21651         GL_GENERATE_ARGZ_H.
21652         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
21653         evaluates to false.
21654
21655         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
21656         GL_GENERATE_BYTESWAP_H.
21657         * modules/byteswap (Makefile.am): Remove byteswap.h if
21658         GL_GENERATE_BYTESWAP_H evaluates to false.
21659
21660         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
21661         GL_GENERATE_ERRNO_H.
21662         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
21663         evaluates to false.
21664
21665         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
21666         GL_GENERATE_FLOAT_H.
21667         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
21668         evaluates to false.
21669
21670         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
21671         GL_GENERATE_FNMATCH_H.
21672         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
21673         GL_GENERATE_FNMATCH_H evaluates to false.
21674
21675         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
21676         GL_GENERATE_GLOB_H.
21677         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
21678         evaluates to false.
21679
21680         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
21681         automake conditional GL_GENERATE_ICONV_H.
21682         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
21683         evaluates to false.
21684
21685         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
21686         GL_GENERATE_NETINET_IN_H.
21687         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
21688         GL_GENERATE_NETINET_IN_H evaluates to false.
21689
21690         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
21691         conditional GL_GENERATE_PTHREAD_H.
21692         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
21693         * modules/pthread (Makefile.am): Remove pthread.h if
21694         GL_GENERATE_PTHREAD_H evaluates to false.
21695
21696         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
21697         GL_GENERATE_SCHED_H.
21698         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
21699         evaluates to false.
21700
21701         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
21702         conditional GL_GENERATE_SELINUX_CONTEXT_H.
21703         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
21704         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
21705
21706         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
21707         GL_GENERATE_STDARG_H.
21708         * modules/stdarg (Makefile.am): Remove stdarg.h if
21709         GL_GENERATE_STDARG_H evaluates to false.
21710
21711         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
21712         GL_GENERATE_STDBOOL_H.
21713         * modules/stdbool (Makefile.am): Remove stdbool.h if
21714         GL_GENERATE_STDBOOL_H evaluates to false.
21715
21716         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
21717         conditional GL_GENERATE_STDDEF_H.
21718         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
21719         * modules/stddef (Makefile.am): Remove stddef.h if
21720         GL_GENERATE_STDDEF_H evaluates to false.
21721
21722         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
21723         GL_GENERATE_STDINT_H.
21724         * modules/stdint (Makefile.am): Remove stdint.h if
21725         GL_GENERATE_STDINT_H evaluates to false.
21726
21727         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
21728         GL_GENERATE_SYSEXITS_H.
21729         * modules/sysexits (Makefile.am): Remove sysexits.h if
21730         GL_GENERATE_SYSEXITS_H evaluates to false.
21731
21732         Reported by Karl Berry and Ralf Wildenhues.
21733
21734 2011-04-05  Bruno Haible  <bruno@clisp.org>
21735
21736         Ensure to rebuild generated .h files when config.status has changed.
21737         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
21738         config.status.
21739         * modules/ctype (Makefile.am): Likewise.
21740         * modules/dirent (Makefile.am): Likewise.
21741         * modules/errno (Makefile.am): Likewise.
21742         * modules/fcntl-h (Makefile.am): Likewise.
21743         * modules/float (Makefile.am): Likewise.
21744         * modules/getopt-posix (Makefile.am): Likewise.
21745         * modules/glob (Makefile.am): Likewise.
21746         * modules/iconv-h (Makefile.am): Likewise.
21747         * modules/inttypes (Makefile.am): Likewise.
21748         * modules/langinfo (Makefile.am): Likewise.
21749         * modules/locale (Makefile.am): Likewise.
21750         * modules/math (Makefile.am): Likewise.
21751         * modules/netdb (Makefile.am): Likewise.
21752         * modules/netinet_in (Makefile.am): Likewise.
21753         * modules/poll-h (Makefile.am): Likewise.
21754         * modules/pthread (Makefile.am): Likewise.
21755         * modules/pty (Makefile.am): Likewise.
21756         * modules/sched (Makefile.am): Likewise.
21757         * modules/search (Makefile.am): Likewise.
21758         * modules/selinux-h (Makefile.am): Likewise.
21759         * modules/signal (Makefile.am): Likewise.
21760         * modules/spawn (Makefile.am): Likewise.
21761         * modules/stdarg (Makefile.am): Likewise.
21762         * modules/stdbool (Makefile.am): Likewise.
21763         * modules/stddef (Makefile.am): Likewise.
21764         * modules/stdint (Makefile.am): Likewise.
21765         * modules/stdio (Makefile.am): Likewise.
21766         * modules/stdlib (Makefile.am): Likewise.
21767         * modules/string (Makefile.am): Likewise.
21768         * modules/strings (Makefile.am): Likewise.
21769         * modules/sys_file (Makefile.am): Likewise.
21770         * modules/sys_ioctl (Makefile.am): Likewise.
21771         * modules/sys_select (Makefile.am): Likewise.
21772         * modules/sys_socket (Makefile.am): Likewise.
21773         * modules/sys_stat (Makefile.am): Likewise.
21774         * modules/sys_time (Makefile.am): Likewise.
21775         * modules/sys_times (Makefile.am): Likewise.
21776         * modules/sys_utsname (Makefile.am): Likewise.
21777         * modules/sys_wait (Makefile.am): Likewise.
21778         * modules/sysexits (Makefile.am): Likewise.
21779         * modules/termios (Makefile.am): Likewise.
21780         * modules/time (Makefile.am): Likewise.
21781         * modules/unistd (Makefile.am): Likewise.
21782         * modules/wchar (Makefile.am): Likewise.
21783         * modules/wctype-h (Makefile.am): Likewise.
21784         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
21785
21786 2011-04-05  Bruno Haible  <bruno@clisp.org>
21787
21788         pipe2: Relicense under LGPLv2+.
21789         * modules/pipe2 (License): Change to LGPLv2+.
21790         Requested by Eric Blake, for libvirt.
21791
21792 2011-04-05  Bruce Korb  <bkorb@gnu.org>
21793
21794         bootstrap: compute gnulib_extra_files after updating build_aux
21795         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
21796         change build_aux or also supply gnulib_extra_files.  Handle correctly.
21797
21798 2011-04-05  Eric Blake  <eblake@redhat.com>
21799
21800         bootstrap: preserve git whitelist item sorting
21801         * build-aux/bootstrap (sort_patterns): New function.
21802         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
21803
21804 2011-04-05  Simon Josefsson  <simon@josefsson.org>
21805
21806         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
21807         sc_space_tab check.
21808
21809 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
21810
21811         areadlink, areadlinkat: rewrite in terms of careadlinkat
21812         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
21813         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
21814         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
21815         (malloc, realloc): Remove #undefs.
21816         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
21817         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
21818         readlink, ssize_t, stdint, unistd.
21819         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
21820         areadlink, stdint.
21821
21822         careadlinkat: new module
21823         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
21824         * modules/careadlinkat: New files, written by me with
21825         a review and feedback from Ben Pfaff in
21826         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
21827
21828 2011-04-01  Bruno Haible  <bruno@clisp.org>
21829
21830         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
21831         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
21832         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
21833         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
21834         Reported by Bruce Korb <bruce.korb@gmail.com>.
21835
21836 2011-04-01  Bruno Haible  <bruno@clisp.org>
21837
21838         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
21839         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
21840         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
21841         * modules/wcpcpy (Depends-on): Add extensions.
21842         * modules/wcpncpy (Depends-on): Likewise.
21843         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
21844         systems.
21845         * doc/posix-functions/wcpncpy.texi: Likewise.
21846         * doc/posix-functions/wcwidth.texi: Likewise.
21847
21848 2011-03-31  Eric Blake  <eblake@redhat.com>
21849
21850         nonblocking: fix mingw test failures
21851         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
21852         non-blocking flag on regular file.
21853         (get_nonblocking_flag): Set errno on invalid fd.
21854         * tests/test-nonblocking.c (main): Avoid test failure on
21855         directories if fchdir is not active.
21856         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
21857
21858 2011-03-31  Bruno Haible  <bruno@clisp.org>
21859
21860         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
21861         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
21862         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
21863         Reported by Simon Josefsson <simon@josefsson.org>.
21864
21865 2011-03-31  Bruno Haible  <bruno@clisp.org>
21866         and Eric Blake  <eblake@redhat.com>
21867
21868         nonblocking: new module
21869         * modules/nonblocking: New module.
21870         * modules/nonblocking-tests: Likewise.
21871         * lib/nonblocking.h: New file.
21872         * lib/nonblocking.c: Likewise.
21873         * tests/test-nonblocking.c: New test.
21874         * lib/ioctl.c (ioctl) [mingw]: Update comment.
21875
21876 2011-03-30  Bruno Haible  <bruno@clisp.org>
21877
21878         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
21879         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
21880         instead of 'printf' format for GCC >= 4.4.
21881         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
21882         (fprintf, printf, vfprintf, vprintf): Declare with
21883         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
21884         the system's vfprintf() function.
21885         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
21886
21887 2011-03-30  Eric Blake  <eblake@redhat.com>
21888
21889         passfd: fix scoping bug
21890         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
21891         before sendmsg/recvmsg.
21892
21893         passfd: standardize coding conventions
21894         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
21895         can be learned at compile time.
21896         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
21897         ifdefs.
21898         (sendfd, recvfd): Follow gnulib code conventions.
21899
21900         passfd: fix incorrect sendmsg arguments
21901         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
21902         incorrect msg_controllen value.
21903         * modules/passfd-tests (Depends-on): Check for alarm.
21904         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
21905         Reported by Bastien ROUCARIES.
21906
21907 2011-03-30  Bruno Haible  <bruno@clisp.org>
21908
21909         c-strcasestr: Relicense under LGPLv2+.
21910         * modules/c-strcasestr (License): Change to LGPLv2+.
21911         Requested by Eric Blake, for libvirt.
21912
21913 2011-03-30  Simon Josefsson  <simon@josefsson.org>
21914
21915         * users.txt: Add libidn2.  Fix libtasn1 link.
21916
21917 2011-03-30  Jim Meyering  <meyering@redhat.com>
21918
21919         tests: readlink* ("",... fails with EINVAL on newer kernels
21920         readlink and readlinkat have typically failed with ENOENT for
21921         the invalid, empty file name,  "".  However, with the advent
21922         of linux-2.6.39, they fail with EINVAL.
21923         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
21924         when operating on the empty file name.
21925         * tests/test-readlink.h (test_readlink): Likewise.
21926
21927 2011-03-29  Bruno Haible  <bruno@clisp.org>
21928
21929         Relicense some modules under LGPLv2+, for libidn2.
21930         * modules/array-mergesort (License): Change to LGPLv2+.
21931         * modules/c-strcaseeq (License): Likewise.
21932         * modules/striconveh (License): Likewise.
21933         * modules/striconveha (License): Likewise.
21934         * modules/uniconv/base (License): Likewise.
21935         * modules/uniconv/u8-conv-from-enc (License): Likewise.
21936         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
21937         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
21938         * modules/unictype/base (License): Likewise.
21939         * modules/unictype/bidiclass-of (License): Likewise.
21940         * modules/unictype/category-M (License): Likewise.
21941         * modules/unictype/category-none (License): Likewise.
21942         * modules/unictype/category-of (License): Likewise.
21943         * modules/unictype/category-test (License): Likewise.
21944         * modules/unictype/category-test-withtable (License): Likewise.
21945         * modules/unictype/combining-class (License): Likewise.
21946         * modules/unictype/joiningtype-of (License): Likewise.
21947         * modules/unictype/scripts (License): Likewise.
21948         * modules/uninorm/base (License): Likewise.
21949         * modules/uninorm/canonical-decomposition (License): Likewise.
21950         * modules/uninorm/composition (License): Likewise.
21951         * modules/uninorm/decompose-internal (License): Likewise.
21952         * modules/uninorm/decomposition-table (License): Likewise.
21953         * modules/uninorm/nfc (License): Likewise.
21954         * modules/uninorm/nfd (License): Likewise.
21955         * modules/uninorm/u32-normalize (License): Likewise.
21956         * modules/unistr/base (License): Likewise.
21957         * modules/unistr/u32-cpy (License): Likewise.
21958         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
21959         * modules/unistr/u32-to-u8 (License): Likewise.
21960         * modules/unistr/u32-uctomb (License): Likewise.
21961         * modules/unistr/u8-check (License): Likewise.
21962         * modules/unistr/u8-mblen (License): Likewise.
21963         * modules/unistr/u8-mbtouc (License): Likewise.
21964         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
21965         * modules/unistr/u8-mbtoucr (License): Likewise.
21966         * modules/unistr/u8-prev (License): Likewise.
21967         * modules/unistr/u8-strlen (License): Likewise.
21968         * modules/unistr/u8-to-u32 (License): Likewise.
21969         * modules/unistr/u8-uctomb (License): Likewise.
21970         * modules/unitypes (License): Likewise.
21971         Requested by Simon Josefsson.
21972
21973 2011-03-29  Simon Josefsson  <simon@josefsson.org>
21974
21975         lib-symbol-visibility: Add a notice.
21976         * modules/lib-symbol-visibility (Notice): New field.
21977
21978 2011-03-29  Bruno Haible  <bruno@clisp.org>
21979
21980         getaddrinfo: Doc fix.
21981         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
21982         section "fixed in Gnulib".
21983
21984 2011-03-28  Simon Josefsson  <simon@josefsson.org>
21985
21986         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
21987         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
21988
21989 2011-03-26  Bruno Haible  <bruno@clisp.org>
21990
21991         unictype/property-byname: Reduce the number of load-time relocations.
21992         * lib/unictype/pr_byname.c: Include <stdlib.h>.
21993         (UC_PROPERTY_INDEX_*): New enumeration values.
21994         (uc_property_byname): Convert an index from the lookup table to an
21995         uc_property_t.
21996         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
21997         values.
21998
21999 2011-03-26  Bruno Haible  <bruno@clisp.org>
22000
22001         unictype/property-byname: Allow omitted word separators and aliases.
22002         * lib/unictype/pr_byname.gperf: Add property names without word
22003         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
22004         for 'space'.
22005
22006 2011-03-26  Bruno Haible  <bruno@clisp.org>
22007
22008         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
22009         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
22010         also hyphens to space.
22011         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
22012         without spaces.
22013         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
22014
22015 2011-03-26  Bruno Haible  <bruno@clisp.org>
22016
22017         unictype/joiningtype-byname: Recognize long names as well.
22018         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
22019         a long name.
22020         * lib/unictype/joiningtype_byname.c: Include <string.h>,
22021         unictype/joiningtype_byname.h.
22022         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
22023         * lib/unictype/joiningtype_byname.gperf: New file.
22024         * modules/unictype/joiningtype-byname (Files): Add
22025         lib/unictype/joiningtype_byname.gperf.
22026         (Depends-on): Add gperf.
22027         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
22028         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
22029         long names.
22030
22031         Tests for module 'unictype/joiningtype-longname'.
22032         * modules/unictype/joiningtype-longname-tests: New file.
22033         * tests/unictype/test-joiningtype_longname.c: New file.
22034
22035         New module 'unictype/joiningtype-longname'.
22036         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
22037         * lib/unictype/joiningtype_longname.c: New file.
22038         * modules/unictype/joiningtype-longname: New file.
22039         * modules/unictype/joiningtype-all (Depends-on): Add
22040         unictype/joiningtype-longname.
22041
22042 2011-03-26  Bruno Haible  <bruno@clisp.org>
22043
22044         unictype/bidiclass-byname: Recognize long names as well.
22045         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
22046         name.
22047         * lib/unictype/bidi_byname.c: Include <string.h>,
22048         unictype/bidi_byname.h.
22049         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
22050         * lib/unictype/bidi_byname.gperf: New file.
22051         * modules/unictype/bidiclass-byname (Files): Add
22052         lib/unictype/bidi_byname.gperf.
22053         (Depends-on): Add gperf.
22054         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
22055         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
22056         long names.
22057
22058         Tests for module 'unictype/bidiclass-longname'.
22059         * modules/unictype/bidiclass-longname-tests: New file.
22060         * tests/unictype/test-bidi_longname.c: New file.
22061
22062         New module 'unictype/bidiclass-longname'.
22063         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
22064         * lib/unictype/bidi_longname.c: New file.
22065         * modules/unictype/bidiclass-longname: New file.
22066         * modules/unictype/bidiclass-all (Depends-on): Add
22067         unictype/bidiclass-longname.
22068
22069 2011-03-26  Bruno Haible  <bruno@clisp.org>
22070
22071         unictype/bidi*: Rename modules.
22072         * modules/unictype/bidiclass-all: Renamed from
22073         modules/unictype/bidicategory-all.
22074         * modules/unictype/bidiclass-name: Renamed from
22075         modules/unictype/bidiclass-name.
22076         (Description): Update.
22077         * modules/unictype/bidiclass-name-tests: Renamed from
22078         modules/unictype/bidicategory-name-tests.
22079         * modules/unictype/bidiclass-byname: Renamed from
22080         modules/unictype/bidicategory-byname.
22081         (Description): Update.
22082         * modules/unictype/bidiclass-byname-tests: Renamed from
22083         modules/unictype/bidicategory-byname-tests.
22084         * modules/unictype/bidiclass-of: Renamed from
22085         modules/unictype/bidicategory-of.
22086         (Description): Update.
22087         * modules/unictype/bidiclass-of-tests: Renamed from
22088         modules/unictype/bidicategory-of-tests.
22089         * modules/unictype/bidiclass-test: Renamed from
22090         modules/unictype/bidicategory-test.
22091         (Description): Update.
22092         * modules/unictype/bidiclass-test-tests: Renamed from
22093         modules/unictype/bidicategory-test-tests.
22094         * modules/unictype/bidicategory-all: New file, a simple redirection.
22095         * modules/unictype/bidicategory-name: Likewise.
22096         * modules/unictype/bidicategory-byname: Likewise.
22097         * modules/unictype/bidicategory-of: Likewise.
22098         * modules/unictype/bidicategory-test: Likewise.
22099         * modules/unictype/property-bidi-* (Dependencies): Update.
22100         * lib/unictype/bidi_*.c: Update comment.
22101
22102 2011-03-26  Bruno Haible  <bruno@clisp.org>
22103
22104         unictype/bidi*: Rename functions, part 2.
22105         * modules/unictype/bidicategory-name (configure.ac): Update required
22106         libunistring version.
22107         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
22108
22109 2011-03-25  Bruno Haible  <bruno@clisp.org>
22110
22111         New module 'unictype/combining-class-all'.
22112         * modules/unictype/combining-class-all: New file.
22113
22114         Tests for module 'unictype/combining-class-byname'.
22115         * modules/unictype/combining-class-byname-tests: New file.
22116         * tests/unictype/test-combiningclass_byname.c: New file.
22117
22118         New module 'unictype/combining-class-byname'.
22119         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
22120         * lib/unictype/combiningclass_byname.c: New file.
22121         * lib/unictype/combiningclass_byname.gperf: New file.
22122         * modules/unictype/combining-class-byname: New file.
22123
22124         Tests for module 'unictype/combining-class-longname'.
22125         * modules/unictype/combining-class-longname-tests: New file.
22126         * tests/unictype/test-combiningclass_longname.c: New file.
22127
22128         New module 'unictype/combining-class-longname'.
22129         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
22130         * lib/unictype/combiningclass_longname.c: New file.
22131         * modules/unictype/combining-class-longname: New file.
22132
22133         Tests for module 'unictype/combining-class-name'.
22134         * modules/unictype/combining-class-name-tests: New file.
22135         * tests/unictype/test-combiningclass_name.c: New file.
22136
22137         New module 'unictype/combining-class-name'.
22138         * lib/unictype.in.h (uc_combining_class_name): New declaration.
22139         * lib/unictype/combiningclass_name.c: New file.
22140         * modules/unictype/combining-class-name: New file.
22141
22142 2011-03-25  Bruno Haible  <bruno@clisp.org>
22143
22144         unictype/combining-class: Rename source files.
22145         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
22146         of unictype/combining.h.
22147         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
22148         Update.
22149         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
22150         * modules/unictype/combining-class (Description): Fix.
22151         (Files, Makefile.am): Update.
22152         * tests/unictype/test-combiningclass.c: Renamed from
22153         tests/unictype/test-combining.c.
22154         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
22155
22156 2011-03-25  Bruno Haible  <bruno@clisp.org>
22157
22158         unictype: Update list of canonical combining classes.
22159         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
22160
22161 2011-03-25  Bruno Haible  <bruno@clisp.org>
22162
22163         unictype/category-byname: Recognize long names as well.
22164         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
22165         a long name.
22166         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
22167         unictype/categ_byname.h.
22168         (UC_CATEGORY_INDEX_*): New enumeration values.
22169         (uc_general_category_byname): Use uc_general_category_lookup and
22170         convert from index to value.
22171         * lib/unictype/categ_byname.gperf: New file.
22172         * modules/unictype/category-byname (Files): Add
22173         lib/unictype/categ_byname.gperf.
22174         (Depends-on): Add gperf.
22175         (Makefile.am): Add rule for generating unictype/categ_byname.h.
22176         * tests/unictype/test-categ_byname.c (main): Test the recognition of
22177         long names.
22178
22179         Tests for module 'unictype/category-longname'.
22180         * modules/unictype/category-longname-tests: New file.
22181         * tests/unictype/test-categ_longname.c: New file.
22182
22183         New module 'unictype/category-longname'.
22184         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
22185         * lib/unictype/categ_longname.c: New file.
22186         * modules/unictype/category-longname: New file.
22187         * modules/unictype/category-all (Depends-on): Add it.
22188
22189 2011-03-25  Bruno Haible  <bruno@clisp.org>
22190
22191         Tests for module 'unictype/category-LC'.
22192         * modules/unictype/category-LC-tests: New file.
22193         * tests/unictype/test-categ_LC.c: New file, automatically generated.
22194
22195         New module 'unictype/category-LC'.
22196         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
22197         (UC_CATEGORY_LC): New declaration.
22198         (UC_CASED_LETTER): New macro.
22199         * lib/gen-uni-tables.c (is_category_LC): New function.
22200         (output_categories): Also handle category LC.
22201         (UC_CATEGORY_MASK_LC): New enumeration value.
22202         (general_category_byname): Also handle category LC.
22203         * lib/unictype/categ_LC.c: New file.
22204         * lib/unictype/categ_LC.h: New file, automatically generated.
22205         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
22206         category LC.
22207         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
22208         * modules/unictype/category-LC: New file.
22209         * modules/unictype/category-byname (Depends-on): Add
22210         unictype/category-LC.
22211         * modules/unictype/category-all (Depends-on): Likewise.
22212
22213 2011-03-25  Eric Blake  <eblake@redhat.com>
22214
22215         xmalloc: revert yesterday's regression
22216         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
22217         realloc's underlying behavior (allowing allocation of zero-size
22218         objects, especially if malloc-gnu is also in use).
22219
22220 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
22221
22222         maint.mk: add missing version to VC-tag
22223         * top/maint.mk: git tag was missing actual tag name; add it.
22224
22225         valgrind: do leak checking, and exit with code 1 on error (not 0)
22226         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
22227         to VALGRIND.
22228
22229 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
22230
22231         posix-modules: say what it does.
22232         * posix-modules: Add a line to the --help output saying what it does.
22233
22234 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
22235
22236         xmalloc: Do not leak if underlying realloc is C99 compatible.
22237         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
22238         This avoids a leak on C99-based systems.  See
22239         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
22240
22241 2011-03-24  Eric Blake  <eblake@redhat.com>
22242
22243         realloc: document portability problem
22244         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
22245         passing 0 size to realloc.
22246
22247 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
22248
22249         doc: update users.txt
22250         * users.txt: Add cvsps, tmpwatch
22251
22252 2011-03-23  Matt Rice  <ratmice@gmail.com>
22253
22254         doc: update users.txt
22255         * users.txt: Add gdb.
22256
22257 2011-03-23  Jim Meyering  <meyering@redhat.com>
22258
22259         doc: update users.txt
22260         Looking through matches up to the following URL (there are still
22261         several more pages), I found several projects that use gnulib:
22262         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
22263         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
22264         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
22265
22266 2011-03-22  Bruno Haible  <bruno@clisp.org>
22267
22268         unictype/bidi*: Rename functions.
22269         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
22270         uc_bidi_class, uc_is_bidi_class): New declarations.
22271         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
22272         uc_bidi_category_byname.
22273         (uc_bidi_category_byname): New function.
22274         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
22275         u_bidi_category_name.
22276         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
22277         (uc_bidi_category_name): New function.
22278         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
22279         uc_bidi_category.
22280         (uc_bidi_category): New function.
22281         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
22282         uc_is_bidi_category. Invoke uc_bidi_class.
22283         (uc_is_bidi_category): New function.
22284         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
22285         instead of uc_bidi_category_byname.
22286         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
22287         instead of uc_bidi_category_name.
22288         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
22289         uc_bidi_category.
22290         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
22291         instead of uc_is_bidi_category.
22292
22293 2011-03-21  Bruno Haible  <bruno@clisp.org>
22294
22295         New module 'unictype/joininggroup-all'.
22296         * modules/unictype/joininggroup-all: New file.
22297
22298         Tests for module 'unictype/joininggroup-of'.
22299         * modules/unictype/joininggroup-of-tests: New file.
22300         * tests/unictype/test-joininggroup_of.c: New file.
22301         * tests/unictype/test-joininggroup_of.h: New file, automatically
22302         generated by gen-uni-tables.
22303
22304         New module 'unictype/joininggroup-of'.
22305         * modules/unictype/joininggroup-of: New file.
22306         * lib/unictype/joininggroup_of.c: New file.
22307         * lib/unictype/joininggroup_of.h: New file, automatically generated by
22308         gen-uni-tables.
22309
22310         Tests for module 'unictype/joininggroup-byname'.
22311         * modules/unictype/joininggroup-byname-tests: New file.
22312         * tests/unictype/test-joininggroup_byname.c: New file.
22313
22314         New module 'unictype/joininggroup-byname'.
22315         * modules/unictype/joininggroup-byname: New file.
22316         * lib/unictype/joininggroup_byname.c: New file.
22317         * lib/unictype/joininggroup_byname.gperf: New file.
22318
22319         Tests for module 'unictype/joininggroup-name'.
22320         * modules/unictype/joininggroup-name-tests: New file.
22321         * tests/unictype/test-joininggroup_name.c: New file.
22322
22323         New module 'unictype/joininggroup-name'.
22324         * modules/unictype/joininggroup-name: New file.
22325         * lib/unictype/joininggroup_name.c: New file.
22326         * lib/unictype/joininggroup_name.h: New file.
22327
22328         New module 'unictype/joiningtype-all'.
22329         * modules/unictype/joiningtype-all: New file.
22330
22331         Tests for module 'unictype/joiningtype-of'.
22332         * modules/unictype/joiningtype-of-tests: New file.
22333         * tests/unictype/test-joiningtype_of.c: New file.
22334         * tests/unictype/test-joiningtype_of.h: New file, automatically
22335         generated by gen-uni-tables.
22336
22337         New module 'unictype/joiningtype-of'.
22338         * modules/unictype/joiningtype-of: New file.
22339         * lib/unictype/joiningtype_of.c: New file.
22340         * lib/unictype/joiningtype_of.h: New file, automatically generated by
22341         gen-uni-tables.
22342
22343         Tests for module 'unictype/joiningtype-byname'.
22344         * modules/unictype/joiningtype-byname-tests: New file.
22345         * tests/unictype/test-joiningtype_byname.c: New file.
22346
22347         New module 'unictype/joiningtype-byname'.
22348         * modules/unictype/joiningtype-byname: New file.
22349         * lib/unictype/joiningtype_byname.c: New file.
22350
22351         Tests for module 'unictype/joiningtype-name'.
22352         * modules/unictype/joiningtype-name-tests: New file.
22353         * tests/unictype/test-joiningtype_name.c: New file.
22354
22355         New module 'unictype/joiningtype-name'.
22356         * modules/unictype/joiningtype-name: New file.
22357         * lib/unictype/joiningtype_name.c: New file.
22358
22359         unictype: Add support for Arabic shaping properties.
22360         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
22361         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
22362         declarations.
22363         (UC_JOINING_GROUP_*): New enumeration values.
22364         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
22365         declarations.
22366         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
22367         (unicode_joining_type): New variable.
22368         (UC_JOINING_GROUP_*): New enumeration values.
22369         (unicode_joining_group): New variable.
22370         (fill_arabicshaping, joining_type_as_c_identifier,
22371         output_joining_type_test, output_joining_type,
22372         joining_group_as_c_identifier, output_joining_group_test,
22373         output_joining_group): New functions.
22374         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
22375         fill_arabicshaping and output_joining_type_test, output_joining_type,
22376         output_joining_group_test, output_joining_group.
22377         Reported by Simon Josefsson.
22378
22379 2011-03-21  Jim Meyering  <meyering@redhat.com>
22380
22381         strftime: fix a bug in yesterday's change
22382         * lib/strftime.c (add): Accommodate width's initial value of -1.
22383         Otherwise, nstrftime would copy uninitialized data into
22384         the result buffer.
22385
22386 2011-03-21  Jim Meyering  <meyering@redhat.com>
22387
22388         tests: add strftime-tests module
22389         * tests/test-strftime.c: New file.
22390         * modules/strftime-tests: New module.
22391
22392 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22393
22394         strftime: don't assume a byte count fits in 'int'
22395         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
22396         found this problem by static analysis, using gcc -Wstrict-overflow
22397         (GCC 4.5.2, x86-64).  This reported an optimization that depended
22398         on an integer overflow having undefined behavior, but it turns out
22399         that the argument is a size, which might not fit in 'int' anyway,
22400
22401 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22402
22403         stdio: don't require ignore_value around fwrite
22404
22405         This patch works around libc bug 11959
22406         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
22407         Without this patch, applications must often write
22408         ignore_value (fwrite (...)) even though the ignore_value is
22409         not helpful here.  It's common to write many objects, using
22410         fwrite/printf/etc., and then use ferror to detect output error.
22411
22412         I considered making this patch optional, but decided against it,
22413         because libc is obviously being inconsistent here: there is no
22414         reason libc should insist that user code must inspect fwrite
22415         return's value without also insisting that it inspect printf's,
22416         putchar's, etc.  If user code wants to have a strict style where
22417         all these functions' values are checked (so that ferror need not
22418         be checked), we could add support for that style in a new gnulib
22419         module, but in the meantime it's better to be consistent and to
22420         support common usage.
22421
22422         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
22423         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
22424         that we are compiling in checking mode, and if not C++, and
22425         if not already wrapping fwrite for some other reason.
22426         (fwrite): #define to rpl_fwrite if the latter is defined.
22427
22428 2011-03-20  Bruno Haible  <bruno@clisp.org>
22429
22430         verror: Fix compilation error introduced on 2011-02-13.
22431         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
22432         instead of __attribute__.
22433         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22434
22435 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22436             Bruno Haible  <bruno@clisp.org>
22437
22438         socklen: do not depend on sys_socket
22439         While trying to modify Emacs to use gnulib's socklen module,
22440         I discovered a circular dependency: socklen depends on sys_socket
22441         and vice versa.  Emacs can use socklen, but it does not need
22442         sys_socket because it has its own substitute for sys/socket.h.
22443         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
22444         gl_TYPE_SOCKLEN_T.
22445         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
22446         gl_PREREQ_SYS_H_SOCKET.
22447         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
22448         gl_PREREQ_SYS_H_SOCKET.
22449         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
22450         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
22451         * modules/socklen (Depends-on): Do not depend on sys_socket.
22452         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
22453
22454 2011-03-20  Jim Meyering  <meyering@redhat.com>
22455
22456         maint.mk: sort file names *after* new transformation
22457         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
22458         prefix would have led to an unwarranted failure in GNU parted.
22459         Sort after that transformation.
22460
22461 2011-03-19  Jim Meyering  <meyering@redhat.com>
22462
22463         maint.mk: fix po-file syntax-check rule
22464         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
22465         Patch by Bruno Haible.
22466
22467 2011-03-19  Bruno Haible  <bruno@clisp.org>
22468
22469         socklen: Update comment.
22470         * m4/socklen.m4: Update comment about platforms.
22471
22472 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
22473             Bruno Haible  <bruno@clisp.org>
22474
22475         inet_ntop, inet_pton: Simplify.
22476         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
22477         documented to provide socklen_t and we already depend on sys_socket.
22478         * modules/inet_pton (Depends-on): Likewise.
22479         * lib/arpa_inet.in.h: Adjust comment.
22480
22481 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
22482             Bruno Haible  <bruno@clisp.org>
22483
22484         netdb: Simplify.
22485         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
22486         documented to provide socklen_t and we already depend on sys_socket.
22487         * lib/netdb.in.h: Adjust comment.
22488
22489 2011-03-19  Bruno Haible  <bruno@clisp.org>
22490
22491         sys_socket, netdb: Document problem with socklen_t.
22492         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
22493         platforms.
22494         * doc/posix-headers/netdb.texi: Likewise.
22495
22496 2011-03-18  Eric Blake  <eblake@redhat.com>
22497
22498         maint.mk: let po check work in VPATH build
22499         * top/maint.mk (po_file): Allow cfg.mk override.
22500         (sc_po_check): Allow VPATH use.
22501         Reported by Jiri Denemark.
22502
22503 2011-03-16  Jim Meyering  <meyering@redhat.com>
22504
22505         maint.mk: allow fine-grained syntax-check exclusion via Make variables
22506         Before, you would have had to create one .x-sc_ file per rule in order
22507         to exempt offending files.  Now, you may instead use a Make variable --
22508         usually defined in cfg.mk -- whose name identifies the affected rule.
22509         * top/maint.mk (_sc_excl): Define.
22510         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
22511         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
22512
22513 2011-03-13  Bruno Haible  <bruno@clisp.org>
22514
22515         ignore-value tests: Avoid warnings.
22516         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
22517         empty for gcc < 3.4.
22518
22519 2011-03-13  Bruno Haible  <bruno@clisp.org>
22520
22521         passfd: Fix link error on Solaris.
22522         * modules/passfd (Description): Correct.
22523         (Depends-on): Add socketlib.
22524         (Link): New section.
22525         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
22526
22527 2011-03-13  Bruno Haible  <bruno@clisp.org>
22528
22529         passfd: Fix link error on AIX 5.2.
22530         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
22531
22532 2011-03-13  Bruno Haible  <bruno@clisp.org>
22533
22534         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
22535         * lib/sys_socket.in.h: Include <stddef.h>.
22536         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
22537         CMSG_FIRSTHDR. Remove unused variable.
22538
22539 2011-03-13  Bruno Haible  <bruno@clisp.org>
22540
22541         passfd: Fix compilation error on OpenBSD.
22542         * lib/passfd.c: Include <sys/uio.h>.
22543
22544 2011-03-13  Bruno Haible  <bruno@clisp.org>
22545
22546         passfd test: Fix warnings.
22547         * tests/test-passfd.c: Include <sys/wait.h>.
22548         (main): Fix typo.
22549
22550 2011-03-13  Bruno Haible  <bruno@clisp.org>
22551
22552         passfd module, part 4, tweaks.
22553         * tests/test-passfd.c: Reorder includes.
22554         (main): Fix perror and printf calls.
22555
22556 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22557
22558         passfd module, part 4.
22559         * modules/passfd-tests: New file.
22560         * tests/test-passfd.c: New file.
22561
22562 2011-03-13  Jim Meyering  <meyering@redhat.com>
22563
22564         Makefile: rely on GNU make; derive syntax-check rule names
22565         Rather than requiring that each sc_ rule be listed as a dependent
22566         of "check", use features of GNU make to derive the list.
22567         * Makefile (syntax-check-rules): Define.
22568         (check): Depend on the new variable, not the hard-coded list.
22569
22570 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
22571             Bruno Haible  <bruno@clisp.org>
22572
22573         passfd module, part 3.
22574         * lib/passfd.h (recvfd): Add a flags argument.
22575         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
22576         (recvfd): Add a flags argument.
22577         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
22578         exists.
22579         * modules/passfd (Depends-on): Add cloexec.
22580         Suggested by Eric Blake.
22581
22582 2011-03-13  Bruno Haible  <bruno@clisp.org>
22583
22584         passfd module, part 2, tweaks.
22585         * modules/passfd (Files): Reorder.
22586         (Depends-on): Remove errno.
22587         (Include): Remove <sys/socket.h>, <sys/un.h>.
22588         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
22589         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
22590         specification header. Include <sys/socket.h> always. Don't include
22591         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
22592         (sendfd): Clarify that it sets errno when it fails.
22593         (recvfd): Fix specification.
22594
22595 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22596
22597         passfd module, part 2.
22598         * modules/passfd: New file.
22599         * lib/passfd.h: New file.
22600         * lib/passfd.c: New file.
22601
22602 2011-03-12  Bruno Haible  <bruno@clisp.org>
22603
22604         wcswidth, mbswidth: Avoid integer overflow.
22605         * lib/wcswidth.c: Include <limits.h>.
22606         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
22607         * lib/mbswidth.c: Include <limits.h>.
22608         (mbsnwidth): Avoid 'int' overflow.
22609         Reported by Jim Meyering.
22610
22611 2011-03-12  Bruno Haible  <bruno@clisp.org>
22612
22613         futimens, utimensat: Avoid endless recursion on Solaris 10.
22614         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
22615         Solaris.
22616         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
22617         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
22618
22619 2011-03-11  Jim Meyering  <meyering@redhat.com>
22620
22621         maint.mk: relax a regexp to accommodate other formatting styles
22622         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
22623         between "ngettext" and the following "(".
22624
22625 2011-03-11  Pádraig Brady <P@draigBrady.com>
22626
22627         maint.mk: suppress a false positive warning
22628         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
22629         diagnostics are marked with ngettext.
22630
22631 2011-03-10  Eric Blake  <eblake@redhat.com>
22632
22633         wchar: add explicit dependencies, for Tru64
22634         * modules/mbmemcasecoll (Depends-on): Add wchar.
22635         * modules/mbtowc (Depends-on): Likewise.
22636         * modules/vasnprintf (Depends-on): Likewise.
22637         * modules/unistdio/u-printf-args (Depends-on): Likewise.
22638         * modules/wctomb (Depends-on): Likewise.
22639         Reported by Peter O'Gorman.
22640
22641 2011-03-08  Bruno Haible  <bruno@clisp.org>
22642
22643         passfd module, part 1, tweaks.
22644         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
22645         Improve indentation. Improve AC_MSG_CHECKING messages.
22646         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
22647         gl_SOCKET_FAMILIES.
22648
22649 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22650
22651         passfd module, part 1.
22652         * m4/afunix.m4: New file.
22653         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
22654         sockets.
22655
22656 2011-03-08  Bruno Haible  <bruno@clisp.org>
22657
22658         regex-quote: New API.
22659         * lib/regex-quote.h: Include <stdbool.h>.
22660         (struct regex_quote_spec): New type.
22661         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
22662         New declarations.
22663         (regex_quote_length, regex_quote_copy, regex_quote): Take a
22664         'const struct regex_quote_spec *' argument.
22665         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
22666         (pcre_special): New constant.
22667         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
22668         New functions.
22669         (regex_quote_length, regex_quote_copy, regex_quote): Take a
22670         'const struct regex_quote_spec *' argument.
22671         * modules/regex-quote (Depends-on): Add stdbool.
22672         * tests/test-regex-quote.c (check): Update for new API. Add test for
22673         anchored results.
22674         * NEWS: Mention the API change.
22675         Reported by Reuben Thomas and Eric Blake.
22676
22677 2011-03-06  Bruno Haible  <bruno@clisp.org>
22678
22679         regex-quote: Fix creation of POSIX extended regular expressions.
22680         * lib/regex-quote.c (ere_special): Add grouping and alternation
22681         operators.
22682
22683 2011-03-05  Bruno Haible  <bruno@clisp.org>
22684
22685         doc: Improve doc regarding autopoint vs. gnulib.
22686         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
22687         disable autopoint while running autoreconf.
22688         Suggested by Ralf Wildenhues.
22689
22690 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22691
22692         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
22693         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
22694
22695 2011-03-03  Bruce Korb  <bkorb@gnu.org>
22696
22697         parse-duration: remove xalloc.h dependency
22698         * lib/parse-duration.c (parse_period): handle NULL return from
22699         strdup instead of calling xstrdup().
22700         * modules/parse-duration: remove "xalloc" dependency
22701
22702 2011-03-03  Matthew Booth  <mbooth@redhat.com>
22703
22704         bootstrap: honor m4_base when running aclocal
22705         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
22706
22707 2011-03-02  Jim Meyering  <meyering@redhat.com>
22708
22709         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
22710         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
22711         on request from Matt Booth.
22712
22713 2011-03-01  Eric Blake  <eblake@redhat.com>
22714
22715         test-link: work on Hurd
22716         * tests/test-link.h (test_link): Hurd rejects linking directories
22717         with EISDIR instead of the POSIX-mandated EPERM.
22718
22719 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
22720
22721         stdio: simplify by moving files to printf-posix, sigpipe
22722         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
22723         since this symbol is needed only if printf is replaced.
22724         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
22725         Require gl_ASM_SYMBOL_PREFIX.
22726         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
22727         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
22728         (Depends-on): Add 'raise'.
22729         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
22730         * modules/stdio (Files): Remove lib/stdio-write.c,
22731         m4/asm-underscore.m4.
22732         (Depends-on): Remove 'raise'.
22733
22734         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
22735         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
22736         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
22737         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
22738
22739 2011-02-28  Bruno Haible  <bruno@clisp.org>
22740
22741         localcharset: Assume ANSI C behaviour of free().
22742         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
22743         calling free().
22744         Suggested by Simon Josefsson <simon@josefsson.org>.
22745
22746 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
22747             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
22748             Bruno Haible  <bruno@clisp.org>  (tiny change)
22749
22750         On Cygwin, use /proc file system instead of win32 API.
22751         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
22752         Win32 file names.
22753         (DllMain): Simplify by removing Cygwin specific code.
22754         (find_shared_library_fullname): Use Linux specific implementation also
22755         for Cygwin.
22756         (get_shared_library_fullname): Update accordingly.
22757         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
22758         Win32 file names.
22759         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
22760         Cygwin specific code.
22761
22762 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
22763             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
22764
22765         Fix OpenMP flag detection for various Fortran compilers.
22766         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
22767         OpenMP-conditional compilation construct, to force compile
22768         failure with missing OpenMP flag.
22769         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
22770
22771 2011-02-25  Eric Blake  <eblake@redhat.com>
22772
22773         strstr: expand test coverage
22774         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
22775         compilation.
22776         * tests/test-memmem.c (main): Duplicate tests.
22777         * tests/test-strcasestr.c (main): Likewise.
22778         * tests/test-c-strcasestr.c (main): Likewise.
22779
22780 2011-02-25  Jim Meyering  <meyering@redhat.com>
22781
22782         maint.mk: detect missing-NL-at-EOF, too
22783         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
22784         it also detects when a file lacks a newline at EOF.
22785         (require_exactly_one_NL_at_EOF_): Renamed from
22786         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
22787         since people may well have .x-sc_... file names tied to the
22788         existing name.  Suggested by Eric Blake.
22789
22790 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
22791
22792         dirname: move m4/dos.m4 functionality into lib/dosname.h
22793
22794         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
22795         extracts symbols from it, puts them into config.h; but it's much
22796         easier to use the symbols directly.  filename.h already does this,
22797         but it disagrees with dos.m4 in some respects.  This patch
22798         introduces a different include file dosname.h that packages up
22799         dos.m4, and then later we can work on merging filename.h and
22800         dosname.h.  Applications that need only the easy-to-configure
22801         symbols should consider including dosname.h rather than dirname.h.
22802         * NEWS: Mention incompatible changes.
22803         * m4/dos.m4: Remove.
22804         * lib/dosname.h, modules/dosname: New files.
22805         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
22806         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
22807         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
22808         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
22809         Include dosname.h, not dirname.h.
22810         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
22811         Include dosname.h, for definitions of symbols like ISSLASH
22812         that used to be in config.h.
22813         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
22814         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22815         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22816         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22817         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
22818         * modules/rmdir (Files): Likewise.
22819         * modules/stat (Files): Likewise.
22820         * modules/unlink (Files): Likewise.
22821         * modules/dirname-lgpl (Depends-on): Add dosname.
22822         * modules/lstat (Depends-on): Likewise.
22823         * modules/openat (Depends-on): Likewise.
22824         * modules/rmdir (Depends-on): Likewise.
22825         * modules/savewd (Depends-on): Likewise.
22826         * modules/stat (Depends-on): Likewise.
22827         * modules/unlink (Depends-on): Likewise.
22828         * modules/openat (Depends-on): Remove dirname-lgpl.
22829         * modules/savewd (Depends-on): Likewise.
22830         * tests/test-dirname.c: Do not use removed symbols like
22831         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
22832         the remaining symbols, e.g., ISSLASH ('\\').
22833
22834 2011-02-25  Eric Blake  <eblake@redhat.com>
22835
22836         strstr: revert patches that introduced bug and pessimization
22837         * lib/str-two-way.h: Add another reference.
22838         (two_way_short_needle, two_way_long_needle): Revert changes from
22839         2011-02-24; they pessimize search speed.
22840         (critical_factorization): Partially revert changes from
22841         2010-06-22; they violate the requirement that the left half of the
22842         needle be smaller than the period of the needle.
22843
22844 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
22845
22846         filenamecat: remove unnecessary dependency on dirname-lgpl
22847         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
22848         is no direct dependency, just an indirect one via filenamecat-lgpl.
22849
22850         remove: remove unnecessary use of m4/dos.m4
22851         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
22852         * modules/remove (FILES): Remove m4/dos.m4.
22853
22854         * lib/openat-proc.c: Don't include dirname.h; not needed.
22855
22856         backupfile: remove unnecessary use of m4/dos.m4
22857         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
22858         of its symbols are used by the backupfile code.  backupfile.c does
22859         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
22860         for the rare case of programs that want all their backup file
22861         names to live within 8+3 limits, and dos.m4 doesn't address that.
22862         * modules/backupfile (Files): Remove m4/dos.m4.
22863
22864 2011-02-24  Jim Meyering  <meyering@redhat.com>
22865
22866         strstr: fix a bug whereby strstr would mistakenly return NULL
22867         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
22868         in period calculation.
22869         (two_way_long_needle): Likewise.
22870         The original problem was reported by Mike Stump in
22871         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
22872         Ralf Wildenhues provided the short needle and haystack.
22873         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
22874         Add a more involved test to trigger the bug in two_way_long_needle.
22875
22876 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
22877
22878         gnulib-tool: remove use of bold display in help screen
22879         * gnulib-tool (func_usage): Do not use bold display anymore in the
22880         help screen.  That was just meant to be a temporary emphasis for a
22881         backward-incompatible change.
22882
22883 2011-02-23  Bruno Haible  <bruno@clisp.org>
22884
22885         Fix misindentation of preprocessor directives.
22886         * lib/argp-namefrob.h: Reindent preprocessor directives.
22887         * lib/getopt_int.h (struct _getopt_data): Likewise.
22888         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
22889         * lib/vasnprintf.c (decode_long_double): Likewise.
22890         * tests/test-argmatch.c: Insert blank lines, for clarity.
22891         * tests/test-exclude.c: Likewise.
22892
22893 2011-02-22  Bruno Haible  <bruno@clisp.org>
22894
22895         ioctl: Fix for MacOS X in 64-bit mode.
22896         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
22897         value.
22898         Suggested by Eric Blake.
22899         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
22900
22901 2011-02-22  Jim Meyering  <meyering@redhat.com>
22902
22903         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
22904         * Makefile (sc_cpp_indent_check): Don't limit the check to files
22905         in lib/.
22906
22907 2011-02-22  Eric Blake  <eblake@redhat.com>
22908
22909         maint: avoid any CDPATH issue
22910         * Makefile (sc_cpp_indent_check): Anchor cd argument.
22911
22912         maint: adjust cpp indentation for my modules, as well
22913         * Makefile (sc_cpp_indent_check): Add my name.
22914         * lib/fbufmode.c: Filter through cppi.
22915         * lib/fpurge.c: Likewise.
22916         * lib/freadable.c: Likewise.
22917         * lib/freading.c: Likewise.
22918         * lib/fwritable.c: Likewise.
22919         * lib/fwriting.c: Likewise.
22920         * lib/sigaction.c: Likewise.
22921
22922 2011-02-22  Jim Meyering  <meyering@redhat.com>
22923
22924         maint: adjust cpp indentation to reflect nesting depth
22925         I.e., in a block of code that begins with an unnested "#if",
22926         put one space between the "#" in column 1 and following token.
22927         For example,
22928         -#include <sys/vfs.h>
22929         +# include <sys/vfs.h>
22930         Do this only in .c files that are part of a module I maintain.
22931         * lib/linkat.c: Filter through cppi.
22932         * lib/nanosleep.c: Likewise.
22933         * lib/openat.c: Likewise.
22934         * lib/openat-die.c: Likewise.
22935         * lib/dup3.c: Likewise.
22936         * lib/fchownat.c: Likewise.
22937         * lib/flock.c: Likewise.
22938         * lib/fsync.c: Likewise.
22939         * lib/fts.c: Likewise.
22940         * lib/getpass.c: Likewise.
22941         * lib/gettimeofday.c: Likewise.
22942         * lib/userspec.c: Likewise.
22943         * Makefile (sc_cpp_indent_check): New rule, to check this.
22944
22945 2011-02-22  Bruno Haible  <bruno@clisp.org>
22946
22947         New module 'wctomb'.
22948         * lib/stdlib.in.h (wctomb): New declaration.
22949         * lib/wctomb.c: New file.
22950         * lib/wctomb-impl.h: New file.
22951         * m4/wctomb.m4: New file.
22952         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
22953         REPLACE_WCTOMB.
22954         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
22955         REPLACE_WCTOMB.
22956         * modules/wctomb: New file.
22957         * tests/test-stdlib-c++.cc: Test signature of wctomb.
22958         * doc/posix-functions/wctomb.texi: Mention the new module.
22959         * modules/wctob (Depends-on): Add wctomb.
22960
22961 2011-02-22  Bruno Haible  <bruno@clisp.org>
22962
22963         New module 'mbtowc'.
22964         * lib/stdlib.in.h (mbtowc): New declaration.
22965         * lib/mbtowc.c: New file.
22966         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
22967         * m4/mbtowc.m4: New file.
22968         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
22969         REPLACE_MBTOWC.
22970         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
22971         REPLACE_MBTOWC.
22972         * modules/mbtowc: New file.
22973         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
22974         * doc/posix-functions/mbtowc.texi: Mention the new module.
22975         * modules/btowc (Depends-on): Add mbtowc.
22976
22977 2011-02-22  Bruno Haible  <bruno@clisp.org>
22978
22979         wcrtomb: Add more tests for native Windows platforms.
22980         * tests/test-wcrtomb-w32-1.sh: New file.
22981         * tests/test-wcrtomb-w32-2.sh: New file.
22982         * tests/test-wcrtomb-w32-3.sh: New file.
22983         * tests/test-wcrtomb-w32-4.sh: New file.
22984         * tests/test-wcrtomb-w32-5.sh: New file.
22985         * tests/test-wcrtomb-w32.c: New file.
22986         * modules/wcrtomb-tests (Files): Add them.
22987         (Makefile.am): Arrange to run these tests.
22988         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
22989         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
22990
22991 2011-02-20  Bruno Haible  <bruno@clisp.org>
22992
22993         wcrtomb: Enhance test.
22994         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
22995
22996 2011-02-20  Bruno Haible  <bruno@clisp.org>
22997
22998         mbrtowc: Tiny optimization.
22999         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
23000
23001 2011-02-20  Jim Meyering  <meyering@redhat.com>
23002
23003         test-exclude.c: remove unmatched #endif
23004         * tests/test-exclude.c: Remove stray #endif, left over from
23005         the change of a week ago.
23006
23007 2011-02-19  Jim Meyering  <meyering@redhat.com>
23008
23009         git-version-gen: skip "-dirty" check when appropriate
23010         * build-aux/git-version-gen: Don't run any git commands when the
23011         version string comes from .tarball-version.  Prior to this, we
23012         would run git update-index --refresh even from a just-unpacked
23013         tarball directory, and that could affect a .git/ directory in a
23014         parent of the build directory.  Reported by Mike Frysinger.
23015
23016 2011-02-19  Bruno Haible  <bruno@clisp.org>
23017
23018         unictype/property-byname: Reduce the size of the 'data' segment.
23019         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
23020
23021 2011-02-19  Bruno Haible  <bruno@clisp.org>
23022
23023         unictype/scripts: Reduce the size of the 'data' segment.
23024         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
23025         '%pic'.
23026         * lib/unictype/scripts_byname.gperf: Regenerated.
23027
23028 2011-02-19  Bruno Haible  <bruno@clisp.org>
23029
23030         stdint: Update documentation.
23031         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
23032
23033 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
23034
23035         stdint: omit redundant check for wchar.h
23036         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
23037         always tests whether wchar.h exists, so remove the now-redundant test.
23038
23039 2011-02-18  Bruno Haible  <bruno@clisp.org>
23040
23041         stdint: Cut dependency to module 'wchar'.
23042         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
23043         include the necessary prerequisites.
23044         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
23045         * modules/stdint (Depends-on): Remove wchar.
23046         (Makefile.am): Substitute HAVE_WCHAR_H.
23047         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
23048
23049 2011-02-18  Eric Blake  <eblake@redhat.com>
23050
23051         longlong: skip, rather than fail, on cross-compilation
23052         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
23053         when cross-compiling; regression from 2011-02-16.
23054
23055 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23056
23057         * NEWS: Mention 2011-02-08 change to stdlib.
23058
23059 2011-02-17  Bruno Haible  <bruno@clisp.org>
23060
23061         getloadavg: Add comments about platforms.
23062         * m4/getloadavg.m4: Add comment.
23063         * lib/getloadavg.c: Likewise.
23064
23065 2011-02-17  Bruno Haible  <bruno@clisp.org>
23066
23067         getloadavg: Fix link error on Solaris 2.6.
23068         * modules/getloadavg (Link): New section.
23069         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
23070         linking test-getloadavg.
23071         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
23072         getloadavg.
23073
23074 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23075
23076         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
23077         It was 'int', but this doesn't match the IRIX 6.5 manual.
23078         Suggested by Bruno Haible in
23079         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
23080
23081 2011-02-17  Bruno Haible  <bruno@clisp.org>
23082
23083         havelib: Fix comments.
23084         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
23085         change.
23086
23087 2011-02-17  Bruno Haible  <bruno@clisp.org>
23088
23089         havelib: Update config.rpath.
23090         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
23091
23092 2011-02-17  Bruno Haible  <bruno@clisp.org>
23093
23094         getloadavg test: Add some plausibility checks.
23095         * tests/test-getloadavg.c (check_avg): Print a warning when the value
23096         is improbable.
23097
23098 2011-02-16  Eric Blake  <eblake@redhat.com>
23099
23100         maintainer-makefile: make syntax-check a no-op from tarballs
23101         * top/maint.mk (no-vc-detected): New rule.
23102         (local-checks-available): Use it to avoid hanging if someone tries
23103         'make syntax-check' from a tarball.  Also append to any non-syntax
23104         checks already defined in cfg.mk.
23105
23106 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
23107
23108         longlong: tune, particularly for common case of c99
23109
23110         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
23111         or running anything if c99, or if unsigned long long int does not
23112         work.  In either case, we know the answer without further tests.
23113         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
23114         it at most once, and use its results for both long long int and
23115         unsigned long long int.  This is more likely to be efficient in
23116         the common case where the program wants to check for both long
23117         long int and unsigned long long int.
23118         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
23119         since the answer is already known.
23120
23121 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
23122
23123         getloadavg: set errno
23124         * lib/getloadavg.c: Set errno when returning -1.  If no other
23125         error number looks appropriate, set it to ENOSYS if the getloadavg
23126         looks like it can't possibly ever work, ENOTSUP otherwise.
23127         Suggested by Bruno Haible in
23128         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
23129
23130         getloadavg: trim unused parts and speed up 'configure'
23131         * NEWS: Document this.
23132         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
23133         always compiled if getloadavg is absent.
23134         Move test code to ...
23135         * tests/test-getloadavg.c: New file, containing previous
23136         contents of test from lib/getloadavg.c.  It also contains
23137         suggestions by Bruno Haible in
23138         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
23139         * modules/getloadavg-tests: New file.
23140         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
23141         Do tests in the same order as they're needed for getloadavg.c.
23142         Omit setgid-related tests that generate symbols KMEM_GROUP,
23143         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
23144         Do only the tests that are needed to see whether the system has
23145         getloadavg, moving the other tests into ...
23146         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
23147         NLIST_NAME_UNION; nobody should be using it.  Do not define
23148         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
23149         relevant, as the user of this module shouldn't care how getloadavg
23150         is implemented.
23151
23152         getloadavg: omit unused var
23153         * lib/getloadavg.c (getloadavg): Omit unused local variable.
23154
23155 2011-02-15  Jim Meyering  <meyering@redhat.com>
23156
23157         doc: update users.txt
23158         * users.txt: Update iwhd's URL.
23159
23160 2011-02-13  Bruno Haible  <bruno@clisp.org>
23161
23162         Consistent macro naming for macros that use GCC __attribute__.
23163         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
23164         _ATTRIBUTE_NONNULL_.
23165         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
23166         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
23167         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
23168         ATTRIBUTE_DEPRECATED.
23169         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
23170         ATTRIBUTE_NORETURN.
23171         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23172         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23173         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23174         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23175         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
23176         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
23177         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
23178         ATTRIBUTE_SENTINEL.
23179         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
23180         ATTRIBUTE_RETURN_CHECK.
23181         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
23182         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
23183         ATTRIBUTE_NORETURN.
23184         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
23185         Reported by Paul Eggert.
23186
23187 2011-02-13  Bruno Haible  <bruno@clisp.org>
23188
23189         Don't interfere with a program's definition of __attribute__.
23190         * lib/argp.h (__attribute__): Remove definition.
23191         (_GL_ATTRIBUTE_FORMAT): New macro.
23192         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
23193         * lib/argp-fmtstream.h (__attribute__): Remove definition.
23194         (_GL_ATTRIBUTE_FORMAT): New macro.
23195         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
23196         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
23197         GCC 3 or newer.
23198         * lib/error.h (__attribute__): Remove definition.
23199         (_GL_ATTRIBUTE_FORMAT): New macro.
23200         (error, error_at_line): Use it.
23201         * lib/hash.h (__attribute__): Remove definition.
23202         (ATTRIBUTE_WUR): Update definition. Define always.
23203         * lib/openat.h (__attribute__): Remove definition.
23204         (ATTRIBUTE_NORETURN): Update definition. Define always.
23205         * lib/sigpipe-die.h (__attribute__): Remove definition.
23206         (ATTRIBUTE_NORETURN): Update definition. Define always.
23207         * lib/vasnprintf.h (__attribute__): Remove definition.
23208         (_GL_ATTRIBUTE_FORMAT): New macro.
23209         (asnprintf, vasnprintf): Use it.
23210         * lib/xalloc.h (__attribute__): Remove definition.
23211         (ATTRIBUTE_NORETURN): Update definition. Define always.
23212         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
23213         * lib/xmemdup0.h (__attribute__): Remove definition.
23214         (ATTRIBUTE_NORETURN): Update definition. Define always.
23215         * lib/xprintf.h (__attribute__): Remove definition.
23216         (_GL_ATTRIBUTE_FORMAT): New macro.
23217         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
23218         * lib/xstrtol.h (__attribute__): Remove definition.
23219         (ATTRIBUTE_NORETURN): Update definition. Define always.
23220         * lib/xvasprintf.h (__attribute__): Remove definition.
23221         (_GL_ATTRIBUTE_FORMAT): New macro.
23222         (xasprintf, xvasprintf): Use it.
23223         * tests/test-argmatch.c (__attribute__): Remove definition.
23224         (ATTRIBUTE_NORETURN): Update definition. Define always.
23225         * tests/test-exclude.c (__attribute__): Remove definition.
23226         (ATTRIBUTE_NORETURN): Update definition. Define always.
23227         Reported by Paul Eggert.
23228
23229 2011-02-13  Bruno Haible  <bruno@clisp.org>
23230
23231         mbrtowc: Add more tests for native Windows platforms.
23232         * tests/test-mbrtowc-w32-1.sh: New file.
23233         * tests/test-mbrtowc-w32-2.sh: New file.
23234         * tests/test-mbrtowc-w32-3.sh: New file.
23235         * tests/test-mbrtowc-w32-4.sh: New file.
23236         * tests/test-mbrtowc-w32-5.sh: New file.
23237         * tests/test-mbrtowc-w32.c: New file.
23238         * modules/mbrtowc-tests (Files): Add them.
23239         (Makefile.am): Arrange to run these tests.
23240         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
23241         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
23242
23243 2011-02-13  Bruno Haible  <bruno@clisp.org>
23244
23245         mbrtowc: Work around native Windows bug.
23246         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
23247         guess when no suitable locale for testing was found.
23248         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
23249
23250 2011-02-13  Bruno Haible  <bruno@clisp.org>
23251
23252         mbsinit: Work around mingw bug.
23253         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
23254         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
23255         Windows.
23256         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
23257
23258 2011-02-13  Bruno Haible  <bruno@clisp.org>
23259
23260         mbsinit: Don't crash for a NULL argument.
23261         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
23262         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
23263
23264 2011-02-13  Bruno Haible  <bruno@clisp.org>
23265
23266         Don't interfere with a program's definition of __attribute__.
23267         * lib/stdio.in.h (__attribute__): Remove definition.
23268         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
23269         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
23270         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
23271         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
23272         * lib/string.in.h (__attribute__): Remove definition.
23273         Reported by Paul Eggert.
23274
23275 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23276
23277         stdlib: don't get in the way of non-GCC __attribute__
23278         See thread starting at
23279         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
23280         Revert previous stdlib change, installing the following instead:
23281         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
23282         to get in the way of a non-GCC compiler that supports __attribute__.
23283         (_GL_ATTRIBUTE_RETURN): New macro.
23284         (_Exit): Use it instead of __attribute__.
23285
23286 2011-02-12  Bruno Haible  <bruno@clisp.org>
23287
23288         quotearg test: Avoid test failure on mingw.
23289         * tests/test-quotearg.sh: Convert the locale identifier from native
23290         Windows syntax to Unix syntax.
23291
23292 2011-02-12  Bruno Haible  <bruno@clisp.org>
23293
23294         setlocale: Prefer gnulib's override over libintl's override.
23295         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
23296         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
23297         GNULIB_defined_setlocale is set.
23298
23299 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23300
23301         stdlib: support non-GCC __attribute__
23302
23303         Fix a serious and tricky problem encountered when attempting to
23304         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
23305         5.5, but it crashed due to memory corruption on Solaris 10 with
23306         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
23307         bits that are otherwise zero.  This tagging is optional inside
23308         Emacs but is preferred and is used when __attribute__ ((__aligned
23309         (8))) works, as it does with both recent-enough GCC and with Sun C
23310         5.11.  However, Sun C 5.11 is not GCC and does not #define
23311         __GNUC__ and __GNUC_MINOR__.
23312
23313         When I added the getloadavg module to Emacs, it brought in
23314         stdlib.in.h, which contained this fragment:
23315
23316            #ifndef __attribute__
23317            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
23318            #  define __attribute__(Spec)   /* empty */
23319            # endif
23320            #endif
23321
23322         When files that include <stdlib.h> were compiled with Sun C 5.11,
23323         the above code disabled __attribute__ ((__aligned (8))), which
23324         caused variables to not be properly aligned, which eventually led
23325         to the pointer corruption mentioned above.  (This was a bit hard
23326         to diagnose, unfortunately.)
23327
23328         Several "#define __attribute__(X) /* empty */" code snippets need
23329         to be eradicated from Gnulib to work with non-GCC compilers that
23330         support __attribute__.  The Autoconf way to do this is to test for
23331         each kind of attribute that we want support for, and selectively
23332         enable that in source code.
23333
23334         Fix this problem just for stdlib.h, by adding a test for the
23335         __noreturn__ attribute, and change stdlib.in.h to use that test
23336         when needed.  This technique can be easily generalized to the
23337         other *.in.h files and attributes, and a similar technique can be
23338         used for *.h and *.c files.  This patch is enough to solve the
23339         problem for Emacs + getloadavg, and I thought I'd publish it for
23340         feedback before undertaking further, similar fixes in other
23341         modules.
23342
23343         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
23344         because it's not needed for stdlib.h.  It merely substitutes the
23345         value directly into stdlib.h.  We may well need to #define it, or
23346         similar symbols, for other modules, but it's nice to also have an
23347         option to not #define it for applications like Emacs that do not
23348         need it.
23349
23350         * lib/stdlib.in.h (__attribute__): Do not #define.
23351         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
23352         be defined only if the _Exit module is also used.
23353         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
23354         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
23355         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
23356         platforms.
23357         * modules/_Exit (Files): Add m4/attribute.m4.
23358         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
23359         * m4/attribute.m4: New file.
23360
23361 2011-02-12  Bruno Haible  <bruno@clisp.org>
23362
23363         wcsrtombs: Work around bug on native Windows.
23364         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
23365         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
23366         instead of len.
23367         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
23368
23369 2011-02-12  Bruno Haible  <bruno@clisp.org>
23370
23371         mbsrtowcs: Work around bug on native Windows.
23372         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
23373         against mingw bug.
23374         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
23375
23376 2011-02-12  Bruno Haible  <bruno@clisp.org>
23377
23378         Avoid setlocale bugs in tests.
23379         * modules/btowc (Dependencies): Add setlocale.
23380         * modules/c-strcase (Dependencies): Likewise.
23381         * modules/mbmemcasecmp (Dependencies): Likewise.
23382         * modules/mbmemcasecoll (Dependencies): Likewise.
23383         * modules/mbrtowc (Dependencies): Likewise.
23384         * modules/mbscasecmp (Dependencies): Likewise.
23385         * modules/mbscasestr (Dependencies): Likewise.
23386         * modules/mbschr (Dependencies): Likewise.
23387         * modules/mbscspn (Dependencies): Likewise.
23388         * modules/mbsinit (Dependencies): Likewise.
23389         * modules/mbsncasecmp (Dependencies): Likewise.
23390         * modules/mbsnrtowcs (Dependencies): Likewise.
23391         * modules/mbspbrk (Dependencies): Likewise.
23392         * modules/mbspcasecmp (Dependencies): Likewise.
23393         * modules/mbsrchr (Dependencies): Likewise.
23394         * modules/mbsrtowcs (Dependencies): Likewise.
23395         * modules/mbsspn (Dependencies): Likewise.
23396         * modules/mbsstr (Dependencies): Likewise.
23397         * modules/nl_langinfo (Dependencies): Likewise.
23398         * modules/quotearg (Dependencies): Likewise.
23399         * modules/unicase/locale-language (Dependencies): Likewise.
23400         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
23401         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
23402         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
23403         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
23404         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
23405         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
23406         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
23407         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
23408         * modules/vasnprintf-posix (Dependencies): Likewise.
23409         * modules/wcrtomb (Dependencies): Likewise.
23410         * modules/wcsnrtombs (Dependencies): Likewise.
23411         * modules/wcsrtombs (Dependencies): Likewise.
23412
23413 2011-02-12  Bruno Haible  <bruno@clisp.org>
23414
23415         setlocale: Workaround native Windows bug.
23416         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
23417         succeeds but sets LC_CTYPE to "C", report a failure.
23418         * tests/test-setlocale2.sh: New file.
23419         * tests/test-setlocale2.c: New file.
23420         * modules/setlocale-tests (Files): Add the new files.
23421         (Makefile.am): Enable test-setlocale2.sh test.
23422         * doc/posix-functions/setlocale.texi: Mention workaround.
23423
23424 2011-02-11  Bruno Haible  <bruno@clisp.org>
23425
23426         Tests for module 'setlocale'.
23427         * modules/setlocale-tests: New file.
23428         * tests/test-setlocale1.sh: New file.
23429         * tests/test-setlocale1.c: New file.
23430
23431         New module 'setlocale'.
23432         * lib/locale.in.h (setlocale): New declaration.
23433         * lib/setlocale.c: New file, based on
23434         gettext/gettext-runtime/intl/setlocale.c.
23435         * m4/setlocale.m4: New file.
23436         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
23437         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
23438         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
23439         REPLACE_SETLOCALE.
23440         * modules/setlocale: New file.
23441         * tests/test-locale-c++.cc: Test the declaration of setlocale.
23442         * doc/posix-functions/setlocale.texi: Mention the new module.
23443
23444 2011-02-11  Bruno Haible  <bruno@clisp.org>
23445
23446         Prepare for locale dependent tests on mingw.
23447         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
23448         because it has the wrong locale encoding.
23449         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
23450         French_France.1252 instead of "fr".
23451         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
23452         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
23453         because it has the wrong locale encoding.
23454         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
23455         native Windows, try Turkish_Turkey.65001.
23456         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
23457         Chinese_China.54936.
23458
23459         Prepare for locale dependent tests on mingw.
23460         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
23461         differently.
23462         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
23463         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
23464         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
23465         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
23466
23467 2011-02-11  Eric Blake  <eblake@redhat.com>
23468
23469         strptime: avoid compiler warnings
23470         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
23471         compiler warnings about dead code.
23472         Reported by Daniel P. Berrange.
23473
23474 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
23475
23476         doc: update users.txt
23477         * users.txt: Add rcs.
23478
23479 2011-02-10  John W. Eaton  <jwe@gnu.org>
23480
23481         doc: update users.txt
23482         * users.txt: Add octave.
23483
23484 2011-02-10  Jim Meyering  <meyering@redhat.com>
23485
23486         doc: update users.txt
23487         * users.txt: Add iwhd.
23488
23489 2011-02-09  Bruno Haible  <bruno@clisp.org>
23490
23491         gnulib-tool: Make copyright notice adjustment more robust.
23492         * gnulib-tool (func_import): In sed_transform_main_lib_file,
23493         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
23494         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
23495         License".
23496         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
23497
23498 2011-02-06  Bruno Haible  <bruno@clisp.org>
23499
23500         New module 'towctrans'.
23501         * modules/towctrans: New file.
23502         * lib/wctype.in.h (towctrans): New declaration.
23503         * lib/towctrans.c: New file.
23504         * lib/towctrans-impl.h: New file.
23505         * m4/towctrans.m4: New file.
23506         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
23507         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
23508         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
23509         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
23510         * doc/posix-functions/towctrans.texi: Mention the new module.
23511
23512 2011-02-06  Bruno Haible  <bruno@clisp.org>
23513
23514         New module 'wctrans'.
23515         * modules/wctrans: New file.
23516         * lib/wctype.in.h (wctrans): New declaration.
23517         * lib/wctrans.c: New file.
23518         * lib/wctrans-impl.h: New file.
23519         * m4/wctrans.m4: New file.
23520         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
23521         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
23522         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
23523         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
23524         * doc/posix-functions/wctrans.texi: Mention the new module.
23525
23526 2011-02-06  Bruno Haible  <bruno@clisp.org>
23527
23528         New module 'iswctype'.
23529         * modules/iswctype: New file.
23530         * lib/wctype.in.h (iswctype): New declaration.
23531         * lib/iswctype.c: New file.
23532         * lib/iswctype-impl.h: New file.
23533         * m4/iswctype.m4: New file.
23534         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
23535         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
23536         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
23537         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
23538         * doc/posix-functions/iswctype.texi: Mention the new module and the
23539         HP-UX 11.00 problem.
23540
23541 2011-02-06  Bruno Haible  <bruno@clisp.org>
23542
23543         New module 'wctype'.
23544         * modules/wctype: Change to represent the wctype() substitute.
23545         * lib/wctype.in.h (wctype): New declaration.
23546         * lib/wctype.c: New file.
23547         * lib/wctype-impl.h: New file.
23548         * m4/wctype.m4: New file.
23549         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
23550         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
23551         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
23552         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
23553         * doc/posix-functions/wctype.texi: Mention the new module and the
23554         HP-UX 11.00 problem.
23555
23556 2011-02-06  Bruno Haible  <bruno@clisp.org>
23557
23558         wctype-h: Ensure wctype_t and wctrans_t are defined.
23559         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
23560         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
23561         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
23562         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
23563         HAVE_WCTRANS_T.
23564         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
23565
23566 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
23567
23568         flock: fix license typo
23569
23570         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
23571         omitted.
23572
23573 2011-02-08  Bruno Haible  <bruno@clisp.org>
23574
23575         Split large sed scripts, for HP-UX sed.
23576         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
23577         to avoid HP-UX limit of 99 commands, in the near future.
23578         * modules/stdlib (Makefile.am): Likewise.
23579         * modules/unistd (Makefile.am): Likewise.
23580         * modules/wchar (Makefile.am): Likewise.
23581         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23582         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
23583         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
23584
23585 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
23586             Bruno Haible  <bruno@clisp.org>
23587
23588         stdlib: improve random_r modularization
23589         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
23590         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
23591         you also need the random_r module to get this material right.
23592         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
23593         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
23594         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
23595
23596 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
23597
23598         stdlib: don't depend on stdint
23599         * lib/stdlib.in.h: Don't include <stdint.h> merely because
23600         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
23601         be independent of whether stdint.h is needed.
23602         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
23603         here, instead of ...
23604         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
23605         struct random_data should be using the random_r module, not just
23606         the stdlib module (which wouldn't make sense: what package needs
23607         just struct random_data without also needing random_r?).
23608         * modules/stdlib (Depends-on): Remove stdint.
23609
23610         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
23611         See the thread rooted at
23612         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
23613         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
23614         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
23615         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
23616         __VMS)); previously it was always included (via fcntl--.h).
23617         (getloadavg): Do not use c_strtod.  Instead, approximate it by
23618         hand; this is good enough for load averages.  Also, do not use
23619         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
23620         flags directly if available and don't bother otherwise.  (Packages
23621         that need the extra reliability should use the modules that define
23622         these flags on older platforms that lack them.)
23623         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
23624         fcntl-safer.
23625
23626 2011-02-08  Jim Meyering  <meyering@redhat.com>
23627
23628         di-set.h, ino-map.h: add multiple-inclusion guard
23629         Technically, the guard is required only for ino-map.h, due to its
23630         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
23631         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
23632         * lib/ino-map.h: Likewise.
23633
23634 2011-02-06  Bruno Haible  <bruno@clisp.org>
23635
23636         iswblank: Ensure declaration on glibc systems.
23637         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
23638         * modules/iswblank (Dependencies): Add 'extensions'.
23639         * doc/posix-functions/iswblank.texi: Document the glibc problem.
23640
23641 2011-02-06  Bruno Haible  <bruno@clisp.org>
23642
23643         New module 'iswblank'.
23644         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
23645         * modules/iswblank: New file.
23646         * modules/wctype-h (Files): Remove lib/iswblank.c.
23647         (Makefile.am): Substitute GNULIB_ISWBLANK.
23648         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
23649         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
23650         (gl_WCTYPE_H_DEFAULTS): New macro.
23651         (gl_WCTYPE_H): Require it. Remove iswblank related code.
23652         * modules/iswblank-tests: New file.
23653         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
23654         * tests/test-wctype-h.c (main): Remove iswblank tests.
23655         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
23656         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
23657         of 'wctype-h'.
23658         * NEWS: Mention the change.
23659         * modules/mbchar (Depends-on): Add iswblank.
23660
23661 2011-02-08  Bruno Haible  <bruno@clisp.org>
23662
23663         di-set tests: Refactor.
23664         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
23665         unnecessary includes.
23666         (ASSERT): Remove macro.
23667         (main): Make C90 compliant by avoiding variable declaration after
23668         statement.
23669         * modules/di-set-tests (Files): Add tests/macros.h.
23670
23671 2011-02-08  Bruno Haible  <bruno@clisp.org>
23672
23673         ino-map tests: Refactor.
23674         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
23675         unnecessary includes.
23676         (ASSERT): Remove macro.
23677         (main): Make C90 compliant by avoiding variable declaration after
23678         statement.
23679         * modules/ino-map-tests (Files): Add tests/macros.h.
23680
23681 2011-02-08  Jim Meyering  <meyering@redhat.com>
23682
23683         di-set: add "const" to a cast
23684         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
23685         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
23686
23687 2011-02-06  Bruno Haible  <bruno@clisp.org>
23688
23689         Rename module 'wctype' to 'wctype-h'.
23690         * modules/wctype-h: Renamed from modules/wctype.
23691         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
23692         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
23693         (Files, Depends-on, Makefile.am): Update.
23694         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
23695         (Files, Makefile.am): Update.
23696         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
23697         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
23698         * doc/posix-headers/wctype.texi: Update.
23699         * doc/posix-functions/iswalnum.texi: Update.
23700         * doc/posix-functions/iswalpha.texi: Update.
23701         * doc/posix-functions/iswblank.texi: Update.
23702         * doc/posix-functions/iswcntrl.texi: Update.
23703         * doc/posix-functions/iswdigit.texi: Update.
23704         * doc/posix-functions/iswgraph.texi: Update.
23705         * doc/posix-functions/iswlower.texi: Update.
23706         * doc/posix-functions/iswprint.texi: Update.
23707         * doc/posix-functions/iswpunct.texi: Update.
23708         * doc/posix-functions/iswspace.texi: Update.
23709         * doc/posix-functions/iswupper.texi: Update.
23710         * doc/posix-functions/iswxdigit.texi: Update.
23711         * doc/posix-functions/towlower.texi: Update.
23712         * doc/posix-functions/towupper.texi: Update.
23713         * NEWS: Mention the change.
23714         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
23715         * modules/mbchar (Dependencies): Likewise.
23716         * modules/mbswidth (Dependencies): Likewise.
23717         * modules/quotearg (Dependencies): Likewise.
23718         * modules/regex (Dependencies): Likewise.
23719         * modules/wcscasecmp (Dependencies): Likewise.
23720         * modules/wcsncasecmp (Dependencies): Likewise.
23721         * modules/wcwidth (Dependencies): Likewise.
23722
23723 2011-02-06  Bruno Haible  <bruno@clisp.org>
23724
23725         New module 'wcswidth'.
23726         * modules/wcswidth: New file.
23727         * lib/wchar.in.h (wcswidth): New declaration.
23728         * lib/wcswidth.c: New file.
23729         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
23730         * m4/wcswidth.m4: New file.
23731         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
23732         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
23733         REPLACE_WCSWIDTH.
23734         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
23735         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
23736         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
23737         * doc/posix-functions/wcswidth.texi: Mention the new module.
23738
23739 2011-02-06  Bruno Haible  <bruno@clisp.org>
23740
23741         New module 'wcstok'.
23742         * modules/wcstok: New file.
23743         * lib/wchar.in.h (wcstok): New declaration.
23744         * lib/wcstok.c: New file.
23745         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
23746         * m4/wcstok.m4: New file.
23747         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
23748         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
23749         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
23750         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
23751         * doc/posix-functions/wcstok.texi: Mention the new module.
23752
23753 2011-02-06  Bruno Haible  <bruno@clisp.org>
23754
23755         New module 'wcsstr'.
23756         * modules/wcsstr: New file.
23757         * lib/wchar.in.h (wcsstr): New declaration.
23758         * lib/wcsstr.c: New file.
23759         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
23760         * m4/wcsstr.m4: New file.
23761         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
23762         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
23763         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
23764         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
23765         * doc/posix-functions/wcsstr.texi: Mention the new module.
23766
23767 2011-02-06  Bruno Haible  <bruno@clisp.org>
23768
23769         New module 'wcspbrk'.
23770         * modules/wcspbrk: New file.
23771         * lib/wchar.in.h (wcspbrk): New declaration.
23772         * lib/wcspbrk.c: New file.
23773         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
23774         * m4/wcspbrk.m4: New file.
23775         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
23776         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
23777         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
23778         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
23779         * doc/posix-functions/wcspbrk.texi: Mention the new module.
23780
23781 2011-02-06  Bruno Haible  <bruno@clisp.org>
23782
23783         New module 'wcsspn'.
23784         * modules/wcsspn: New file.
23785         * lib/wchar.in.h (wcsspn): New declaration.
23786         * lib/wcsspn.c: New file.
23787         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
23788         * m4/wcsspn.m4: New file.
23789         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
23790         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
23791         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
23792         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
23793         * doc/posix-functions/wcsspn.texi: Mention the new module.
23794
23795 2011-02-06  Bruno Haible  <bruno@clisp.org>
23796
23797         New module 'wcscspn'.
23798         * modules/wcscspn: New file.
23799         * lib/wchar.in.h (wcscspn): New declaration.
23800         * lib/wcscspn.c: New file.
23801         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
23802         * m4/wcscspn.m4: New file.
23803         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
23804         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
23805         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
23806         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
23807         * doc/posix-functions/wcscspn.texi: Mention the new module.
23808
23809 2011-02-06  Bruno Haible  <bruno@clisp.org>
23810
23811         New module 'wcsrchr'.
23812         * modules/wcsrchr: New file.
23813         * lib/wchar.in.h (wcsrchr): New declaration.
23814         * lib/wcsrchr.c: New file.
23815         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
23816         * m4/wcsrchr.m4: New file.
23817         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
23818         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
23819         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
23820         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
23821         * doc/posix-functions/wcsrchr.texi: Mention the new module.
23822
23823 2011-02-06  Bruno Haible  <bruno@clisp.org>
23824
23825         New module 'wcschr'.
23826         * modules/wcschr: New file.
23827         * lib/wchar.in.h (wcschr): New declaration.
23828         * lib/wcschr.c: New file.
23829         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
23830         * m4/wcschr.m4: New file.
23831         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
23832         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
23833         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
23834         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
23835         * doc/posix-functions/wcschr.texi: Mention the new module.
23836
23837 2011-02-06  Bruno Haible  <bruno@clisp.org>
23838
23839         New module 'wcsdup'.
23840         * modules/wcsdup: New file.
23841         * lib/wchar.in.h (wcsdup): New declaration.
23842         * lib/wcsdup.c: New file.
23843         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
23844         * m4/wcsdup.m4: New file.
23845         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
23846         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
23847         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
23848         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
23849         * doc/posix-functions/wcsdup.texi: Mention the new module.
23850
23851 2011-02-06  Bruno Haible  <bruno@clisp.org>
23852
23853         New module 'wcsxfrm'.
23854         * modules/wcsxfrm: New file.
23855         * lib/wchar.in.h (wcsxfrm): New declaration.
23856         * lib/wcsxfrm.c: New file.
23857         * lib/wcsxfrm-impl.h: New file.
23858         * m4/wcsxfrm.m4: New file.
23859         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
23860         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
23861         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
23862         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
23863         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
23864
23865 2011-02-06  Bruno Haible  <bruno@clisp.org>
23866
23867         New module 'wcscoll'.
23868         * modules/wcscoll: New file.
23869         * lib/wchar.in.h (wcscoll): New declaration.
23870         * lib/wcscoll.c: New file.
23871         * lib/wcscoll-impl.h: New file.
23872         * m4/wcscoll.m4: New file.
23873         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
23874         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
23875         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
23876         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
23877         * doc/posix-functions/wcscoll.texi: Mention the new module.
23878
23879 2011-02-06  Bruno Haible  <bruno@clisp.org>
23880
23881         New module 'wcsncasecmp'.
23882         * modules/wcsncasecmp: New file.
23883         * lib/wchar.in.h (wcsncasecmp): New declaration.
23884         * lib/wcsncasecmp.c: New file.
23885         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
23886         * m4/wcsncasecmp.m4: New file.
23887         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
23888         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
23889         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
23890         HAVE_WCSNCASECMP.
23891         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
23892         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
23893
23894 2011-02-06  Bruno Haible  <bruno@clisp.org>
23895
23896         New module 'wcscasecmp'.
23897         * modules/wcscasecmp: New file.
23898         * lib/wchar.in.h (wcscasecmp): New declaration.
23899         * lib/wcscasecmp.c: New file.
23900         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
23901         * m4/wcscasecmp.m4: New file.
23902         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
23903         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
23904         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
23905         HAVE_WCSCASECMP.
23906         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
23907         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
23908
23909 2011-02-05  Bruno Haible  <bruno@clisp.org>
23910
23911         New module 'wcsncmp'.
23912         * modules/wcsncmp: New file.
23913         * lib/wchar.in.h (wcsncmp): New declaration.
23914         * lib/wcsncmp.c: New file.
23915         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
23916         * m4/wcsncmp.m4: New file.
23917         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
23918         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
23919         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
23920         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
23921         * doc/posix-functions/wcsncmp.texi: Mention the new module.
23922
23923 2011-02-05  Bruno Haible  <bruno@clisp.org>
23924
23925         New module 'wcscmp'.
23926         * modules/wcscmp: New file.
23927         * lib/wchar.in.h (wcscmp): New declaration.
23928         * lib/wcscmp.c: New file.
23929         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
23930         * m4/wcscmp.m4: New file.
23931         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
23932         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
23933         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
23934         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
23935         * doc/posix-functions/wcscmp.texi: Mention the new module.
23936
23937 2011-02-05  Bruno Haible  <bruno@clisp.org>
23938
23939         New module 'wcsncat'.
23940         * modules/wcsncat: New file.
23941         * lib/wchar.in.h (wcsncat): New declaration.
23942         * lib/wcsncat.c: New file.
23943         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
23944         * m4/wcsncat.m4: New file.
23945         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
23946         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
23947         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
23948         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
23949         * doc/posix-functions/wcsncat.texi: Mention the new module.
23950
23951 2011-02-05  Bruno Haible  <bruno@clisp.org>
23952
23953         New module 'wcscat'.
23954         * modules/wcscat: New file.
23955         * lib/wchar.in.h (wcscat): New declaration.
23956         * lib/wcscat.c: New file.
23957         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
23958         * m4/wcscat.m4: New file.
23959         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
23960         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
23961         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
23962         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
23963         * doc/posix-functions/wcscat.texi: Mention the new module.
23964
23965 2011-02-05  Bruno Haible  <bruno@clisp.org>
23966
23967         New module 'wcpncpy'.
23968         * modules/wcpncpy: New file.
23969         * lib/wchar.in.h (wcpncpy): New declaration.
23970         * lib/wcpncpy.c: New file.
23971         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
23972         * m4/wcpncpy.m4: New file.
23973         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
23974         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
23975         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
23976         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
23977         * doc/posix-functions/wcpncpy.texi: Mention the new module.
23978
23979 2011-02-05  Bruno Haible  <bruno@clisp.org>
23980
23981         New module 'wcsncpy'.
23982         * modules/wcsncpy: New file.
23983         * lib/wchar.in.h (wcsncpy): New declaration.
23984         * lib/wcsncpy.c: New file.
23985         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
23986         * m4/wcsncpy.m4: New file.
23987         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
23988         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
23989         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
23990         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
23991         * doc/posix-functions/wcsncpy.texi: Mention the new module.
23992
23993 2011-02-05  Bruno Haible  <bruno@clisp.org>
23994
23995         New module 'wcpcpy'.
23996         * modules/wcpcpy: New file.
23997         * lib/wchar.in.h (wcpcpy): New declaration.
23998         * lib/wcpcpy.c: New file.
23999         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
24000         * m4/wcpcpy.m4: New file.
24001         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
24002         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
24003         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
24004         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
24005         * doc/posix-functions/wcpcpy.texi: Mention the new module.
24006
24007 2011-02-05  Bruno Haible  <bruno@clisp.org>
24008
24009         New module 'wcscpy'.
24010         * modules/wcscpy: New file.
24011         * lib/wchar.in.h (wcscpy): New declaration.
24012         * lib/wcscpy.c: New file.
24013         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
24014         * m4/wcscpy.m4: New file.
24015         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
24016         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
24017         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
24018         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
24019         * doc/posix-functions/wcscpy.texi: Mention the new module.
24020
24021 2011-02-05  Bruno Haible  <bruno@clisp.org>
24022
24023         New module 'wcsnlen'.
24024         * modules/wcsnlen: New file.
24025         * lib/wchar.in.h (wcsnlen): New declaration.
24026         * lib/wcsnlen.c: New file.
24027         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
24028         * m4/wcsnlen.m4: New file.
24029         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
24030         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
24031         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
24032         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
24033         * doc/posix-functions/wcsnlen.texi: Mention the new module.
24034
24035 2011-02-05  Bruno Haible  <bruno@clisp.org>
24036
24037         New module 'wcslen'.
24038         * modules/wcslen: New file.
24039         * lib/wchar.in.h (wcslen): New declaration.
24040         * lib/wcslen.c: New file.
24041         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
24042         * m4/wcslen.m4: New file.
24043         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
24044         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
24045         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
24046         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
24047         * doc/posix-functions/wcslen.texi: Mention the new module.
24048
24049 2011-02-05  Bruno Haible  <bruno@clisp.org>
24050
24051         New module 'wmemset'.
24052         * modules/wmemset: New file.
24053         * lib/wchar.in.h (wmemset): New declaration.
24054         * lib/wmemset.c: New file.
24055         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
24056         * m4/wmemset.m4: New file.
24057         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
24058         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
24059         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
24060         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
24061         * doc/posix-functions/wmemset.texi: Mention the new module.
24062
24063 2011-02-05  Bruno Haible  <bruno@clisp.org>
24064
24065         New module 'wmemmove'.
24066         * modules/wmemmove: New file.
24067         * lib/wchar.in.h (wmemmove): New declaration.
24068         * lib/wmemmove.c: New file.
24069         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
24070         * m4/wmemmove.m4: New file.
24071         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
24072         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
24073         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
24074         HAVE_WMEMMOVE.
24075         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
24076         * doc/posix-functions/wmemmove.texi: Mention the new module.
24077
24078 2011-02-05  Bruno Haible  <bruno@clisp.org>
24079
24080         New module 'wmemcpy'.
24081         * modules/wmemcpy: New file.
24082         * lib/wchar.in.h (wmemcpy): New declaration.
24083         * lib/wmemcpy.c: New file.
24084         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
24085         * m4/wmemcpy.m4: New file.
24086         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
24087         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
24088         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
24089         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
24090         * doc/posix-functions/wmemcpy.texi: Mention the new module.
24091
24092 2011-02-05  Bruno Haible  <bruno@clisp.org>
24093
24094         New module 'wmemcmp'.
24095         * modules/wmemcmp: New file.
24096         * lib/wchar.in.h (wmemcmp): New declaration.
24097         * lib/wmemcmp.c: New file.
24098         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
24099         * m4/wmemcmp.m4: New file.
24100         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
24101         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
24102         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
24103         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
24104         * doc/posix-functions/wmemcmp.texi: Mention the new module.
24105
24106 2011-02-07  Jim Meyering  <meyering@redhat.com>
24107
24108         di-set, ino-map: new modules, from coreutils
24109         * lib/di-set.c: New file.
24110         * lib/di-set.h: Likewise.
24111         * lib/ino-map.c: Likewise.
24112         * lib/ino-map.h: Likewise.
24113         * modules/di-set: Likewise.
24114         * modules/di-set-tests: Likewise.
24115         * modules/ino-map: Likewise.
24116         * modules/ino-map-tests: Likewise.
24117         * tests/test-di-set.c: Likewise.
24118         * tests/test-ino-map.c: Likewise.
24119
24120 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
24121
24122         getloadavg: merge minor changes from Emacs
24123
24124         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
24125         (getloadavg): Use memset, not bzero.
24126
24127         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
24128         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
24129         clash (bug#86).
24130
24131 2010-11-14  Bruno Haible  <bruno@clisp.org>
24132
24133         Allow multiple gnulib generated replacements to coexist.
24134         * lib/getopt.in.h (struct option): Avoid identical redefinition.
24135         * lib/inttypes.in.h (imaxdiv_t): Likewise.
24136         * lib/langinfo.in.h (nl_item): Likewise.
24137         * lib/math.in.h (_NaN, NAN): Likewise.
24138         * lib/netdb.in.h (struct addrinfo): Likewise.
24139         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
24140         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
24141         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
24142         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
24143         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
24144         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
24145         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
24146         pthread_mutexattr_init, pthread_mutexattr_settype,
24147         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
24148         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
24149         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
24150         pthread_spin_trylock, pthread_spin_unlock): Likewise.
24151         * lib/sched.in.h (struct sched_param): Likewise.
24152         * lib/se-selinux.in.h (security_class_t, security_context_t,
24153         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
24154         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
24155         lsetfilecon, fsetfilecon, security_check_context,
24156         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
24157         Likewise.
24158         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
24159         Likewise.
24160         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
24161         _gl_function_taking_int_returning_void_t, union sigval,
24162         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
24163         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
24164         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24165         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
24166         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
24167         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
24168         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
24169         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
24170         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
24171         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
24172         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
24173         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
24174         socklen_t, rpl_fd_isset): Likewise.
24175         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
24176         * lib/sys_time.in.h (struct timeval): Likewise.
24177         * lib/sys_times.in.h (struct tms): Likewise.
24178         * lib/sys_utsname.in.h (struct utsname):
24179         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
24180         * lib/unistd.in.h (getpagesize): Likewise.
24181         * lib/wchar.in.h (mbstate_t): Likewise.
24182         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
24183         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
24184         towlower, towupper): Likewise.
24185         Reported by Sam Steingold <sds@gnu.org>.
24186
24187 2011-02-05  Eric Blake  <eblake@redhat.com>
24188
24189         unsetenv: work around Haiku issues
24190         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
24191         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
24192
24193 2010-12-30  Bruce Korb  <bkorb@gnu.org>
24194
24195         libposix: avoid calling error() within libposix
24196         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
24197         is defined.
24198
24199 2011-02-05  Eric Blake  <eblake@redhat.com>
24200
24201         strerror_r-posix: port to cygwin
24202         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
24203         implementation.
24204         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
24205         * tests/test-strerror_r.c (main): Fix test.
24206         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
24207         issue.
24208
24209 2011-02-05  Bruno Haible  <bruno@clisp.org>
24210
24211         New module 'wmemchr'.
24212         * modules/wmemchr: New file.
24213         * lib/wchar.in.h (wmemchr): New declaration.
24214         * lib/wmemchr.c: New file.
24215         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
24216         * m4/wmemchr.m4: New file.
24217         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
24218         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
24219         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
24220         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
24221         * doc/posix-functions/wmemchr.texi: Mention the new module.
24222
24223 2011-02-04  Eric Blake  <eblake@redhat.com>
24224
24225         fdopendir: detect FreeBSD bug
24226         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
24227         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
24228
24229 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
24230
24231         stdbool: do not define HAVE_STDBOOL_H
24232         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
24233         AC_HEADER_STDBOOL.  All uses changed.  Do not define
24234         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
24235         imported from the latest Autoconf git.  It was motivated by Emacs,
24236         which uses gnulib but does not need HAVE_STDBOOL_H.
24237
24238 2011-02-04  Bruno Haible  <bruno@clisp.org>
24239
24240         wcsnrtombs: Prepare for new module wwcsnrtombs.
24241         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
24242         * lib/wcsnrtombs.c: Include it.
24243         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
24244
24245         wcsrtombs: Prepare for new module wwcsrtombs.
24246         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
24247         * lib/wcsrtombs.c: Include it.
24248         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
24249
24250         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
24251         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
24252         * lib/mbsnrtowcs.c: Include it.
24253         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
24254
24255         mbsrtowcs: Prepare for new module mbsrtowwcs.
24256         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
24257         * lib/mbsrtowcs.c: Include it.
24258         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
24259
24260 2011-02-04  Bruno Haible  <bruno@clisp.org>
24261
24262         vasnprintf: Reduce use of malloc for small format strings.
24263         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
24264         (arguments): Add room for the first 7 arguments.
24265         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
24266         (char_directives, u8_directives, u16_directives, u32_directives): Add
24267         room for the first 7 directives.
24268         * lib/printf-parse.c: Include <string.h>.
24269         (PRINTF_PARSE): Change memory handling code so that it uses the first
24270         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
24271         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
24272         Reported by Pádraig Brady <P@draigbrady.com>.
24273
24274 2011-01-31  Eric Blake  <eblake@redhat.com>
24275
24276         dup2: work around Haiku bug
24277         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
24278         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
24279         * doc/posix-functions/dup2.texi (dup2): Document the bug.
24280         * tests/test-dup2.c (main): Enhance test.
24281
24282 2011-01-31  Simon Josefsson  <simon@josefsson.org>
24283
24284         doc: off_t is not available in eglibc 2.11.2 stdio.h.
24285         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
24286         declared by eglibc 2.11.2.
24287         * lib/stdio.in.h: Likewise.
24288
24289 2011-01-31  Eric Blake  <eblake@redhat.com>
24290
24291         ignore-value: add missing test dependency
24292         * tests/test-ignore-value.c: Revert previous change; stdio.h
24293         provides off_t.
24294         * modules/ignore-value-tests (Depends-on): Add missing dependency.
24295
24296 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
24297
24298         mktime: clarify long_int width checking
24299         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
24300         the top level, to make it clearer that the assumption about
24301         long_int width is being checked.  See
24302         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
24303
24304 2011-01-30  Simon Josefsson  <simon@josefsson.org>
24305
24306         ignore-value: Fix self-test.
24307         * tests/test-ignore-value.c: Include sys/types.h for off_t.
24308
24309 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
24310
24311         TYPE_MAXIMUM: avoid theoretically undefined behavior
24312         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
24313         negative number, which the C Standard says has undefined behavior.
24314         In practice this is not a problem, but might as well do it by the book.
24315         Reported by Rich Felker and Eric Blake; see
24316         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
24317         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
24318         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
24319         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24320         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
24321         * m4/stdint.m4 (gl_STDINT_H): Likewise.
24322         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
24323
24324         mktime: #undef mktime before #defining it
24325         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
24326
24327         mktime: systematically normalize tm_isdst comparisons
24328         * lib/mktime.c (isdst_differ): New function.
24329         (__mktime_internal): Use it systematically for all isdst comparisons.
24330         This completes the fix for libc BZ #6723, and removes the need for
24331         normalizing tm_isdst.  See
24332         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
24333         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
24334
24335         mktime: fix some integer overflow issues and sidestep the rest
24336
24337         This was prompted by a bug report by Benjamin Lindner for MinGW
24338         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
24339         His bug is due to signed integer overflow (0 - INT_MIN), and I
24340         I scanned through mktime.c looking for other integer overflow
24341         problems, fixing all the bugs I found.
24342
24343         Although the C Standard says the resulting code is still not safe
24344         in the presence of integer overflow, in practice it should be good
24345         enough for all real-world two's-complement implementations, except
24346         for debugging environments that deliberately trap on integer
24347         overflow (e.g., gcc -ftrapv).
24348
24349         * lib/mktime.c (WRAPV): New macro.
24350         (SHR): Also check that long_int and time_t shift right in the
24351         usual way, before using the fast-but-unportable method.
24352         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
24353         used.  The code already assumed two's complement, so there's
24354         no need to test for alternatives.  All uses removed.
24355         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
24356         the C standard.  Problem reported by Rich Felker in
24357         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
24358         (twos_complement_arithmetic): Also check long_int and time_t.
24359         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
24360         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
24361         (__mktime_internal): Avoid integer overflow with unary subtraction
24362         in two instances where -1 - X is an adequate replacement for -X,
24363         since the calculations are approximate.
24364
24365 2011-01-29  Eric Blake  <eblake@redhat.com>
24366
24367         mktime: avoid infinite loop
24368         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
24369         type; behavior is still undefined but portable to all known targets.
24370         Reported by Rich Felker.
24371
24372 2011-01-29  Simon Josefsson  <simon@josefsson.org>
24373
24374         rename, unlink, same-inode: Relicense.
24375         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
24376         * modules/unlink (License): Likewise.
24377         * modules/same-inode (License): Likewise.
24378
24379 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
24380
24381         mktime: avoid problems on NetBSD 5 / i386
24382         * lib/mktime.c (long_int): New type.  This works around a problem
24383         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
24384         but time_t is 64 bits, and where I expect the existing code is
24385         wrong in some cases.
24386         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
24387         (ydhms_diff): Bring back the compile-time check for wide-enough
24388         year and yday.
24389
24390         mktime: fix misspelling in comment
24391         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
24392         This merges all recent glibc changes of importance.
24393
24394 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24395
24396         move-if-change: cope with concurrent mv of identical file.
24397         * build-aux/move-if-change (CMPPROG): Accept environment
24398         variable as an override for `cmp'.
24399         (usage): Document CMPPROG.
24400         Adjust comparison to drop stdout.  Cope with failure of mv if
24401         the target file exists and is identical to the source, for
24402         parallel builds.
24403         Report from H.J. Lu against binutils in PR binutils/12283.
24404
24405 2011-01-28  Bruce Korb  <bkorb@gnu.org>
24406
24407         * users.txt: Mention sharutils.
24408
24409 2011-01-28  Simon Josefsson  <simon@josefsson.org>
24410
24411         * users.txt: Mention OATH Toolkit.
24412
24413 2011-01-27  Bruno Haible  <bruno@clisp.org>
24414
24415         Prepare for supporting FreeBSD 10.
24416         * build-aux/config.libpath: Remove handling of freebsd1*.
24417
24418 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
24419
24420         Prepare for supporting FreeBSD 10.
24421         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
24422         match FreeBSD 10.0.
24423
24424 2011-01-27  Bruno Haible  <bruno@clisp.org>
24425
24426         vma-iter, get-rusage-as: Add OpenBSD support.
24427         * modules/vma-iter (configure.ac): Test for mquery.
24428         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
24429         * lib/vma-iter.c: Include <sys/mman.h>.
24430         (vma_iterate): Add an implementation based on mquery().
24431         * lib/resource-ext.h (get_rusage_as): Update comments.
24432         * lib/get-rusage-as.c: Likewise.
24433         * lib/get-rusage-data.c: Likewise.
24434
24435 2011-01-26  Karl Berry  <karl@gnu.org>
24436
24437         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
24438         variables to make it easier to override the makeinfo program used.
24439
24440 2011-01-26  Eric Blake  <eblake@redhat.com>
24441
24442         fcntl: work around Haiku F_DUPFD bugs
24443         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
24444         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
24445         cloexec bit on duplication.
24446         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
24447
24448 2011-01-26  Bruno Haible  <bruno@clisp.org>
24449
24450         Enable memory leak tests on AIX.
24451         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
24452         * tests/test-fprintf-posix3.c (main): Likewise.
24453
24454 2011-01-26  Bruno Haible  <bruno@clisp.org>
24455
24456         Tests for module 'get-rusage-data'.
24457         * modules/get-rusage-data-tests: New file.
24458         * tests/test-get-rusage-data.c: New file.
24459
24460         New module 'get-rusage-data'.
24461         * lib/resource-ext.h (get_rusage_data): New declaration.
24462         * lib/get-rusage-data.c: New file.
24463         * modules/get-rusage-data: New file.
24464
24465 2011-01-25  Bruno Haible  <bruno@clisp.org>
24466
24467         get-rusage-as: Allow for easier testing.
24468         * lib/resource-ext.h (get_rusage_as): Add comment.
24469         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
24470         (main): New function for interactive testing.
24471
24472 2011-01-25  Bruno Haible  <bruno@clisp.org>
24473
24474         vma-iter: Treat Haiku like BeOS.
24475         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
24476         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
24477
24478 2011-01-25  Eric Blake  <eblake@redhat.com>
24479
24480         c-stack: fix regression on cygwin when libsigsegv is present
24481         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
24482
24483 2011-01-24  Bruno Haible  <bruno@clisp.org>
24484
24485         vma-iter: Avoid empty intervals.
24486         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
24487         on an empty interval.
24488
24489 2011-01-24  Jim Meyering  <meyering@redhat.com>
24490
24491         u64: remove unnecessary #include
24492         * lib/u64.h: Don't include <stddef.h>.  It was not used.
24493
24494 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
24495
24496         Allow the user to avoid the HAVE_RAW_DECL_* macros.
24497         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
24498
24499 2011-01-23  Bruno Haible  <bruno@clisp.org>
24500
24501         New module 'vma-iter'.
24502         * lib/vma-iter.h: New file.
24503         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
24504         * modules/vma-iter: New file.
24505         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
24506         for get_rusage_as_via_iterator.
24507         (vma_iterate_callback): New function.
24508         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
24509         * modules/get-rusage-as (Depends-on): Add vma-iter.
24510
24511 2011-01-23  Bruno Haible  <bruno@clisp.org>
24512
24513         uninorm: Tweak includes.
24514         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
24515         Reported by Jim Meyering.
24516
24517 2011-01-23  Bruno Haible  <bruno@clisp.org>
24518
24519         get-rusage-as: Improve on NetBSD.
24520         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
24521         /proc, like on FreeBSD.
24522
24523 2011-01-23  Jim Meyering  <meyering@redhat.com>
24524
24525         xreadlink.h: remove unnecessary #include
24526         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
24527
24528         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
24529         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
24530
24531 2011-01-23  Bruno Haible  <bruno@clisp.org>
24532
24533         get-rusage-as: Fix bug.
24534         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
24535         original limit when aborting the first loop.
24536
24537 2011-01-23  Bruno Haible  <bruno@clisp.org>
24538
24539         wctype: Ensure valid C syntax.
24540         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
24541         unconditionally, instead of gl_NEXT_HEADERS conditionally.
24542
24543 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
24544
24545         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
24546         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
24547         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
24548         as they are needed only for configure's test case.
24549         This removes two unnecessary symbols from config.h.
24550
24551         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
24552         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
24553         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
24554         AC_CHECK_HEADERS_ONCE on a header that we also invoke
24555         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
24556         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
24557         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
24558         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
24559         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
24560         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
24561         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
24562         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24563         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24564         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
24565         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
24566         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
24567         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
24568         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
24569
24570 2011-01-21  Eric Blake  <eblake@redhat.com>
24571
24572         maintainer-makefile: work with older git for submodule check
24573         * top/maint.mk (public-submodule-commit): Rewrite to avoid
24574         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
24575         Reported by Matthias Bolte.
24576
24577         bootstrap: minor portability fixes
24578         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
24579         (usage): Omit leading capital and trailing . on help phrases, per
24580         GNU Coding Standards.
24581         (check_versions, top level): Prefix messages with script name.
24582
24583 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
24584
24585         bootstrap: support --no-git option
24586         * build-aux/bootstrap: Add --no-git option, to be used when
24587         --gnulib-srcdir points to the exact desired checkout.
24588
24589 2011-01-21  Eric Blake  <eblake@redhat.com>
24590
24591         strerror_r-posix: work with glibc 2.13
24592         * lib/strerror_r.c (strerror_r): Fix return type.
24593
24594 2011-01-21  Pádraig Brady  <P@draigBrady.com>
24595             Bruno Haible  <bruno@clisp.org>
24596
24597         uN_strstr: New unit tests.
24598         * modules/unistr/u8-strstr-tests: New file.
24599         * modules/unistr/u16-strstr-tests: New file.
24600         * modules/unistr/u32-strstr-tests: New file.
24601         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
24602         * tests/unistr/test-u8-strstr.c: New file.
24603         * tests/unistr/test-u16-strstr.c: New file.
24604         * tests/unistr/test-u32-strstr.c: New file.
24605
24606 2011-01-21  Pádraig Brady  <P@draigBrady.com>
24607             Bruno Haible  <bruno@clisp.org>
24608
24609         Make uN_strstr functions O(n) worst-case.
24610         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
24611         16-bit and 32-bit unit cases, use the unibyte algorithm from
24612         lib/mbsstr.c.
24613         * lib/unistr/u8-strstr.c: Include <string.h>.
24614         (UNIT_IS_UINT8_T): New macro.
24615         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
24616         (U_STRLEN, U_STRNLEN): New macros.
24617         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
24618         (U_STRLEN, U_STRNLEN): New macros.
24619         * modules/unistr/u8-strstr (Depends-on): Add strstr.
24620         (configure.ac): Update required libunistring version.
24621         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
24622         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
24623         malloca.
24624         (configure.ac): Update required libunistring version.
24625         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
24626         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
24627         malloca.
24628         (configure.ac): Update required libunistring version.
24629
24630 2011-01-21  Pádraig Brady  <P@draigBrady.com>
24631             Bruno Haible  <bruno@clisp.org>
24632
24633         Prepare for faster uN_strstr functions.
24634         * lib/str-kmp.h: Support definable UNITs.
24635         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
24636         needle_len argument.
24637         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
24638         * lib/mbscasestr.c (mbscasestr): Likewise.
24639
24640 2011-01-21  Pádraig Brady <P@draigBrady.com>
24641
24642         malloca-tests: make faster by unsetting MALLOC_PERTURB_
24643         * tests/test-malloca.c (main): Unset the environment variable
24644         to greatly speed up the test.
24645         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
24646         * modules/malloca-tests: Depend on unsetenv.
24647
24648 2011-01-21  Pádraig Brady <P@draigBrady.com>
24649
24650         ignore-value: remove stdint dependency
24651         * lib/ignore-value.h: Remove <stdint.h>
24652         * modules/ignore-value: Remove stdint dependency.
24653
24654 2011-01-21  Jim Meyering  <meyering@redhat.com>
24655
24656         maint.mk: adjust variable name to be consistent with other gl_ vars
24657         * top/maint.mk (gl_public_submodule_commit): Rename the variable
24658         to be lower case.
24659
24660 2011-01-20  Jim Meyering  <meyering@redhat.com>
24661
24662         maint.mk: make "check" depend on public-submodule-commit by default
24663         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
24664
24665 2011-01-20  Bruno Haible  <bruno@clisp.org>
24666
24667         mbfile, mbiter: Complete change from 2008-12-21.
24668         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
24669         * m4/mbiter.m4 (gl_MBITER): Likewise.
24670
24671 2011-01-20  Jim Meyering  <meyering@redhat.com>
24672
24673         init.sh: insert space between each function name and "()"
24674         * tests/init.sh: Make it a little easier to see that a function's
24675         name is "warn_", and not "warn" when looking at the first part of
24676         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
24677
24678 2011-01-20  Jim Meyering  <meyering@redhat.com>
24679
24680         mountlist: clean up code formatting
24681         * lib/mountlist.c (read_file_system_list): Split a long line,
24682         correct bracing style, use NULL in place of "(struct statfs *)0",
24683         don't parenthesize return value, add spaces around "=" and after
24684         ";-in-for-stmt".
24685
24686 2011-01-14  Markus Duft <mduft@gentoo.org>
24687
24688         mountlist: add support for Interix
24689         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
24690         Apply statvfs to all entries of /dev/fs.
24691         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
24692         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
24693
24694 2011-01-20  Jim Meyering  <meyering@redhat.com>
24695
24696         maint.mk: improve the public-submodule-commit rule
24697         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
24698         to suppress printing of its commands... unless V=1.
24699         Add git submodule's --quiet option to suppress printing of e.g.,
24700         "Entering gnulib" output.
24701         "cd" into $(srcdir) before running git submodule.
24702
24703 2011-01-20  Bruno Haible  <bruno@clisp.org>
24704
24705         include_next: Fix bug introduced on 2011-01-18.
24706         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
24707         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
24708         ac_cv_header_... variable if the second argument is not 'check'.
24709         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
24710         gl_NEXT_HEADERS_INTERNAL.
24711
24712 2011-01-20  Bruno Haible  <bruno@clisp.org>
24713
24714         Allow the user to avoid the GNULIB_TEST_* macros.
24715         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
24716         Suggested by Paul Eggert.
24717
24718 2011-01-14  Jim Meyering  <meyering@redhat.com>
24719
24720         bootstrap: avoid failure when there is no .gitmodules file
24721         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
24722         has been assigned to, even when its value is the empty string.
24723         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
24724         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
24725         Reported by John W. Eaton <jwe@gnu.org>.
24726
24727 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
24728
24729         assume <ctype.h>, ..., <time.h> exist
24730         For years gnulib has been assuming the existence of the headers
24731         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
24732         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
24733         them, since they don't appear to be needed.
24734         * README (Portability guidelines): Document this.
24735         * lib/flock.c: Assume <fcntl.h> exists.
24736         * lib/regex_internal.h: Assume <locale.h> exists.
24737         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
24738         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
24739         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
24740         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
24741         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
24742         * m4/regex.m4 (gl_REGEX): Likewise.
24743         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
24744         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
24745         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
24746         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
24747         * tests/test-argp.c: Likewise.
24748         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
24749
24750         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
24751         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
24752         AA_APPLE_UNIVERSAL_BUILD.  See
24753         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
24754         * NEWS: Document this.
24755
24756 2011-01-19  Eric Blake  <eblake@redhat.com>
24757
24758         c-stack: assume stack overflow if SA_SIGINFO unsupported
24759         * lib/c-stack.c (SIGACTION_WORKS): Rename...
24760         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
24761         sigaction will work.
24762         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
24763         behavior match Linux.
24764         * tests/test-c-stack.c (main): Prefer NULL for pointers.
24765
24766         stdbool-tests: accommodate Haiku
24767         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
24768
24769         binary-io: fix O_TEXT on Haiku
24770         * modules/binary-io (Depends-on): Add fcntl-h.
24771         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
24772         than blindly undefining O_TEXT.
24773         Reported by Scott McCreary.
24774
24775 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
24776
24777         include_next: do not check for standard headers like stddef.h
24778
24779         I found this problem when modifying Emacs to use gnulib.
24780         I noticed that it added HAVE_STDDEF_H to config.h, even though
24781         gnulib always assumes <stddef.h> exists as per README and this
24782         symbol is unnecessary.
24783         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
24784         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
24785         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
24786         faster for headers like stddef.h that are known to exist.
24787         (gl_CHECK_NEXT_HEADERS): Use it.
24788         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
24789         rather than gl_CHECK_NEXT_HEADERS.
24790         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
24791         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
24792
24793 2011-01-18  Eric Blake  <eblake@redhat.com>
24794
24795         ansi-c++-opt: skip C++ dependency style if C++ is unused
24796         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
24797         tests when we know C++ compilation is not desired.
24798         Reported by Scott McCreary.
24799
24800 2011-01-18  Bruno Haible  <bruno@clisp.org>
24801
24802         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
24803         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
24804         (main): Perform test also when getrlimit and setrlimit don't exist or
24805         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
24806         limiting the address space size using setrlimit, compare the address
24807         space size before and after the the test.
24808         * tests/test-dprintf-posix2.c: Likewise.
24809         * tests/test-fprintf-posix3.sh: Update skip messages.
24810         * tests/test-dprintf-posix2.sh: Likewise.
24811         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
24812         * modules/dprintf-posix-tests (Depends-on): Likewise.
24813         Reported by Bruce Korb <bkorb@gnu.org> and
24814         Gary V. Vaughan <gary@gnu.org>.
24815
24816 2011-01-18  Bruno Haible  <bruno@clisp.org>
24817
24818         get-rusage-as: Improvement for Cygwin.
24819         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
24820         areas that are merely reserved.
24821
24822 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
24823
24824         strftime: remove dependencies on multibyte modules
24825
24826         strftime depended on mbrlen, mbsinit, and wchar, but these modules
24827         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
24828         only if __osf__ is defined, and I suspect OSF doesn't need these
24829         other modules.  If my guess is wrong, we'll need to come up with a
24830         variant of strftime that doesn't need the multibyte modules.
24831
24832         I discovered this problem when attempting modify Emacs to use the
24833         strftime module.  With the previous gnulib, this caused Emacs to
24834         need 31 new files, ranging from lib/config.charset to
24835         m4/wint_t.m4.  This was overkill and I expect would be offputting
24836         to the Emacs maintainers.  After this change, only 6 new files are
24837         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
24838         stdbool.m4, and tm_gmtoff.m4.
24839
24840         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
24841         Suggested by Bruno Haible in
24842         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
24843         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
24844         and do not check for wchar.h.
24845         * modules/strftime (Files): Remove m4/mbstate_t.m4.
24846         (Depends-on): Remove mbrlen, mbsinit, wchar.
24847
24848 2011-01-18  Bruno Haible  <bruno@clisp.org>
24849
24850         Tests for module 'get-rusage-as'.
24851         * modules/get-rusage-as-tests: New file.
24852         * tests/test-get-rusage-as.c: New file.
24853
24854         New module 'get-rusage-as'.
24855         * modules/get-rusage-as: New file.
24856         * lib/resource-ext.h: New file.
24857         * lib/get-rusage-as.c: New file.
24858
24859 2011-01-17  Eric Blake  <eblake@redhat.com>
24860
24861         sigaction: relax license from LGPLv3+ to LGPLv2+
24862         * modules/sigaction (License): Relax to LGPLv2+.
24863
24864 2011-01-14  Bruno Haible  <bruno@clisp.org>
24865
24866         filemode: Make function declarations usable in C++ mode.
24867         * lib/filemode.h: Enclose function declarations in extern "C" block.
24868         Reported by John W. Eaton <jwe@gnu.org>.
24869
24870 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
24871
24872         save-cwd: no longer include "xgetcwd.h"
24873         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
24874         This avoids a compilation failure in projects that use save-cwd
24875         without also using the xgetcwd module.
24876
24877 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
24878
24879         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
24880         This is so that a program like Emacs, which needs only dtoastr,
24881         does not have to bother with distributing and compiling ftoastr
24882         and ldtoastr.
24883         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
24884         * modules/dtoastr, modules/ldtoastr: New files.
24885         * modules/ftoastr: Now works just for 'float'.
24886         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
24887         (Makefile.am): Remove ftoastr.h (not needed and no effect),
24888         dtoastr.c, ldtoastr.c.
24889
24890 2011-01-11  Jim Meyering  <meyering@redhat.com>
24891
24892         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
24893         There is no need to work around the lack of the fchdir function,
24894         since gnulib can now provide a replacement when required.
24895         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
24896         * modules/save-cwd (Depends-on): Add fchdir.
24897
24898 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
24899
24900         openat, save-cwd: avoid xmalloc
24901
24902         This removes a direct (but undocumented) dependency of openat on
24903         xalloc, along with an indirect dependency via save-cwd.  It also
24904         removes a dependency of save-cwd on xgetcwd, and thereby
24905         indirectly on xalloc.  This change causes the openat substitute
24906         to fall back on save_cwd when memory is tight, and for save_cwd to
24907         fail instead of dying when memory is tight, but that's good enough.
24908         Problem and initial idea for fix reported by Bastien Roucaries in
24909         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
24910
24911         * lib/openat-proc.c: Include stdlib.h (for malloc), not
24912         xalloc.h (for xmalloc).
24913         (openat_proc_name): Use malloc, not xmalloc.
24914         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
24915         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
24916
24917         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
24918         This avoids heap allocation for file names whose lengths are in
24919         the range 512..1023, with the upper bound increasing to at most
24920         4031 depending on the platform's PATH_MAX.  (We do not want
24921         pathmax.h here as it might supply a non-constant PATH_MAX.)
24922         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
24923         Perhaps they should be moved to malloca.h?
24924         (OPENAT_BUFFER_SIZE): Use them.
24925
24926 2011-01-10  Bruno Haible  <bruno@clisp.org>
24927
24928         doc: Update users.txt.
24929         * users.txt: Add recutils.
24930
24931 2011-01-09  Karl Berry  <karl@gnu.org>
24932
24933         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
24934
24935         * doc/configmake.texi: New file.
24936         * doc/gnulib.texi: Include it.
24937         * modules/configmake: Move documentation from here.
24938
24939 2011-01-09  Bruno Haible  <bruno@clisp.org>
24940
24941         Update to Unicode 6.0.0.
24942         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
24943         (get_lbp): Update for Unicode 6.0.0.
24944         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
24945         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
24946         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
24947         U+11001, U+11038..U+11046. Remove U+06DE.
24948         (uc_width): Fix bounds of planes.
24949         * tests/uniwidth/test-uc_width2.sh: Same updates as in
24950         lib/uniwidth/width.c.
24951         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
24952         trailing whitespace removed.
24953         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
24954         without comments, but with the original copyright notice.
24955         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
24956         * lib/unicase/ignorable.h: Likewise.
24957         * lib/unicase/tocasefold.h: Likewise.
24958         * lib/unicase/tolower.h: Likewise.
24959         * lib/unicase/totitle.h: Likewise.
24960         * lib/unicase/toupper.h: Likewise.
24961         * lib/unictype/bidi_of.h: Likewise.
24962         * lib/unictype/blocks.h: Likewise.
24963         * lib/unictype/categ_C.h: Likewise.
24964         * lib/unictype/categ_Cn.h: Likewise.
24965         * lib/unictype/categ_L.h: Likewise.
24966         * lib/unictype/categ_Ll.h: Likewise.
24967         * lib/unictype/categ_Lm.h: Likewise.
24968         * lib/unictype/categ_Lo.h: Likewise.
24969         * lib/unictype/categ_Lu.h: Likewise.
24970         * lib/unictype/categ_M.h: Likewise.
24971         * lib/unictype/categ_Mc.h: Likewise.
24972         * lib/unictype/categ_Me.h: Likewise.
24973         * lib/unictype/categ_Mn.h: Likewise.
24974         * lib/unictype/categ_N.h: Likewise.
24975         * lib/unictype/categ_Nd.h: Likewise.
24976         * lib/unictype/categ_No.h: Likewise.
24977         * lib/unictype/categ_P.h: Likewise.
24978         * lib/unictype/categ_Po.h: Likewise.
24979         * lib/unictype/categ_S.h: Likewise.
24980         * lib/unictype/categ_Sc.h: Likewise.
24981         * lib/unictype/categ_Sk.h: Likewise.
24982         * lib/unictype/categ_Sm.h: Likewise.
24983         * lib/unictype/categ_So.h: Likewise.
24984         * lib/unictype/categ_of.h: Likewise.
24985         * lib/unictype/combining.h: Likewise.
24986         * lib/unictype/ctype_alnum.h: Likewise.
24987         * lib/unictype/ctype_alpha.h: Likewise.
24988         * lib/unictype/ctype_graph.h: Likewise.
24989         * lib/unictype/ctype_lower.h: Likewise.
24990         * lib/unictype/ctype_print.h: Likewise.
24991         * lib/unictype/ctype_punct.h: Likewise.
24992         * lib/unictype/ctype_upper.h: Likewise.
24993         * lib/unictype/decdigit.h: Likewise.
24994         * lib/unictype/digit.h: Likewise.
24995         * lib/unictype/numeric.h: Likewise.
24996         * lib/unictype/pr_alphabetic.h: Likewise.
24997         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
24998         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
24999         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25000         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25001         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25002         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25003         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25004         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25005         * lib/unictype/pr_case_ignorable.h: Likewise.
25006         * lib/unictype/pr_cased.h: Likewise.
25007         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
25008         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
25009         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
25010         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
25011         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
25012         * lib/unictype/pr_combining.h: Likewise.
25013         * lib/unictype/pr_composite.h: Likewise.
25014         * lib/unictype/pr_currency_symbol.h: Likewise.
25015         * lib/unictype/pr_decimal_digit.h: Likewise.
25016         * lib/unictype/pr_deprecated.h: Likewise.
25017         * lib/unictype/pr_format_control.h: Likewise.
25018         * lib/unictype/pr_grapheme_base.h: Likewise.
25019         * lib/unictype/pr_grapheme_extend.h: Likewise.
25020         * lib/unictype/pr_grapheme_link.h: Likewise.
25021         * lib/unictype/pr_id_continue.h: Likewise.
25022         * lib/unictype/pr_id_start.h: Likewise.
25023         * lib/unictype/pr_ideographic.h: Likewise.
25024         * lib/unictype/pr_lowercase.h: Likewise.
25025         * lib/unictype/pr_math.h: Likewise.
25026         * lib/unictype/pr_numeric.h: Likewise.
25027         * lib/unictype/pr_other_alphabetic.h: Likewise.
25028         * lib/unictype/pr_other_id_continue.h: Likewise.
25029         * lib/unictype/pr_other_math.h: Likewise.
25030         * lib/unictype/pr_punctuation.h: Likewise.
25031         * lib/unictype/pr_sentence_terminal.h: Likewise.
25032         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25033         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25034         * lib/unictype/pr_unified_ideograph.h: Likewise.
25035         * lib/unictype/pr_uppercase.h: Likewise.
25036         * lib/unictype/pr_xid_continue.h: Likewise.
25037         * lib/unictype/pr_xid_start.h: Likewise.
25038         * lib/unictype/scripts.h: Likewise.
25039         * lib/unictype/scripts_byname.gperf: Likewise.
25040         * lib/unictype/sy_java_ident.h: Likewise.
25041         * lib/unigbrk/gbrkprop.h: Likewise.
25042         * lib/unilbrk/lbrkprop1.h: Likewise.
25043         * lib/unilbrk/lbrkprop2.h: Likewise.
25044         * lib/uninorm/decomposition-table2.h: Likewise.
25045         * lib/uniwbrk/wbrkprop.h: Likewise.
25046         * tests/unicase/test-cased.c: Likewise.
25047         * tests/unicase/test-ignorable.c: Likewise.
25048         * tests/unicase/test-uc_tolower.c: Likewise.
25049         * tests/unicase/test-uc_totitle.c: Likewise.
25050         * tests/unicase/test-uc_toupper.c: Likewise.
25051         * tests/unictype/test-categ_C.c: Likewise.
25052         * tests/unictype/test-categ_Cn.c: Likewise.
25053         * tests/unictype/test-categ_L.c: Likewise.
25054         * tests/unictype/test-categ_Ll.c: Likewise.
25055         * tests/unictype/test-categ_Lm.c: Likewise.
25056         * tests/unictype/test-categ_Lo.c: Likewise.
25057         * tests/unictype/test-categ_Lu.c: Likewise.
25058         * tests/unictype/test-categ_M.c: Likewise.
25059         * tests/unictype/test-categ_Mc.c: Likewise.
25060         * tests/unictype/test-categ_Me.c: Likewise.
25061         * tests/unictype/test-categ_Mn.c: Likewise.
25062         * tests/unictype/test-categ_N.c: Likewise.
25063         * tests/unictype/test-categ_Nd.c: Likewise.
25064         * tests/unictype/test-categ_No.c: Likewise.
25065         * tests/unictype/test-categ_P.c: Likewise.
25066         * tests/unictype/test-categ_Po.c: Likewise.
25067         * tests/unictype/test-categ_S.c: Likewise.
25068         * tests/unictype/test-categ_Sc.c: Likewise.
25069         * tests/unictype/test-categ_Sk.c: Likewise.
25070         * tests/unictype/test-categ_Sm.c: Likewise.
25071         * tests/unictype/test-categ_So.c: Likewise.
25072         * tests/unictype/test-ctype_alnum.c: Likewise.
25073         * tests/unictype/test-ctype_alpha.c: Likewise.
25074         * tests/unictype/test-ctype_graph.c: Likewise.
25075         * tests/unictype/test-ctype_lower.c: Likewise.
25076         * tests/unictype/test-ctype_print.c: Likewise.
25077         * tests/unictype/test-ctype_punct.c: Likewise.
25078         * tests/unictype/test-ctype_upper.c: Likewise.
25079         * tests/unictype/test-decdigit.h: Likewise.
25080         * tests/unictype/test-digit.h: Likewise.
25081         * tests/unictype/test-numeric.h: Likewise.
25082         * tests/unictype/test-pr_alphabetic.c: Likewise.
25083         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25084         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
25085         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
25086         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25087         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25088         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25089         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25090         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25091         * tests/unictype/test-pr_case_ignorable.c: Likewise.
25092         * tests/unictype/test-pr_cased.c: Likewise.
25093         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
25094         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
25095         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
25096         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
25097         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
25098         * tests/unictype/test-pr_combining.c: Likewise.
25099         * tests/unictype/test-pr_composite.c: Likewise.
25100         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25101         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25102         * tests/unictype/test-pr_deprecated.c: Likewise.
25103         * tests/unictype/test-pr_format_control.c: Likewise.
25104         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25105         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25106         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25107         * tests/unictype/test-pr_id_continue.c: Likewise.
25108         * tests/unictype/test-pr_id_start.c: Likewise.
25109         * tests/unictype/test-pr_ideographic.c: Likewise.
25110         * tests/unictype/test-pr_lowercase.c: Likewise.
25111         * tests/unictype/test-pr_math.c: Likewise.
25112         * tests/unictype/test-pr_numeric.c: Likewise.
25113         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25114         * tests/unictype/test-pr_other_id_continue.c: Likewise.
25115         * tests/unictype/test-pr_other_math.c: Likewise.
25116         * tests/unictype/test-pr_punctuation.c: Likewise.
25117         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25118         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25119         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25120         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25121         * tests/unictype/test-pr_uppercase.c: Likewise.
25122         * tests/unictype/test-pr_xid_continue.c: Likewise.
25123         * tests/unictype/test-pr_xid_start.c: Likewise.
25124         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25125         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25126         changes.
25127         * lib/unictype/categ_Cc.h: Likewise.
25128         * lib/unictype/categ_Cf.h: Likewise.
25129         * lib/unictype/categ_Co.h: Likewise.
25130         * lib/unictype/categ_Cs.h: Likewise.
25131         * lib/unictype/categ_Lt.h: Likewise.
25132         * lib/unictype/categ_Nl.h: Likewise.
25133         * lib/unictype/categ_Pc.h: Likewise.
25134         * lib/unictype/categ_Pd.h: Likewise.
25135         * lib/unictype/categ_Pe.h: Likewise.
25136         * lib/unictype/categ_Pf.h: Likewise.
25137         * lib/unictype/categ_Pi.h: Likewise.
25138         * lib/unictype/categ_Ps.h: Likewise.
25139         * lib/unictype/categ_Z.h: Likewise.
25140         * lib/unictype/categ_Zl.h: Likewise.
25141         * lib/unictype/categ_Zp.h: Likewise.
25142         * lib/unictype/categ_Zs.h: Likewise.
25143         * lib/unictype/ctype_blank.h: Likewise.
25144         * lib/unictype/ctype_cntrl.h: Likewise.
25145         * lib/unictype/ctype_digit.h: Likewise.
25146         * lib/unictype/ctype_space.h: Likewise.
25147         * lib/unictype/ctype_xdigit.h: Likewise.
25148         * lib/unictype/mirror.h: Likewise.
25149         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25150         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25151         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25152         * lib/unictype/pr_bidi_control.h: Likewise.
25153         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25154         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25155         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25156         * lib/unictype/pr_bidi_pdf.h: Likewise.
25157         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25158         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25159         * lib/unictype/pr_dash.h: Likewise.
25160         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25161         * lib/unictype/pr_diacritic.h: Likewise.
25162         * lib/unictype/pr_extender.h: Likewise.
25163         * lib/unictype/pr_hex_digit.h: Likewise.
25164         * lib/unictype/pr_hyphen.h: Likewise.
25165         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25166         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25167         * lib/unictype/pr_ignorable_control.h: Likewise.
25168         * lib/unictype/pr_iso_control.h: Likewise.
25169         * lib/unictype/pr_join_control.h: Likewise.
25170         * lib/unictype/pr_left_of_pair.h: Likewise.
25171         * lib/unictype/pr_line_separator.h: Likewise.
25172         * lib/unictype/pr_logical_order_exception.h: Likewise.
25173         * lib/unictype/pr_non_break.h: Likewise.
25174         * lib/unictype/pr_not_a_character.h: Likewise.
25175         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25176         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25177         * lib/unictype/pr_other_id_start.h: Likewise.
25178         * lib/unictype/pr_other_lowercase.h: Likewise.
25179         * lib/unictype/pr_other_uppercase.h: Likewise.
25180         * lib/unictype/pr_paired_punctuation.h: Likewise.
25181         * lib/unictype/pr_paragraph_separator.h: Likewise.
25182         * lib/unictype/pr_pattern_syntax.h: Likewise.
25183         * lib/unictype/pr_pattern_white_space.h: Likewise.
25184         * lib/unictype/pr_private_use.h: Likewise.
25185         * lib/unictype/pr_quotation_mark.h: Likewise.
25186         * lib/unictype/pr_radical.h: Likewise.
25187         * lib/unictype/pr_soft_dotted.h: Likewise.
25188         * lib/unictype/pr_space.h: Likewise.
25189         * lib/unictype/pr_titlecase.h: Likewise.
25190         * lib/unictype/pr_variation_selector.h: Likewise.
25191         * lib/unictype/pr_white_space.h: Likewise.
25192         * lib/unictype/pr_zero_width.h: Likewise.
25193         * lib/unictype/sy_c_ident.h: Likewise.
25194         * lib/unictype/sy_c_whitespace.h: Likewise.
25195         * lib/unictype/sy_java_whitespace.h: Likewise.
25196         * lib/uninorm/composition-table.gperf: Likewise.
25197         * lib/uninorm/decomposition-table1.h: Likewise.
25198         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
25199         LB8.
25200         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25201         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25202         * modules/unictype/*: Bump version number of expected libunistring
25203         version.
25204
25205 2011-01-09  Bruno Haible  <bruno@clisp.org>
25206
25207         Update to Unicode 5.2.0.
25208         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
25209         trailing whitespace removed.
25210
25211 2011-01-09  Bruno Haible  <bruno@clisp.org>
25212
25213         New Unicode character properties, from Unicode 5.2.0.
25214         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
25215         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
25216         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
25217         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
25218         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
25219         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
25220         uc_is_property_cased, uc_is_property_case_ignorable,
25221         uc_is_property_changes_when_lowercased,
25222         uc_is_property_changes_when_uppercased,
25223         uc_is_property_changes_when_titlecased,
25224         uc_is_property_changes_when_casefolded,
25225         uc_is_property_changes_when_casemapped): New declarations.
25226         * lib/unictype/pr_byname.gperf: Add the new properties.
25227         * modules/unictype/property-byname (Depends-on): Depend on the new
25228         properties modules.
25229         * modules/unictype/property-all (Depends-on): Likewise.
25230         * MODULES.html.sh (Unicode string functions): Add
25231         unictype/property-case-ignorable, unictype/property-cased,
25232         unictype/property-changes-when-casefolded,
25233         unictype/property-changes-when-casemapped,
25234         unictype/property-changes-when-lowercased,
25235         unictype/property-changes-when-titlecased,
25236         unictype/property-changes-when-uppercased.
25237
25238         New module 'unictype/property-changes-when-casemapped'.
25239         * modules/unictype/property-changes-when-casemapped: New file.
25240         * lib/unictype/pr_changes_when_casemapped.c: New file.
25241         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
25242         generated by gen-uni-tables.
25243         * modules/unictype/property-changes-when-casemapped-tests: New file.
25244         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
25245         automatically generated by gen-uni-tables.
25246
25247         New module 'unictype/property-changes-when-casefolded'.
25248         * modules/unictype/property-changes-when-casefolded: New file.
25249         * lib/unictype/pr_changes_when_casefolded.c: New file.
25250         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
25251         generated by gen-uni-tables.
25252         * modules/unictype/property-changes-when-casefolded-tests: New file.
25253         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
25254         automatically generated by gen-uni-tables.
25255
25256         New module 'unictype/property-changes-when-titlecased'.
25257         * modules/unictype/property-changes-when-titlecased: New file.
25258         * lib/unictype/pr_changes_when_titlecased.c: New file.
25259         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
25260         generated by gen-uni-tables.
25261         * modules/unictype/property-changes-when-titlecased-tests: New file.
25262         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
25263         automatically generated by gen-uni-tables.
25264
25265         New module 'unictype/property-changes-when-uppercased'.
25266         * modules/unictype/property-changes-when-uppercased: New file.
25267         * lib/unictype/pr_changes_when_uppercased.c: New file.
25268         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
25269         generated by gen-uni-tables.
25270         * modules/unictype/property-changes-when-uppercased-tests: New file.
25271         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
25272         automatically generated by gen-uni-tables.
25273
25274         New module 'unictype/property-changes-when-lowercased'.
25275         * modules/unictype/property-changes-when-lowercased: New file.
25276         * lib/unictype/pr_changes_when_lowercased.c: New file.
25277         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
25278         generated by gen-uni-tables.
25279         * modules/unictype/property-changes-when-lowercased-tests: New file.
25280         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
25281         automatically generated by gen-uni-tables.
25282
25283         New module 'unictype/property-case-ignorable'.
25284         * modules/unictype/property-case-ignorable: New file.
25285         * lib/unictype/pr_case_ignorable.c: New file.
25286         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
25287         by gen-uni-tables.
25288         * modules/unictype/property-case-ignorable-tests: New file.
25289         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
25290         generated by gen-uni-tables.
25291
25292         New module 'unictype/property-cased'.
25293         * modules/unictype/property-cased: New file.
25294         * lib/unictype/pr_cased.c: New file.
25295         * lib/unictype/pr_cased.h: New file, automatically generated by
25296         gen-uni-tables.
25297         * modules/unictype/property-cased-tests: New file.
25298         * tests/unictype/test-pr_cased.c: New file, automatically generated by
25299         gen-uni-tables.
25300
25301 2011-01-09  Bruno Haible  <bruno@clisp.org>
25302
25303         Update to Unicode 5.2.0.
25304         * lib/gen-uni-tables.c (output_predicate, output_category,
25305         output_combclass, output_bidi_category, output_decimal_digit_test,
25306         output_decimal_digit, output_digit_test, output_digit,
25307         output_numeric_test, output_numeric, output_mirror, output_scripts,
25308         output_scripts_byname, output_blocks, output_ident_category): Fix
25309         comment header.
25310         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
25311         get_wbp.
25312         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
25313         items.
25314         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
25315         Changes_When_Lowercased, Changes_When_Uppercased,
25316         Changes_When_Titlecased, Changes_When_Casefolded,
25317         Changes_When_Casemapped.
25318         (is_property_alphabetic, is_property_default_ignorable_code_point):
25319         Update for Unicode 5.2.0.
25320         (is_property_cased, is_property_case_ignorable,
25321         is_property_changes_when_lowercased,
25322         is_property_changes_when_uppercased,
25323         is_property_changes_when_titlecased,
25324         is_property_changes_when_casefolded,
25325         is_property_changes_when_casemapped): New functions.
25326         (output_properties): Output also the properties cased, case_ignorable,
25327         changes_when_lowercased, changes_when_uppercased,
25328         changes_when_titlecased, changes_when_casefolded,
25329         changes_when_casemapped.
25330         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
25331         Unicode TR#11 revision 17 -> 19.
25332         (LBP_CP): New enumeration value.
25333         (LBP_*): Adjust values accordingly.
25334         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25335         TR#14 revision 22 -> 24.
25336         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
25337         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
25338         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25339         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
25340         is_WBP_MIDLETTER.
25341         (output_composition_tables): Allow for 24 bits instead of 16 bits in
25342         the code1 and code2 of each composition rule.
25343         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
25344         * lib/unicase/ignorable.h: Likewise.
25345         * lib/unicase/tocasefold.h: Likewise.
25346         * lib/unicase/tolower.h: Likewise.
25347         * lib/unicase/totitle.h: Likewise.
25348         * lib/unicase/toupper.h: Likewise.
25349         * lib/unictype/bidi_of.h: Likewise.
25350         * lib/unictype/blocks.h: Likewise.
25351         * lib/unictype/categ_C.h: Likewise.
25352         * lib/unictype/categ_Cf.h: Likewise.
25353         * lib/unictype/categ_Cn.h: Likewise.
25354         * lib/unictype/categ_L.h: Likewise.
25355         * lib/unictype/categ_Ll.h: Likewise.
25356         * lib/unictype/categ_Lm.h: Likewise.
25357         * lib/unictype/categ_Lo.h: Likewise.
25358         * lib/unictype/categ_Lu.h: Likewise.
25359         * lib/unictype/categ_M.h: Likewise.
25360         * lib/unictype/categ_Mc.h: Likewise.
25361         * lib/unictype/categ_Mn.h: Likewise.
25362         * lib/unictype/categ_N.h: Likewise.
25363         * lib/unictype/categ_Nd.h: Likewise.
25364         * lib/unictype/categ_Nl.h: Likewise.
25365         * lib/unictype/categ_No.h: Likewise.
25366         * lib/unictype/categ_P.h: Likewise.
25367         * lib/unictype/categ_Pd.h: Likewise.
25368         * lib/unictype/categ_Po.h: Likewise.
25369         * lib/unictype/categ_S.h: Likewise.
25370         * lib/unictype/categ_Sc.h: Likewise.
25371         * lib/unictype/categ_So.h: Likewise.
25372         * lib/unictype/categ_of.h: Likewise.
25373         * lib/unictype/combining.h: Likewise.
25374         * lib/unictype/ctype_alnum.h: Likewise.
25375         * lib/unictype/ctype_alpha.h: Likewise.
25376         * lib/unictype/ctype_graph.h: Likewise.
25377         * lib/unictype/ctype_lower.h: Likewise.
25378         * lib/unictype/ctype_print.h: Likewise.
25379         * lib/unictype/ctype_punct.h: Likewise.
25380         * lib/unictype/ctype_upper.h: Likewise.
25381         * lib/unictype/decdigit.h: Likewise.
25382         * lib/unictype/digit.h: Likewise.
25383         * lib/unictype/numeric.h: Likewise.
25384         * lib/unictype/pr_alphabetic.h: Likewise.
25385         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25386         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25387         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25388         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25389         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25390         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25391         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25392         * lib/unictype/pr_combining.h: Likewise.
25393         * lib/unictype/pr_composite.h: Likewise.
25394         * lib/unictype/pr_currency_symbol.h: Likewise.
25395         * lib/unictype/pr_dash.h: Likewise.
25396         * lib/unictype/pr_decimal_digit.h: Likewise.
25397         * lib/unictype/pr_deprecated.h: Likewise.
25398         * lib/unictype/pr_diacritic.h: Likewise.
25399         * lib/unictype/pr_extender.h: Likewise.
25400         * lib/unictype/pr_grapheme_base.h: Likewise.
25401         * lib/unictype/pr_grapheme_extend.h: Likewise.
25402         * lib/unictype/pr_grapheme_link.h: Likewise.
25403         * lib/unictype/pr_id_continue.h: Likewise.
25404         * lib/unictype/pr_id_start.h: Likewise.
25405         * lib/unictype/pr_ideographic.h: Likewise.
25406         * lib/unictype/pr_ignorable_control.h: Likewise.
25407         * lib/unictype/pr_logical_order_exception.h: Likewise.
25408         * lib/unictype/pr_lowercase.h: Likewise.
25409         * lib/unictype/pr_numeric.h: Likewise.
25410         * lib/unictype/pr_other_alphabetic.h: Likewise.
25411         * lib/unictype/pr_punctuation.h: Likewise.
25412         * lib/unictype/pr_sentence_terminal.h: Likewise.
25413         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25414         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25415         * lib/unictype/pr_unified_ideograph.h: Likewise.
25416         * lib/unictype/pr_uppercase.h: Likewise.
25417         * lib/unictype/pr_xid_continue.h: Likewise.
25418         * lib/unictype/pr_xid_start.h: Likewise.
25419         * lib/unictype/pr_zero_width.h: Likewise.
25420         * lib/unictype/scripts.h: Likewise.
25421         * lib/unictype/scripts_byname.gperf: Likewise.
25422         * lib/unictype/sy_java_ident.h: Likewise.
25423         * lib/unigbrk/gbrkprop.h: Likewise.
25424         * lib/unilbrk/lbrkprop1.h: Likewise.
25425         * lib/unilbrk/lbrkprop2.h: Likewise.
25426         * lib/unilbrk/lbrktables.h: Likewise.
25427         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
25428         LBP_CP. Implement rule LB30.
25429         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
25430         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
25431         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
25432         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
25433         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
25434         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
25435         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
25436         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
25437         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
25438         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
25439         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
25440         bits instead of 16 bits in the code1 and code2 of each composition
25441         rule.
25442         (uc_composition): Update for Unicode 5.2.0.
25443         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
25444         * lib/uninorm/decomposition-table2.h: Likewise.
25445         * lib/uniwbrk/wbrkprop.h: Likewise.
25446         * tests/unicase/test-cased.c: Likewise.
25447         * tests/unicase/test-ignorable.c: Likewise.
25448         * tests/unicase/test-uc_tolower.c: Likewise.
25449         * tests/unicase/test-uc_totitle.c: Likewise.
25450         * tests/unicase/test-uc_toupper.c: Likewise.
25451         * tests/unictype/test-categ_C.c: Likewise.
25452         * tests/unictype/test-categ_Cf.c: Likewise.
25453         * tests/unictype/test-categ_Cn.c: Likewise.
25454         * tests/unictype/test-categ_L.c: Likewise.
25455         * tests/unictype/test-categ_Ll.c: Likewise.
25456         * tests/unictype/test-categ_Lm.c: Likewise.
25457         * tests/unictype/test-categ_Lo.c: Likewise.
25458         * tests/unictype/test-categ_Lu.c: Likewise.
25459         * tests/unictype/test-categ_M.c: Likewise.
25460         * tests/unictype/test-categ_Mc.c: Likewise.
25461         * tests/unictype/test-categ_Mn.c: Likewise.
25462         * tests/unictype/test-categ_N.c: Likewise.
25463         * tests/unictype/test-categ_Nd.c: Likewise.
25464         * tests/unictype/test-categ_Nl.c: Likewise.
25465         * tests/unictype/test-categ_No.c: Likewise.
25466         * tests/unictype/test-categ_P.c: Likewise.
25467         * tests/unictype/test-categ_Pd.c: Likewise.
25468         * tests/unictype/test-categ_Po.c: Likewise.
25469         * tests/unictype/test-categ_S.c: Likewise.
25470         * tests/unictype/test-categ_Sc.c: Likewise.
25471         * tests/unictype/test-categ_So.c: Likewise.
25472         * tests/unictype/test-ctype_alnum.c: Likewise.
25473         * tests/unictype/test-ctype_alpha.c: Likewise.
25474         * tests/unictype/test-ctype_graph.c: Likewise.
25475         * tests/unictype/test-ctype_lower.c: Likewise.
25476         * tests/unictype/test-ctype_print.c: Likewise.
25477         * tests/unictype/test-ctype_punct.c: Likewise.
25478         * tests/unictype/test-ctype_upper.c: Likewise.
25479         * tests/unictype/test-decdigit.h: Likewise.
25480         * tests/unictype/test-digit.h: Likewise.
25481         * tests/unictype/test-numeric.h: Likewise.
25482         * tests/unictype/test-pr_alphabetic.c: Likewise.
25483         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25484         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25485         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
25486         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25487         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25488         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25489         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25490         * tests/unictype/test-pr_combining.c: Likewise.
25491         * tests/unictype/test-pr_composite.c: Likewise.
25492         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25493         * tests/unictype/test-pr_dash.c: Likewise.
25494         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25495         * tests/unictype/test-pr_deprecated.c: Likewise.
25496         * tests/unictype/test-pr_diacritic.c: Likewise.
25497         * tests/unictype/test-pr_extender.c: Likewise.
25498         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25499         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25500         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25501         * tests/unictype/test-pr_id_continue.c: Likewise.
25502         * tests/unictype/test-pr_id_start.c: Likewise.
25503         * tests/unictype/test-pr_ideographic.c: Likewise.
25504         * tests/unictype/test-pr_ignorable_control.c: Likewise.
25505         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
25506         * tests/unictype/test-pr_lowercase.c: Likewise.
25507         * tests/unictype/test-pr_numeric.c: Likewise.
25508         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25509         * tests/unictype/test-pr_punctuation.c: Likewise.
25510         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25511         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25512         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25513         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25514         * tests/unictype/test-pr_uppercase.c: Likewise.
25515         * tests/unictype/test-pr_xid_continue.c: Likewise.
25516         * tests/unictype/test-pr_xid_start.c: Likewise.
25517         * tests/unictype/test-pr_zero_width.c: Likewise.
25518         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25519         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
25520         changed behaviour: line breaking is now disallowed between a letter
25521         or '=' and '('.
25522         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25523         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25524         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
25525         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
25526         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25527         lib/uniwidth/width.c.
25528         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
25529         without comments, but with the original copyright notice.
25530         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25531         changes.
25532         * lib/unictype/categ_Cc.h: Likewise.
25533         * lib/unictype/categ_Co.h: Likewise.
25534         * lib/unictype/categ_Cs.h: Likewise.
25535         * lib/unictype/categ_Lt.h: Likewise.
25536         * lib/unictype/categ_Me.h: Likewise.
25537         * lib/unictype/categ_Pc.h: Likewise.
25538         * lib/unictype/categ_Pe.h: Likewise.
25539         * lib/unictype/categ_Pf.h: Likewise.
25540         * lib/unictype/categ_Pi.h: Likewise.
25541         * lib/unictype/categ_Ps.h: Likewise.
25542         * lib/unictype/categ_Sk.h: Likewise.
25543         * lib/unictype/categ_Sm.h: Likewise.
25544         * lib/unictype/categ_Z.h: Likewise.
25545         * lib/unictype/categ_Zl.h: Likewise.
25546         * lib/unictype/categ_Zp.h: Likewise.
25547         * lib/unictype/categ_Zs.h: Likewise.
25548         * lib/unictype/ctype_blank.h: Likewise.
25549         * lib/unictype/ctype_cntrl.h: Likewise.
25550         * lib/unictype/ctype_digit.h: Likewise.
25551         * lib/unictype/ctype_space.h: Likewise.
25552         * lib/unictype/ctype_xdigit.h: Likewise.
25553         * lib/unictype/mirror.h: Likewise.
25554         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25555         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25556         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25557         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25558         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25559         * lib/unictype/pr_bidi_control.h: Likewise.
25560         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25561         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25562         * lib/unictype/pr_bidi_pdf.h: Likewise.
25563         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25564         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25565         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25566         * lib/unictype/pr_format_control.h: Likewise.
25567         * lib/unictype/pr_hex_digit.h: Likewise.
25568         * lib/unictype/pr_hyphen.h: Likewise.
25569         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25570         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25571         * lib/unictype/pr_iso_control.h: Likewise.
25572         * lib/unictype/pr_join_control.h: Likewise.
25573         * lib/unictype/pr_left_of_pair.h: Likewise.
25574         * lib/unictype/pr_line_separator.h: Likewise.
25575         * lib/unictype/pr_math.h: Likewise.
25576         * lib/unictype/pr_non_break.h: Likewise.
25577         * lib/unictype/pr_not_a_character.h: Likewise.
25578         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25579         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25580         * lib/unictype/pr_other_id_continue.h: Likewise.
25581         * lib/unictype/pr_other_id_start.h: Likewise.
25582         * lib/unictype/pr_other_lowercase.h: Likewise.
25583         * lib/unictype/pr_other_math.h: Likewise.
25584         * lib/unictype/pr_other_uppercase.h: Likewise.
25585         * lib/unictype/pr_paired_punctuation.h: Likewise.
25586         * lib/unictype/pr_paragraph_separator.h: Likewise.
25587         * lib/unictype/pr_pattern_syntax.h: Likewise.
25588         * lib/unictype/pr_pattern_white_space.h: Likewise.
25589         * lib/unictype/pr_private_use.h: Likewise.
25590         * lib/unictype/pr_quotation_mark.h: Likewise.
25591         * lib/unictype/pr_radical.h: Likewise.
25592         * lib/unictype/pr_soft_dotted.h: Likewise.
25593         * lib/unictype/pr_space.h: Likewise.
25594         * lib/unictype/pr_titlecase.h: Likewise.
25595         * lib/unictype/pr_variation_selector.h: Likewise.
25596         * lib/unictype/pr_white_space.h: Likewise.
25597         * lib/unictype/sy_c_ident.h: Likewise.
25598         * lib/unictype/sy_c_whitespace.h: Likewise.
25599         * lib/unictype/sy_java_whitespace.h: Likewise.
25600         * modules/uni*/*: Bump version number of expected libunistring version.
25601         Reported by Simon Josefsson.
25602
25603 2011-01-09  Karl Heuer  <kwzh@gnu.org>
25604
25605         useless-if-before-free: fix typo in --help and make the internal,
25606         automatic version date update process work once again.
25607         --help output contained a NUL character instead of the
25608         backslash-zero that was intended.  Also, the "must lie within
25609         the first 8 lines" line is on line 9, and hence not getting
25610         automatically updated.
25611         * build-aux/useless-if-before-free: Fix the former by adding a
25612         backslash, and the latter by condensing the three lines of what-it-does
25613         to a single line, leaving one line of slack for the future.
25614
25615 2011-01-09  Bruno Haible  <bruno@clisp.org>
25616
25617         uniwidth/width: Fix width of U+1D173..U+1D17A.
25618         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
25619         symbolic_width, output_width_property_test): New functions.
25620         (main): Invoke output_nonspacing_property, output_width_property_test.
25621         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
25622         U+1D173..U+1D17A.
25623         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
25624         1.
25625         * modules/uniwidth/*: Bump version number of expected libunistring
25626         version.
25627         * modules/unilbrk/*: Likewise.
25628
25629 2011-01-08  Bruno Haible  <bruno@clisp.org>
25630
25631         uninorm tests: Preserve copyright of Unicode data file.
25632         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
25633         Mention modifications.
25634
25635 2011-01-08  Bruno Haible  <bruno@clisp.org>
25636
25637         gen-uni-tables: Prepare for Unicode 5.2.0.
25638         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
25639         (debug_output_lbp, output_lbp): Update.
25640
25641 2011-01-08  Bruno Haible  <bruno@clisp.org>
25642
25643         unilbrk: Clarify gen-uni-tables.c code.
25644         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
25645         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
25646         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
25647
25648 2011-01-07  Bruno Haible  <bruno@clisp.org>
25649
25650         strtod: Restore errno when successfully parsing Infinity or NaN.
25651         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
25652         restore the original errno.
25653
25654 2011-01-07  Bruno Haible  <bruno@clisp.org>
25655
25656         remove test: Avoid failure on HP-UX 11.
25657         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
25658
25659 2011-01-07  Bruno Haible  <bruno@clisp.org>
25660
25661         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
25662         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
25663         error code.
25664
25665 2011-01-07  Pádraig Brady <P@draigBrady.com>
25666
25667         ignore-value: fixup comments, and add Eric Blake
25668         as an author since he rewrote the macros.
25669         * lib/ignore-value.h (ignore_value):  State that
25670         we now support aggregates.  Also specify exactly
25671         when the GCC warn_unused_result feature was added.
25672
25673 2011-01-06  Eric Blake  <eblake@redhat.com>
25674
25675         ignore-value: support aggregate types
25676         * lib/ignore-value.h (ignore_value): Provide separate gcc
25677         definition.
25678         * modules/ignore-value-tests: New test module.
25679         * tests/test-ignore-value.c: New test.
25680
25681         maint.mk: improve sc_prohibit_strcmp regex
25682         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
25683         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
25684         definition of STRNEQ.
25685
25686         signal: work around Haiku issue with SIGBUS
25687         * lib/siglist.h: Add comment.
25688         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
25689         strsignal's favoring of SIGSEGV.
25690         * tests/test-signal.c (main): Avoid test failure.
25691         * doc/posix-headers/signal.texi (signal.h): Document the issue.
25692         Reported by Scott McCreary.
25693
25694         maint.mk: add pre-release check to ensure submodule commits are public
25695         * top/maint.mk (public-submodule-commit): New rule.
25696         (submodule-checks): New variable.
25697         (alpha beta stable): Depend on the variable.
25698
25699 2011-01-05  Pádraig Brady <P@draigBrady.com>
25700         and Jim Meyering  <meyering@redhat.com>
25701
25702         ignore-value: make ignore_value more generic; deprecate ignore_ptr
25703         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
25704         (ATTRIBUTE_DEPRECATED): Define.
25705         (_ignore_case): New function.
25706         (ignore_value): New macro, to replace the old function.
25707         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
25708         * modules/ignore-value (Depends-on): Add stdint.
25709
25710 2011-01-04  Eric Blake  <eblake@redhat.com>
25711
25712         doc: regenerate INSTALL
25713         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
25714         @firstparagraphindent support, now that autoconf dropped it.
25715         (INSTALL_PRELUDE): Reinstate old macro.
25716         * doc/install.texi: Resync from autoconf.
25717         * doc/INSTALL: Reflect recent autoconf update.
25718         * doc/INSTALL.ISO: Likewise.
25719         * doc/INSTALL.UTF-8: Likewise.
25720         Reported by Karl Berry.
25721
25722 2011-01-04  Bruce Korb  <address@hidden>
25723
25724         git-version-gen: avoid a sub-shell
25725         * build-aux/git-version-gen: Redirect stderr in `...` via
25726         "exec 2>...", rather than via an added sub-shell.
25727
25728 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
25729
25730         git-version-gen: use (...) rather than sh -c '...'
25731         * build-aux/git-version-gen: Rather than hard-coding a shell's name
25732         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
25733
25734 2011-01-03  Jim Meyering  <meyering@redhat.com>
25735
25736         git-version-gen: convert leading TABs to spaces
25737         * build-aux/git-version-gen: Expand leading TABs.
25738
25739         git-version-gen: handle failed "git rev-list"
25740         * build-aux/git-version-gen: Rather than leaking a "fatal" error
25741         from git and proceeding as if it had succeeded but printed no SHA1
25742         checksums, suppress the diagnostic and handle the failure.
25743         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
25744
25745         git-version-gen: include command name in one more diagnostic
25746         * build-aux/git-version-gen: When the required .tarball-version file
25747         was missing or unreadable, you might see the diagnostic from "cat",
25748         but no trace of the name of the invoking script.  Now, you still see
25749         the diagnostic from cat, but also get one from "git-version-gen: ".
25750         Inspired by a patch from Bruce Korb.
25751
25752         update-copyright: adjust test to match changed code
25753         * tests/test-update-copyright.sh: Change test's expected output
25754         to match new actual output.
25755
25756 2011-01-02  Bruno Haible  <bruno@clisp.org>
25757
25758         getlogin_r: Avoid test failure on HP-UX 11.
25759         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
25760         ERANGE when the second argument is zero.
25761         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
25762         portability problem.
25763
25764 2011-01-02  Bruce Korb  <bkorb@gnu.org>
25765
25766         * build-aux/update-copyright: doc Simon's changes
25767
25768 2011-01-02  Simon Josefsson  <simon@josefsson.org>
25769
25770         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
25771         environment variable.
25772
25773 2011-01-02  Bruno Haible  <bruno@clisp.org>
25774
25775         unigbrk: Avoid gcc warnings.
25776         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
25777         unused variable.
25778         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
25779         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
25780         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
25781         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
25782         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
25783         Change type of first argument to 'const char *'.
25784         (main): Remove unused variable.
25785         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
25786         type of first argument to 'const char *'.
25787         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
25788         Likewise.
25789         (main): Change type of variable 's'.
25790         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
25791         to 'int'.
25792
25793 2011-01-02  Bruno Haible  <bruno@clisp.org>
25794
25795         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
25796         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
25797         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
25798         bug.
25799         * lib/pwrite.c: Undo 2010-12-31 patch.
25800         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
25801
25802 2011-01-02  Bruno Haible  <bruno@clisp.org>
25803
25804         pread: Fix test whether it works.
25805         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
25806
25807 2011-01-02  Bruno Haible  <bruno@clisp.org>
25808
25809         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
25810         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
25811         ends in "6". Don't require a specific month name. Try also the locale
25812         names found on HP-UX 11 and Solaris 7.
25813
25814 2011-01-02  Bruno Haible  <bruno@clisp.org>
25815
25816         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
25817         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
25818         C linkage.
25819         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
25820
25821 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
25822
25823         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
25824         for consistency, since the "cluster" term is not used elsewhere.
25825         * lib/unigbrk.in.h: Update name.
25826         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
25827         * lib/unigbrk/u16-grapheme-next.c: Update name.
25828         * lib/unigbrk/u16-grapheme-prev.c: Update name.
25829         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
25830         * lib/unigbrk/u32-grapheme-next.c: Update name.
25831         * lib/unigbrk/u32-grapheme-prev.c: Update name.
25832         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
25833         * lib/unigbrk/u8-grapheme-next.c: Update name.
25834         * lib/unigbrk/u8-grapheme-prev.c: Update name.
25835         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
25836         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
25837         Suggested by Bruno Haible.
25838
25839 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
25840
25841         Remove module 'u8-grapheme-len' as too redundant with
25842         'u8-grapheme-next'.
25843         * modules/unigbrk/u8-grapheme-len: Delete file.
25844         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
25845         * lib/unigbrk.in.h: Remove prototype for deleted function.
25846         * lib/unigbrk/u8-grapheme-len.c: Delete file.
25847         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
25848
25849         Remove module 'u16-grapheme-len' as too redundant with
25850         'u16-grapheme-next'.
25851         * modules/unigbrk/u16-grapheme-len: Delete file.
25852         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
25853         * lib/unigbrk.in.h: Remove prototype for deleted function.
25854         * lib/unigbrk/u16-grapheme-len.c: Delete file.
25855         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
25856
25857         Remove module 'u32-grapheme-len' as too redundant with
25858         'u32-grapheme-next'.
25859         * modules/unigbrk/u32-grapheme-len: Delete file.
25860         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
25861         * lib/unigbrk.in.h: Remove prototype for deleted function.
25862         * lib/unigbrk/u32-grapheme-len.c: Delete file.
25863         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
25864
25865         Suggested by Bruno Haible.
25866
25867 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
25868
25869         * unigbrk.in.h: Fix typo: "ben" => "been".
25870         Reported by Bruno Haible.
25871
25872 2011-01-01  Jim Meyering  <meyering@redhat.com>
25873
25874         maint: update almost all copyright ranges to include 2011
25875         Run the new "make update-copyright" rule.
25876
25877 2011-01-01  Jim Meyering  <meyering@redhat.com>
25878
25879         maint: update-copyright: exempt doc/INSTALL*
25880         * Makefile (update-copyright): Also exclude doc/INSTALL*,
25881         since they are generated.  Suggested by Bruno Haible.
25882
25883 2011-01-01  Jim Meyering  <meyering@redhat.com>
25884
25885         maint: refine the update-copyright rule
25886         * Makefile (update-copyright): Also exclude any file that includes
25887         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
25888         code that merely generates the comment.
25889
25890 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
25891
25892         New module 'u8-grapheme-len'.
25893         * modules/unigbrk/u8-grapheme-len: New file.
25894         * modules/unigbrk/u8-grapheme-len-tests: New file.
25895         * lib/unigbrk.in.h: Add prototype for new function.
25896         * lib/unigbrk/u8-grapheme-len.c: New file.
25897         * tests/unigbrk/test-u8-grapheme-len.c: New file.
25898
25899         New module 'u16-grapheme-len'.
25900         * modules/unigbrk/u16-grapheme-len: New file.
25901         * modules/unigbrk/u16-grapheme-len-tests: New file.
25902         * lib/unigbrk.in.h: Add prototype for new function.
25903         * lib/unigbrk/u16-grapheme-len.c: New file.
25904         * tests/unigbrk/test-u16-grapheme-len.c: New file.
25905
25906         New module 'u32-grapheme-len'.
25907         * modules/unigbrk/u32-grapheme-len: New file.
25908         * modules/unigbrk/u32-grapheme-len-tests: New file.
25909         * lib/unigbrk.in.h: Add prototype for new function.
25910         * lib/unigbrk/u32-grapheme-len.c: New file.
25911         * tests/unigbrk/test-u32-grapheme-len.c: New file.
25912
25913         New module 'u8-grapheme-next'.
25914         * modules/unigbrk/u8-grapheme-next: New file.
25915         * modules/unigbrk/u8-grapheme-next-tests: New file.
25916         * lib/unigbrk.in.h: Add prototype for new function.
25917         * lib/unigbrk/u8-grapheme-next.c: New file.
25918         * tests/unigbrk/test-u8-grapheme-next.c: New file.
25919
25920         New module 'u16-grapheme-next'.
25921         * modules/unigbrk/u16-grapheme-next: New file.
25922         * modules/unigbrk/u16-grapheme-next-tests: New file.
25923         * lib/unigbrk.in.h: Add prototype for new function.
25924         * lib/unigbrk/u16-grapheme-next.c: New file.
25925         * tests/unigbrk/test-u16-grapheme-next.c: New file.
25926
25927         New module 'u32-grapheme-next'.
25928         * modules/unigbrk/u32-grapheme-next: New file.
25929         * modules/unigbrk/u32-grapheme-next-tests: New file.
25930         * lib/unigbrk.in.h: Add prototype for new function.
25931         * lib/unigbrk/u32-grapheme-next.c: New file.
25932         * tests/unigbrk/test-u32-grapheme-next.c: New file.
25933
25934         New module 'u8-grapheme-prev'.
25935         * modules/unigbrk/u8-grapheme-prev: New file.
25936         * modules/unigbrk/u8-grapheme-prev-tests: New file.
25937         * lib/unigbrk.in.h: Add prototype for new function.
25938         * lib/unigbrk/u8-grapheme-prev.c: New file.
25939         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
25940
25941         New module 'u16-grapheme-prev'.
25942         * modules/unigbrk/u16-grapheme-prev: New file.
25943         * modules/unigbrk/u16-grapheme-prev-tests: New file.
25944         * lib/unigbrk.in.h: Add prototype for new function.
25945         * lib/unigbrk/u16-grapheme-prev.c: New file.
25946         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
25947
25948         New module 'u32-grapheme-prev'.
25949         * modules/unigbrk/u32-grapheme-prev: New file.
25950         * modules/unigbrk/u32-grapheme-prev-tests: New file.
25951         * lib/unigbrk.in.h: Add prototype for new function.
25952         * lib/unigbrk/u32-grapheme-prev.c: New file.
25953         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
25954
25955         New module 'u8-grapheme-breaks'.
25956         * modules/unigbrk/u8-grapheme-breaks: New file.
25957         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
25958         * lib/unigbrk.in.h: Add prototype for new function.
25959         * lib/unigbrk/u8-grapheme-breaks.c: New file.
25960         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
25961
25962         New module 'u16-grapheme-breaks'.
25963         * modules/unigbrk/u16-grapheme-breaks: New file.
25964         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
25965         * lib/unigbrk.in.h: Add prototype for new function.
25966         * lib/unigbrk/u16-grapheme-breaks.c: New file.
25967         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
25968
25969         New module 'u32-grapheme-breaks'.
25970         * modules/unigbrk/u32-grapheme-breaks: New file.
25971         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
25972         * lib/unigbrk.in.h: Add prototype for new function.
25973         * lib/unigbrk/u32-grapheme-breaks.c: New file.
25974         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
25975
25976         New module 'ulc-grapheme-breaks'.
25977         * modules/unigbrk/ulc-grapheme-breaks: New file.
25978         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
25979         * m4/locale-ar.m4: New file.
25980         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
25981         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
25982         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
25983
25984 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
25985
25986         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
25987         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
25988         modified how this file was generated before I initially submitted
25989         the module, but failed to regenerate it.  This meant that several
25990         of the level2 entries were wrong.
25991         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
25992         Remove the division-by-2 that is folded into the table now that
25993         gbrkprop.h has been regenerated properly.  Now -1 entries are
25994         handled correctly.
25995
25996         New module 'unigbrk/uc-gbrk-prop-tests'.
25997         * modules/unigbrk/uc-gbrk-prop-tests: New file.
25998         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
25999         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
26000         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
26001
26002 2011-01-01  Bruno Haible  <bruno@clisp.org>
26003
26004         Avoid use of hexadecimal escapes.
26005         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
26006         instead of hexadecimal escapes.
26007
26008 2011-01-01  Jim Meyering  <meyering@redhat.com>
26009
26010         maint: new rule to update copyright year ranges
26011         * Makefile (update-copyright): New rule.
26012
26013         maint: indent with TABs in Makefile
26014         * Makefile: Expand leading sequences of spaces to TABs
26015
26016         version-etc: update the copyright year it reports
26017         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
26018
26019 2010-12-31  Bruno Haible  <bruno@clisp.org>
26020
26021         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
26022         * lib/isfinite.c (zerof, zerod, zerol): New variables.
26023         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
26024         zero.
26025
26026 2010-12-31  Bruno Haible  <bruno@clisp.org>
26027
26028         pwrite: Work around HP-UX 11.11 bug.
26029         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
26030         works and set REPLACE_PWRITE if not.
26031         * lib/pwrite.c (pwrite): Add an implementation that uses the system
26032         function.
26033         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
26034
26035 2010-12-31  Bruno Haible  <bruno@clisp.org>
26036
26037         pread: Work around HP-UX 11 bugs.
26038         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
26039         and set REPLACE_PREAD if not.
26040         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
26041
26042 2010-12-31  Eric Blake  <eblake@redhat.com>
26043
26044         nl_langinfo: fix YESEXPR on Irix 6.5
26045         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
26046         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
26047         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
26048         it.
26049
26050 2010-12-31  Bruno Haible  <bruno@clisp.org>
26051
26052         iconv: Document HP-UX 11 bug.
26053         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
26054
26055 2010-12-31  Bruno Haible  <bruno@clisp.org>
26056
26057         ldexpl: Fix link error on HP-UX 11.
26058         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
26059         LDEXPL_LIBM, using $ISNANL_LIBM.
26060
26061 2010-12-31  Eric Blake  <eblake@redhat.com>
26062
26063         ftello: avoid compilation failure with SunStudio c89
26064         * lib/ftello.c (ftello): Use lseek, not llseek.
26065
26066         tests: avoid failing coreutils tests on cygwin
26067         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
26068         (create_exe_shims_): Return 0 when skipping.
26069
26070 2010-12-31  Bruno Haible  <bruno@clisp.org>
26071
26072         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
26073         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
26074
26075 2010-12-31  Bruno Haible  <bruno@clisp.org>
26076
26077         waitpid: Fix link error in C++ mode.
26078         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
26079
26080 2010-12-31  Bruno Haible  <bruno@clisp.org>
26081
26082         isnan: Use GCC built-ins when possible.
26083         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
26084         __builtin_isnan.
26085         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
26086         (isnan): Define using GCC built-ins for GCC >= 4.0.
26087
26088 2010-12-31  Bruno Haible  <bruno@clisp.org>
26089
26090         isnand: Fix mistake.
26091         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
26092         __builtin_isnand.
26093
26094 2010-12-31  Bruno Haible  <bruno@clisp.org>
26095
26096         open: Avoid C++ error on HP-UX 11.
26097         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
26098
26099 2010-12-31  Bruno Haible  <bruno@clisp.org>
26100
26101         time_r: Add missing declarations on HP-UX 11.
26102         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
26103         instead of HAVE_LOCALTIME_R.
26104         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
26105         HAVE_LOCALTIME_R always.
26106         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
26107         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
26108         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
26109         HAVE_LOCALTIME_R.
26110         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
26111         * doc/posix-functions/localtime_r.texi: Likewise.
26112
26113 2010-12-29  Eric Blake  <eblake@redhat.com>
26114
26115         mountlist: tweak previous commit
26116         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
26117         Reported by Paul Eggert.
26118
26119         mountlist: fix local drive detection on cygwin
26120         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
26121         that works for cygwin.
26122
26123 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26124
26125         ftoastr, snprintf: ftoastr + snprintf module
26126         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
26127         since the snprintf module now should be good enough here.
26128         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
26129         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
26130         and gl_MODULE_INDICATOR([snprintf]), but the former enables
26131         GNULIB_SNPRINTF only for the test directory, and the latter
26132         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
26133         seems to suffice by itself.
26134
26135 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
26136
26137         alloca: one step towards thread-safety
26138         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
26139         need for a static variable.  All callers changed.  This does not
26140         make the alloca replacement thread-safe, but it's one step.
26141
26142         tests: minor indenting change
26143         * tests/init.sh: Sync from coreutils housekeeping patch
26144         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
26145         to keep lines within 80 columns.
26146
26147 2010-12-28  Jim Meyering  <meyering@redhat.com>
26148
26149         regex: don't infloop on persistent failing calloc
26150         * lib/regexec.c (build_trtable): Return failure indication upon
26151         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
26152         In glibc, this was fixed for version 2.13:
26153         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
26154
26155 2010-12-28  Bruno Haible  <bruno@clisp.org>
26156             Paul Eggert <eggert@cs.ucla.edu>
26157
26158         linkat: Make implementation robust against system behaviour variations.
26159         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
26160         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
26161         way, and to -2 if it needs a generic runtime test.
26162         * lib/linkat.c (solaris_optimized_link_immediate,
26163         solaris_optimized_link_follow): New functions.
26164         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
26165         (check_same_link): Use it.
26166
26167 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
26168
26169         New module 'unigbrk/base'.
26170         * modules/unigbrk/base: New file.
26171         * lib/unigbrk.in.h: New file.
26172
26173         New module 'unigbrk/uc-gbrk-prop'.
26174         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
26175         * modules/unigbrk/uc-gbrk-prop: New file.
26176         * lib/unigbrk/gbrkprop.h: New file.
26177         * lib/unigbrk/uc-gbrk-prop.c: New file.
26178
26179         New module 'unigbrk/uc-is-grapheme-break'.
26180         * modules/unigbrk/uc-is-grapheme-break: New file.
26181         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
26182         * lib/unigbrk/uc-is-grapheme-break.c: New file.
26183         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
26184         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
26185         * tests/unigbrk/GraphemeBreakTest.txt: New file.
26186
26187         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
26188
26189 2010-12-27  Bruno Haible  <bruno@clisp.org>
26190
26191         linkat test: Avoid failure on Solaris 11 2010-11.
26192         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
26193
26194 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26195
26196         utimens: work around glibc rounding bug on more platforms
26197         * lib/utimens.c (fdutimens): Work around rounding bug even if
26198         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
26199         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
26200
26201 2010-12-27  Bruno Haible  <bruno@clisp.org>
26202
26203         select tests: Improve comments.
26204         * tests/test-select.c (do_select): Add comments.
26205
26206 2010-12-27  Bruno Haible  <bruno@clisp.org>
26207
26208         select tests: Safer way of handling timeout.
26209         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
26210         at every invocation.
26211
26212 2010-12-27  Bruno Haible  <bruno@clisp.org>
26213
26214         select tests: Use 'bool' where appropriate.
26215         * tests/test-select.c (connect_to_socket): Change argument type to
26216         'bool'.
26217
26218 2010-12-27  Bruno Haible  <bruno@clisp.org>
26219
26220         select tests: Use existing modules.
26221         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
26222         (configure.ac): Don't test for unistd.h.
26223         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
26224         declared in <unistd.h>.
26225
26226 2010-12-27  Bruno Haible  <bruno@clisp.org>
26227
26228         mbrtowc: Work around a Solaris 7 bug.
26229         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
26230         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
26231         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
26232         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
26233         MBRTOWC_NULL_ARG1_BUG.
26234         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
26235         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
26236         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
26237         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
26238
26239 2010-12-27  Jim Meyering  <meyering@redhat.com>
26240
26241         read-file.c: tweak syntax
26242         * lib/read-file.c (fread_file): Remove space after "*" in function
26243         definitions.
26244
26245 2010-12-27  Bruno Haible  <bruno@clisp.org>
26246
26247         times test: Avoid gcc warnings on OSF/1.
26248         * tests/test-times.c (main): Cast printf arguments from clock_t to
26249         'long int'.
26250
26251 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26252
26253         utimens: work around glibc rounding bug on older Linux kernels
26254         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
26255         on Linux with a glibc whose utimes might not work, then work
26256         around a longstanding glibc bug involving rounding rather than
26257         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
26258         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26259
26260 2010-12-26  Bruno Haible  <bruno@clisp.org>
26261
26262         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
26263         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
26264         _GL_CXXALIAS_SYS.
26265         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26266
26267 2010-12-26  Bruno Haible  <bruno@clisp.org>
26268
26269         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
26270         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
26271         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
26272         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
26273         looking for the declaration.
26274         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
26275         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
26276         problem.
26277         * doc/posix-functions/inet_pton.texi: Likewise.
26278
26279 2010-12-26  Bruno Haible  <bruno@clisp.org>
26280
26281         arpa_inet: Use the common idioms with C++ support.
26282         * lib/arpa_inet.in.h: Include c++defs.h.
26283         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
26284         support.
26285         * modules/arpa_inet (Depends-on): Add c++defs.
26286         (Makefile.am): Substitute the contents of c++defs.h.
26287         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
26288         * modules/arpa_inet-c++-tests: New file.
26289         * tests/test-arpa_inet-c++.cc: New file.
26290
26291 2010-12-25  Bruno Haible  <bruno@clisp.org>
26292
26293         Fix more C++ link errors on Solaris 8.
26294         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
26295         $(LIB_EACCESS).
26296         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
26297         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
26298         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
26299         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
26300         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
26301
26302 2010-12-25  Bruno Haible  <bruno@clisp.org>
26303
26304         printf-posix: Fix link error when a non-GCC compiler is used.
26305         * lib/stdio.in.h (printf): When not using GCC, override printf
26306         correctly.
26307         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26308
26309 2010-12-25  Bruno Haible  <bruno@clisp.org>
26310
26311         strerror_r-posix: Update doc.
26312         * doc/posix-functions/strerror_r.texi: Update doc about the return
26313         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
26314
26315 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26316
26317         utimens: simplify the logic of the previous change
26318         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
26319         This should not affect whether the test succeeds or fails.
26320
26321         utimens: configure better on hosts with NFS clock skew
26322         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
26323         uses the clock of the local host.  It might use the clock of the
26324         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
26325         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26326
26327 2010-12-25  Bruno Haible  <bruno@clisp.org>
26328
26329         ptsname test: Avoid failure on Solaris.
26330         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
26331         open a pseudo-terminal; don't use BSD-style ptys.
26332         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
26333
26334 2010-12-25  Bruno Haible  <bruno@clisp.org>
26335
26336         ptsname: Avoid ERANGE failure on some systems.
26337         * lib/ptsname.c (buffer): Increase size.
26338
26339 2010-12-25  Bruno Haible  <bruno@clisp.org>
26340
26341         rename, renameat: Avoid test failures at NFS mounted locations.
26342         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
26343         so that subsequent mkdir calls succeed.
26344
26345 2010-12-25  Bruno Haible  <bruno@clisp.org>
26346
26347         iswblank: Fix C++ link error on Solaris 8.
26348         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
26349         _GL_FUNCDECL_SYS.
26350
26351 2010-12-25  Bruno Haible  <bruno@clisp.org>
26352
26353         unistd: Fix C++ link error on Solaris 8.
26354         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
26355
26356 2010-12-25  Bruno Haible  <bruno@clisp.org>
26357
26358         readlink doc: Mention an old glibc bug.
26359         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
26360
26361 2010-12-25  Bruno Haible  <bruno@clisp.org>
26362
26363         fcntl-h: Fix for use of C++ on glibc systems.
26364         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26365         also on glibc systems in C++ mode.
26366         Reported by Gary V. Vaughan <gary@gnu.org>.
26367
26368 2010-12-25  Bruno Haible  <bruno@clisp.org>
26369
26370         roundl-ieee: Make it work on OSF/1 5.1 with cc.
26371         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
26372
26373 2010-12-25  Bruno Haible  <bruno@clisp.org>
26374
26375         truncl-ieee: Make it work on OSF/1 5.1 with cc.
26376         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
26377         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
26378         test whether truncl works according to ISO C 99 with IEC 60559.
26379         * m4/truncl-ieee.m4: New file.
26380         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
26381         m4/signbit.m4.
26382         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
26383
26384 2010-12-25  Bruno Haible  <bruno@clisp.org>
26385
26386         ceill-ieee: Make it work on OSF/1 5.1 with cc.
26387         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
26388         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
26389         test whether ceill works according to ISO C 99 with IEC 60559.
26390         * m4/ceill-ieee.m4: New file.
26391         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
26392         m4/signbit.m4.
26393         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
26394
26395 2010-12-25  Bruno Haible  <bruno@clisp.org>
26396
26397         Ensure all prerequisites of <wchar.h> are included.
26398         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
26399         before <wchar.h>.
26400         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
26401         gl_MBRLEN_NUL_RETVAL): Likewise.
26402         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26403         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
26404         AC_FUNC_MBRTOWC): Likewise.
26405         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26406         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
26407         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26408         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
26409         Likewise.
26410         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26411         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
26412         (gl_WCHAR_H): Improve comments.
26413         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
26414
26415 2010-12-25  Bruno Haible  <bruno@clisp.org>
26416
26417         strtok_r: Fix C syntax error in autoconf macro.
26418         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
26419         characters in test program.
26420
26421 2010-12-24  Bruno Haible  <bruno@clisp.org>
26422
26423         ceil, trunc, round: Fix gcc warnings.
26424         * lib/ceil.c (MIN): Undefine before redefining.
26425         * lib/trunc.c (MIN): Likewise.
26426         * lib/round.c (MIN): Likewise.
26427         Include <math.h> first.
26428
26429 2010-12-24  Bruno Haible  <bruno@clisp.org>
26430
26431         select tests: Avoid failures on OSF/1 5.1.
26432         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
26433         failure of closing the last socket; it may fail with ECONNRESET.
26434
26435 2010-12-24  Eric Blake  <eblake@redhat.com>
26436
26437         stdint: avoid HP-UX 10.20 preprocessor bug
26438         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
26439         than #if.
26440         * tests/test-floor2.c (main): Likewise.
26441         Reported by Peter O'Gorman.
26442
26443         pipe: make obsoletion transition easier
26444         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
26445         * modules/pipe (Files): Include revived file.
26446         (Include): Drop reference, to mirror getdate's behavior.
26447
26448 2010-12-24  Bruno Haible  <bruno@clisp.org>
26449
26450         sys_socket: Hide mismatch of declarations on NonStop Kernel.
26451         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
26452         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
26453         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26454
26455 2010-12-24  Bruno Haible  <bruno@clisp.org>
26456
26457         gethostname: Ensure declaration on NonStop Kernel.
26458         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
26459         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26460
26461 2010-12-24  Bruno Haible  <bruno@clisp.org>
26462
26463         sys_select: Ensure all necessary types on NonStop Kernel.
26464         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
26465         include <sys/time.h>.
26466         * doc/posix-headers/sys_select.texi: Mention that it's missing on
26467         NonStop Kernel.
26468         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26469
26470 2010-12-24  Bruno Haible  <bruno@clisp.org>
26471
26472         sys_select: Remove unneeded include.
26473         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
26474         have <sys/select.h>.
26475
26476 2010-12-24  Bruno Haible  <bruno@clisp.org>
26477
26478         gethostname: Provide a fallback for HOST_NAME_MAX.
26479         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
26480         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
26481         instead.
26482         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26483
26484 2010-12-24  Bruno Haible  <bruno@clisp.org>
26485
26486         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
26487         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
26488         (SA_RESTART): Likewise.
26489         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26490
26491 2010-12-24  Bruno Haible  <bruno@clisp.org>
26492
26493         signal: Define NSIG.
26494         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
26495         * tests/test-signal.c (nsig): New variable.
26496         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26497
26498 2010-12-24  Bruno Haible  <bruno@clisp.org>
26499
26500         rename, renameat: Avoid test failures on OSF/1 5.1.
26501         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
26502         alternative error codes.
26503         * tests/test-renameat.c (main): Likewise.
26504
26505 2010-12-24  Bruno Haible  <bruno@clisp.org>
26506
26507         *printf: Detect large precisions bug on Solaris 10/SPARC.
26508         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
26509         by Paul Eggert.
26510         * tests/test-snprintf-posix.h (test_function): Add this test code here
26511         too.
26512         * tests/test-sprintf-posix.h (test_function): Likewise.
26513         * tests/test-vasnprintf-posix.c (test_function): Likewise.
26514         * tests/test-vasprintf-posix.c (test_function): Likewise.
26515         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
26516         around by gnulib.
26517         * doc/posix-functions/printf.texi: Likewise.
26518         * doc/posix-functions/snprintf.texi: Likewise.
26519         * doc/posix-functions/sprintf.texi: Likewise.
26520         * doc/posix-functions/vfprintf.texi: Likewise.
26521         * doc/posix-functions/vprintf.texi: Likewise.
26522         * doc/posix-functions/vsnprintf.texi: Likewise.
26523         * doc/posix-functions/vsprintf.texi: Likewise.
26524         * doc/posix-functions/dprintf.texi: Undo last commit.
26525         * doc/posix-functions/vdprintf.texi: Likewise.
26526
26527 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
26528
26529         tests: port test-fdutimensat.c to Solaris 8
26530         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
26531         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
26532         On Solaris 8, it fails with errno == ENOSYS, because there is no
26533         futimens (so it can't use the fd), and there is no lutimens (so it
26534         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
26535
26536         vsnprintf: make more consistent with snprintf; doc fixes
26537
26538         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
26539         the byte count return problem was promoted from the snprintf-posix
26540         to the snprintf module.
26541         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
26542         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
26543         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
26544         * tests/test-snprintf.c (main): Check the byte count returned.
26545         * tests/test-vsnprintf.c (main): Likewise.
26546
26547 2010-12-23  Eric Blake  <eblake@redhat.com>
26548
26549         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
26550         * modules/sigpipe (License): Relax license.
26551
26552 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
26553
26554         doc: document Solaris printf bug with large float precisions
26555         * doc/posix-functions/dprintf.texi (dprintf):
26556         * doc/posix-functions/fprintf.texi (fprintf):
26557         * doc/posix-functions/printf.texi (printf):
26558         * doc/posix-functions/snprintf.texi (snprintf):
26559         * doc/posix-functions/sprintf.texi (sprintf):
26560         * doc/posix-functions/vdprintf.texi (vdprintf):
26561         * doc/posix-functions/vfprintf.texi (vfprintf):
26562         * doc/posix-functions/vprintf.texi (vprintf):
26563         * doc/posix-functions/vsnprintf.texi (vsnprintf):
26564         * doc/posix-functions/vsprintf.texi (vsprintf):
26565         Mention that these functions mishandle large floating point
26566         precisions on Solaris 10.  The same bug is also present in Solaris
26567         8, and I assume earlier.  This causes "cd gnulib-tests; make
26568         check" to fail on Solaris 8 (and I assume, later) when building
26569         the latest coreutils, in test-vasprintf-posix's call to
26570         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
26571         the wide flavors (e.g., wprintf) so this patch just updates the
26572         documentation for the narrow ones.
26573
26574         test-posixtm.c: add two tests
26575         * tests/test-posixtm.c: Add two tests, to highlight the
26576         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
26577         around this bug; this is merely to document it.
26578
26579 2010-12-22  Bruno Haible  <bruno@clisp.org>
26580
26581         getlogin_r: Work around portability problem on OSF/1.
26582         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
26583         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
26584         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
26585         test for a truncated result.
26586         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
26587         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
26588         * modules/getlogin_r (Depends-on): Add memchr.
26589         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
26590
26591 2010-12-22  Bruno Haible  <bruno@clisp.org>
26592
26593         ptsname: Avoid test failure on OSF/1 5.1.
26594         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
26595         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
26596         (same_slave): New function.
26597         (main): Use it to compare ptsname's result with the expected file name.
26598
26599 2010-12-22  Bruno Haible  <bruno@clisp.org>
26600
26601         Port extended stdio modules to HP NonStop Kernel.
26602         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
26603         macros.
26604         * lib/fbufmode.c: Update comments.
26605         * lib/fflush.c: Likewise.
26606         * lib/fpurge.c: Likewise.
26607         * lib/freadable.c: Likewise.
26608         * lib/freadahead.c: Likewise.
26609         * lib/freading.c: Likewise.
26610         * lib/freadptr.c: Likewise.
26611         * lib/freadseek.c: Likewise.
26612         * lib/fseeko.c: Likewise.
26613         * lib/fseterr.c: Likewise.
26614         * lib/fwritable.c: Likewise.
26615         * lib/fwriting.c: Likewise.
26616         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26617
26618 2010-12-22  Bruno Haible  <bruno@clisp.org>
26619
26620         ttyname_r: Work around bug on OSF/1 5.1.
26621         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
26622         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
26623         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
26624         present.
26625         * lib/ttyname_r.c (ttyname_r): Update comments.
26626
26627 2010-12-22  Bruno Haible  <bruno@clisp.org>
26628
26629         round: Implement result sign according to IEEE 754.
26630         * lib/round.c (MIN, MINUS_ZERO): New macros.
26631         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
26632         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
26633         * tests/test-round-ieee.c (main): Likewise.
26634         * tests/test-roundl-ieee.c (main): Likewise.
26635
26636         trunc: Implement result sign according to IEEE 754.
26637         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
26638         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
26639         * tests/test-trunc2.c: Include minus-zero.h.
26640         (MINUS_ZERO): New macro.
26641         (trunc_reference): Keep in sync with lib/trunc.c.
26642         * tests/test-truncf2.c: Include minus-zero.h.
26643         (MINUS_ZERO): New macro.
26644         (truncf_reference): Keep in sync with lib/trunc.c.
26645         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
26646         * tests/test-trunc-ieee.c (main): Likewise.
26647         * tests/test-truncl-ieee.c (main): Likewise.
26648
26649         ceil: Implement result sign according to IEEE 754.
26650         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
26651         (FUNC): Return -0.0 for -1 < x < 0.
26652         * tests/test-ceil2.c: Include minus-zero.h.
26653         (MINUS_ZERO): New macro.
26654         (ceil_reference): Keep in sync with lib/ceil.c.
26655         * tests/test-ceilf2.c: Include minus-zero.h.
26656         (MINUS_ZERO): New macro.
26657         (ceilf_reference): Keep in sync with lib/ceil.c.
26658         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
26659         * tests/test-ceil-ieee.c (main): Likewise.
26660         * tests/test-ceill-ieee.c (main): Likewise.
26661
26662         floor: Implement result sign according to IEEE 754.
26663         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
26664         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
26665         * tests/test-floorf2.c (floorf_reference): Likewise.
26666         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
26667         * tests/test-floor-ieee.c (main): Likewise.
26668         * tests/test-floorl-ieee.c (main): Likewise.
26669
26670 2010-12-22  Bruno Haible  <bruno@clisp.org>
26671
26672         getaddrinfo: Update doc.
26673         * doc/posix-functions/gai_strerror.texi: Return type is also different
26674         on AIX and HP-UX.
26675
26676 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
26677
26678         getaddrinfo, inet_ntop: Update doc for Solaris.
26679         * doc/posix-functions/gai_strerror.texi: Return type is also an
26680         issue on Solaris 9 and earlier.
26681         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
26682         on Solaris 10 and earlier.
26683
26684 2010-12-21  Bruno Haible  <bruno@clisp.org>
26685
26686         New module 'roundl-ieee'.
26687         * modules/roundl-ieee: New file.
26688         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
26689         test whether roundl works according to ISO C 99 with IEC 60559.
26690         * m4/roundl-ieee.m4: New file.
26691         * modules/roundl-ieee-tests: New file.
26692         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
26693         * tests/test-roundl.c (main): Remove signbit tests.
26694         * modules/roundl-tests (Depends-on): Remove signbit.
26695         * doc/posix-functions/roundl.texi: Mention the new module.
26696
26697 2010-12-21  Bruno Haible  <bruno@clisp.org>
26698
26699         New module 'truncl-ieee'.
26700         * modules/truncl-ieee: New file.
26701         * modules/truncl-ieee-tests: New file.
26702         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
26703         * tests/test-truncl.c (main): Remove signbit tests.
26704         * modules/truncl-tests (Depends-on): Remove signbit.
26705         * doc/posix-functions/truncl.texi: Mention the new module.
26706
26707 2010-12-21  Bruno Haible  <bruno@clisp.org>
26708
26709         New module 'ceill-ieee'.
26710         * modules/ceill-ieee: New file.
26711         * modules/ceill-ieee-tests: New file.
26712         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
26713         * tests/test-ceill.c (main): Remove signbit tests.
26714         * modules/ceill-tests (Depends-on): Remove signbit.
26715         * doc/posix-functions/ceill.texi: Mention the new module.
26716
26717 2010-12-21  Bruno Haible  <bruno@clisp.org>
26718
26719         New module 'floorl-ieee'.
26720         * modules/floorl-ieee: New file.
26721         * modules/floorl-ieee-tests: New file.
26722         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
26723         * tests/test-floorl.c (main): Remove signbit tests.
26724         * modules/floorl-tests (Depends-on): Remove signbit.
26725         * doc/posix-functions/floorl.texi: Mention the new module.
26726
26727 2010-12-21  Bruno Haible  <bruno@clisp.org>
26728
26729         New module 'round-ieee'.
26730         * modules/round-ieee: New file.
26731         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
26732         whether round works according to ISO C 99 with IEC 60559.
26733         * m4/round-ieee.m4: New file.
26734         * modules/round-ieee-tests: New file.
26735         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
26736         * tests/test-round1.c (main): Remove signbit tests.
26737         * modules/round-tests (Depends-on): Remove 'signbit'.
26738         * doc/posix-functions/round.texi: Mention the new module.
26739
26740 2010-12-21  Bruno Haible  <bruno@clisp.org>
26741
26742         New module 'trunc-ieee'.
26743         * modules/trunc-ieee: New file.
26744         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
26745         whether trunc works according to ISO C 99 with IEC 60559.
26746         * m4/trunc-ieee.m4: New file.
26747         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
26748         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
26749         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
26750         * modules/trunc-ieee-tests: New file.
26751         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
26752         * tests/test-trunc1.c (main): Remove signbit tests.
26753         * modules/trunc-tests (Depends-on): Remove 'signbit'.
26754         * doc/posix-functions/trunc.texi: Mention the new module.
26755
26756 2010-12-21  Bruno Haible  <bruno@clisp.org>
26757
26758         New module 'ceil-ieee'.
26759         * modules/ceil-ieee: New file.
26760         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
26761         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
26762         ISO C 99 with IEC 60559.
26763         * m4/ceil-ieee.m4: New file.
26764         * modules/ceil (Files): Add lib/ceil.c.
26765         (Depends-on): Add 'float'.
26766         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26767         * lib/math.in.h (ceil): New declaration.
26768         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
26769         REPLACE_CEIL.
26770         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
26771         * modules/ceil-ieee-tests: New file.
26772         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
26773         * tests/test-math-c++.cc: Check the signature of 'ceil'.
26774         * doc/posix-functions/ceil.texi: Mention the new module.
26775
26776 2010-12-21  Bruno Haible  <bruno@clisp.org>
26777
26778         New module 'floor-ieee'.
26779         * modules/floor-ieee: New file.
26780         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
26781         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
26782         ISO C 99 with IEC 60559.
26783         * m4/floor-ieee.m4: New file.
26784         * modules/floor (Files): Add lib/floor.c.
26785         (Depends-on): Add 'float'.
26786         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26787         * lib/math.in.h (floor): New declaration.
26788         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
26789         REPLACE_FLOOR.
26790         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
26791         * modules/floor-ieee-tests: New file.
26792         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
26793         * tests/test-math-c++.cc: Check the signature of 'floor'.
26794         * doc/posix-functions/floor.texi: Mention the new module.
26795
26796 2010-12-21  Bruno Haible  <bruno@clisp.org>
26797
26798         New module 'roundf-ieee'.
26799         * modules/roundf-ieee: New file.
26800         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
26801         test whether roundf works according to ISO C 99 with IEC 60559.
26802         * m4/roundf-ieee.m4: New file.
26803         * modules/roundf-ieee-tests: New file.
26804         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
26805         * tests/test-roundf1.c (main): Remove signbit tests.
26806         * modules/roundf-tests (Depends-on): Remove 'signbit'.
26807         * doc/posix-functions/roundf.texi: Mention the new module.
26808
26809 2010-12-21  Bruno Haible  <bruno@clisp.org>
26810
26811         New module 'truncf-ieee'.
26812         * modules/truncf-ieee: New file.
26813         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
26814         test whether truncf works according to ISO C 99 with IEC 60559.
26815         * m4/truncf-ieee.m4: New file.
26816         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
26817         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
26818         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
26819         * modules/truncf-ieee-tests: New file.
26820         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
26821         * tests/test-truncf1.c (main): Remove signbit tests.
26822         * modules/truncf-tests (Depends-on): Remove 'signbit'.
26823         * doc/posix-functions/truncf.texi: Mention the new module.
26824
26825 2010-12-21  Bruno Haible  <bruno@clisp.org>
26826
26827         New module 'ceilf-ieee'.
26828         * modules/ceilf-ieee: New file.
26829         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
26830         test whether ceilf works according to ISO C 99 with IEC 60559.
26831         * m4/ceilf-ieee.m4: New file.
26832         * modules/ceilf-ieee-tests: New file.
26833         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
26834         * tests/test-ceilf1.c (main): Remove signbit tests.
26835         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
26836         * doc/posix-functions/ceilf.texi: Mention the new module.
26837
26838 2010-12-21  Bruno Haible  <bruno@clisp.org>
26839
26840         New module 'floorf-ieee'.
26841         * modules/floorf-ieee: New file.
26842         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
26843         test whether floorf works according to ISO C 99 with IEC 60559.
26844         * m4/floorf-ieee.m4: New file.
26845         * modules/floorf-ieee-tests: New file.
26846         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
26847         * tests/test-floorf1.c (main): Remove signbit tests.
26848         * modules/floorf-tests (Depends-on): Remove 'signbit'.
26849         * doc/posix-functions/floorf.texi: Mention the new module.
26850
26851 2010-12-21  Bruno Haible  <bruno@clisp.org>
26852
26853         Support for minus zero in autoconf macros.
26854         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
26855         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
26856         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
26857         * tests/minus-zero.h: Update comments.
26858
26859 2010-12-21  Bruno Haible  <bruno@clisp.org>
26860
26861         Tests for module 'ceil'.
26862         * modules/ceil-tests: New file.
26863         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
26864         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
26865
26866 2010-12-21  Bruno Haible  <bruno@clisp.org>
26867
26868         Tests for module 'floor'.
26869         * modules/floor-tests: New file.
26870         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
26871         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
26872
26873 2010-12-21  Bruno Haible  <bruno@clisp.org>
26874
26875         math: Fix indentation.
26876         * lib/math.in.h (floorf): Fix indentation.
26877
26878 2010-12-21  Bruno Haible  <bruno@clisp.org>
26879
26880         Fix cross-compilation guesses on Solaris.
26881         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
26882         not match "solaris2.10".
26883         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
26884         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
26885         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
26886
26887 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
26888
26889         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
26890         This fixes a problem observed with the latest coreutils snapshot
26891         that caused a test to fail on Solaris 8.  src/csplit.c's call
26892         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
26893         earlier, instead of returning the number of bytes that would have
26894         been generated; this causes csplit to incorrectly report memory
26895         exhaustion.
26896         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
26897         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
26898         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
26899         comments to match.
26900         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
26901         Fix typo in matching older versions of Solaris: "solaris2.10"
26902         is matched by the shell pattern "solaris2.[0-9]*".  This matters
26903         only for guessing while cross-compiling.
26904         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
26905
26906 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
26907
26908         ftoastr: fix comment again
26909         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
26910         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
26911         Also, simplify example a bit by using flags = 0.
26912
26913 2010-12-20  Bruno Haible  <bruno@clisp.org>
26914
26915         round*, trunc*: Update documentation regarding glibc.
26916         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
26917         * doc/posix-functions/round.texi: Likewise.
26918         * doc/posix-functions/roundl.texi: Likewise.
26919         * doc/posix-functions/truncf.texi: Likewise.
26920         * doc/posix-functions/trunc.texi: Likewise.
26921         * doc/posix-functions/truncl.texi: Likewise.
26922
26923 2010-12-20  Bruno Haible  <bruno@clisp.org>
26924
26925         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
26926         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
26927         * doc/posix-functions/round.texi: Likewise.
26928         * doc/posix-functions/roundl.texi: Likewise.
26929
26930 2010-12-20  Bruno Haible  <bruno@clisp.org>
26931
26932         ttyname_r: Add missing declaration on HP-UX 11.
26933         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
26934         HAVE_TTYNAME_R.
26935         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
26936         declared. Set HAVE_TTYNAME_R always.
26937         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26938         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
26939         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
26940         HAVE_TTYNAME_R.
26941         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
26942
26943 2010-12-20  Bruno Haible  <bruno@clisp.org>
26944
26945         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
26946         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
26947         * doc/posix-functions/getlogin_r.texi: Likewise.
26948         * tests/test-getlogin.c: Include <errno.h>.
26949         (main): Avoid test failure on HP-UX 11.11.
26950         * tests/test-getlogin_r.c (main): Likewise.
26951
26952 2010-12-20  Bruno Haible  <bruno@clisp.org>
26953
26954         getlogin_r: Add missing declaration on HP-UX 11.
26955         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
26956         declared also when it exists as a function.
26957         * doc/posix-functions/getlogin_r.texi: Document this workaround.
26958
26959 2010-12-20  Bruno Haible  <bruno@clisp.org>
26960
26961         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
26962         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
26963         through wcrtomb.
26964
26965 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
26966
26967         ftoastr: fix comment
26968         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
26969         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
26970
26971 2010-12-19  Bruno Haible  <bruno@clisp.org>
26972
26973         isnan: Ensure it is a macro.
26974         * lib/math.in.h (isnan): Define as a macro if not already a macro.
26975         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
26976         Solaris.
26977
26978 2010-12-19  Bruno Haible  <bruno@clisp.org>
26979
26980         ldexpl test: Fix link error on OSF/1 5.1.
26981         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
26982
26983 2010-12-19  Bruno Haible  <bruno@clisp.org>
26984
26985         wctype: Make it work in C++ mode on OSF/1 5.1.
26986         * lib/wctype.in.h (iswblank): Declare but not define here.
26987         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
26988         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
26989         * modules/wctype (Files): Add lib/iswblank.c.
26990
26991 2010-12-19  Bruno Haible  <bruno@clisp.org>
26992
26993         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
26994         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
26995         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
26996
26997 2010-12-19  Bruno Haible  <bruno@clisp.org>
26998
26999         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
27000         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
27001         _POSIX_PII_SOCKET.
27002         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
27003         * doc/posix-functions/recvfrom.texi: Likewise.
27004         * doc/posix-functions/send.texi: Likewise.
27005         * doc/posix-functions/sendto.texi: Likewise.
27006
27007 2010-12-19  Bruno Haible  <bruno@clisp.org>
27008
27009         tcgetsid: Add missing declaration on OSF/1 5.1.
27010         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
27011         HAVE_TCGETSID.
27012         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
27013         Don't set HAVE_TCGETSID.
27014         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
27015         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
27016         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
27017         HAVE_TCGETSID.
27018         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
27019
27020 2010-12-19  Bruno Haible  <bruno@clisp.org>
27021
27022         stdio: Fix problem with popen() declaration on OSF/1 5.1.
27023         * lib/stdio.in.h: During the include_next statement, let recursive
27024         includes of this file include only the system header file.
27025
27026 2010-12-19  Bruno Haible  <bruno@clisp.org>
27027
27028         iconv_open: Fix regression from 2010-12-04.
27029         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
27030         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
27031
27032 2010-12-19  Bruno Haible  <bruno@clisp.org>
27033
27034         stdbool test: Avoid a gcc warning.
27035         * tests/test-stdbool.c (main): Fail if e1 is false.
27036         Reported by Jim Meyering.
27037
27038 2010-12-19  Jim Meyering  <meyering@redhat.com>
27039
27040         setenv: restore to working order
27041         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
27042         mistakenly removed.
27043         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
27044         HAVE_SETENV.
27045         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
27046         HAVE_SETENV.
27047
27048 2010-12-19  Bruno Haible  <bruno@clisp.org>
27049
27050         Document some different function declarations on OSF/1 5.1.
27051         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
27052         * doc/posix-functions/inet_ntop.texi: Likewise.
27053         * doc/posix-functions/gethostname.texi: Likewise.
27054         * lib/unistd.in.h (gethostname): Update comment.
27055
27056 2010-12-19  Bruno Haible  <bruno@clisp.org>
27057
27058         doc: Mention vasprintf-posix module.
27059         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
27060         the 'vasprintf-posix' module.
27061         * doc/glibc-functions/vasprintf.texi: Likewise.
27062
27063 2010-12-19  Bruno Haible  <bruno@clisp.org>
27064
27065         unsetenv: Add missing declaration on OSF/1 5.1.
27066         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
27067         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
27068         Don't set HAVE_UNSETENV. In the test program, set _BSD.
27069         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
27070         not HAVE_UNSETENV.
27071         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
27072         HAVE_UNSETENV.
27073         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
27074
27075 2010-12-19  Bruno Haible  <bruno@clisp.org>
27076
27077         setenv: Add missing declaration on OSF/1 5.1.
27078         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
27079         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
27080         declared. Don't set HAVE_SETENV.
27081         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
27082         not HAVE_SETENV.
27083         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
27084         HAVE_SETENV.
27085         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
27086
27087 2010-12-19  Bruno Haible  <bruno@clisp.org>
27088
27089         nl_langinfo tests: Avoid gcc warning.
27090         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
27091
27092 2010-12-19  Bruno Haible  <bruno@clisp.org>
27093
27094         mknod: Avoid error in C++ mode on OSF/1 with GCC.
27095         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
27096         _GL_CXXALIAS_SYS.
27097
27098 2010-12-19  Bruno Haible  <bruno@clisp.org>
27099
27100         stdbool: Relax test.
27101         * tests/test-stdbool.c (e): Don't require that casts from a variable's
27102         address to 'bool' work in static initializer, for compilers other than
27103         GCC.
27104
27105 2010-12-19  Bruno Haible  <bruno@clisp.org>
27106
27107         ftello: Add missing declaration on OSF/1 5.1.
27108         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
27109         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
27110         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
27111         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
27112         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
27113
27114 2010-12-19  Bruno Haible  <bruno@clisp.org>
27115
27116         fseeko: Add missing declaration on OSF/1 5.1.
27117         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
27118         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
27119         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
27120         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
27121         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
27122
27123 2010-12-19  Bruno Haible  <bruno@clisp.org>
27124
27125         fchdir: Add missing declaration on OSF/1 5.1.
27126         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
27127         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
27128         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
27129         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
27130         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
27131
27132 2010-12-19  Bruno Haible  <bruno@clisp.org>
27133
27134         relocatable-prog-wrapper: Separate from relocatable-prog.
27135         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
27136         uninstall-relocwrapper rule here.
27137         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
27138         Reported by Ian Beckwith <ianb@erislabs.net>.
27139
27140 2010-12-19  Bruno Haible  <bruno@clisp.org>
27141
27142         unistr/u8-mbsnlen: Add missing dependency.
27143         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
27144         Reported by Ian Beckwith <ianb@erislabs.net>.
27145
27146 2010-12-19  Bruno Haible  <bruno@clisp.org>
27147
27148         iconv: Make it possible again to use this module without 'iconv-h'.
27149         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
27150         if it is not defined.
27151         Reported by Ian Beckwith <ianb@erislabs.net>.
27152
27153 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27154
27155         acl: port to Solaris 8 when copying from tmpfs to ufs
27156         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
27157         error number.  Problem observed on Solaris 8 with latest
27158         coreutils, with "mv A B", where A is on a tmpfs file system and B
27159         is on a ufs file system.  This caused coreutils' mv/part-symlink
27160         test to fail.
27161
27162         tests: set fail=0 at start
27163         * tests/init.sh (setup_): Move fail=0 initialization here ...
27164         (mktempd_): ... from here, so that tests can rely on fail being
27165         set to 0 initially.  This fixes a problem in coreutils; see:
27166         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
27167
27168 2010-12-18  Bruno Haible  <bruno@clisp.org>
27169
27170         memmem-simple: Stylistic changes.
27171         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
27172         Fix preprocessor directive indentation.
27173
27174 2010-12-15  Pádraig Brady <P@draigBrady.com>
27175
27176         memmem, memmem-simple: reorganize and expand empty needle check
27177         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
27178         functional checks to memmem-simple so that one has a fully functional
27179         memmem by using just this module.
27180         Restrict the performance only check to the memmem module.
27181         Also expand the empty needle check to ensure the correct
27182         pointer is returned, not just a non NULL pointer.
27183         * doc/glibc-functions/memmem.texi: Rearrange the portability
27184         documentation to correlate with the rearranged checks.
27185         Clarify exactly how the memmem and memmem-simple modules
27186         relate to each other.
27187
27188 2010-12-15  Pádraig Brady <P@draigBrady.com>
27189             Bruno Haible  <bruno@clisp.org>
27190
27191         Improve cross-compilation guesses for uClibc.
27192         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
27193         that uClibc does not have the glibc bug.
27194         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
27195         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
27196
27197 2010-12-14  Eric Blake  <eblake@redhat.com>
27198
27199         configmake: provide fallbacks for oldest supported autotools
27200         * m4/configmake.m4: New file.
27201         * modules/configmake (Files): Ship it.
27202         (configure.ac): Use it to guarantee fallbacks.
27203
27204 2010-12-13  Pádraig Brady <P@draigBrady.com>
27205
27206         read-file: Improve handling of large files
27207         * lib/read-file.c (fread_file): Minimize realloc()s
27208         for regular files, and better manage sizes around SIZE_MAX.
27209
27210 2010-12-13  Eric Blake  <eblake@redhat.com>
27211
27212         cloexec, fcntl: relax license
27213         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
27214         consent from all contributors.
27215         * modules/fcntl (License): Likewise.
27216
27217 2010-12-10  Bruno Haible  <bruno@clisp.org>
27218
27219         Tests for module 'pipe-posix'.
27220         * modules/pipe-posix-tests: New file.
27221         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
27222
27223 2010-12-10  Bruno Haible  <bruno@clisp.org>
27224
27225         pipe-posix: Make it work in C++ mode.
27226         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
27227         (pipe): Use common idiom, not a macro definition.
27228         * lib/pipe.c: New file.
27229         * m4/pipe.m4: New file.
27230         * modules/pipe-posix (Description): Enhance.
27231         (Files): Add lib/pipe.c, m4/pipe.m4.
27232         (configure.ac): Invoke gl_FUNC_PIPE.
27233         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
27234         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
27235         * tests/test-unistd-c++.cc: Check the signature of pipe.
27236
27237 2010-12-10  Bruno Haible  <bruno@clisp.org>
27238
27239         Rename module 'pipe' to 'spawn-pipe'.
27240         * modules/spawn-pipe: New file, renamed from modules/pipe.
27241         (Files, configure.ac, Makefile.am): Update.
27242         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
27243         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
27244         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
27245         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
27246         "spawn-pipe.h" instead of "pipe.h".
27247         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
27248         to gl_SPAWN_PIPE.
27249         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
27250         (Files, Makefile.am): Update.
27251         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
27252         Update.
27253         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
27254         Include "spawn-pipe.h" instead of "pipe.h".
27255         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
27256         * lib/javacomp.c: Likewise.
27257         * lib/javaversion.c: Likewise.
27258         * lib/pipe-filter-gi.c: Likewise.
27259         * lib/pipe-filter-ii.c: Likewise.
27260         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
27261         * modules/javacomp (Depends-on): Likewise.
27262         * modules/javaversion (Depends-on): Likewise.
27263         * modules/pipe-filter-gi (Depends-on): Likewise.
27264         * modules/pipe-filter-ii (Depends-on): Likewise.
27265         * MODULES.html.sh (Executing programs): Update.
27266         * NEWS: Mention the change.
27267
27268 2010-12-10  Eric Blake  <eblake@redhat.com>
27269
27270         pipe-posix: new module
27271         * modules/pipe-posix: New file.
27272         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
27273         (gl_UNISTD_H): Check for declaration.
27274         * modules/unistd (Makefile.am): Substitute it.
27275         * lib/unistd.in.h (pipe): Provide it for mingw.
27276         * doc/posix-functions/pipe.texi (pipe): Update documentation.
27277         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
27278
27279 2010-12-07  Bruno Haible  <bruno@clisp.org>
27280
27281         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
27282         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
27283         u8_strcmp_gnu.
27284         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
27285
27286 2010-12-06  Bruno Haible  <bruno@clisp.org>
27287
27288         Update internal documentation.
27289         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
27290
27291 2010-12-04  Bruno Haible  <bruno@clisp.org>
27292
27293         Put more information about failed tests into the test return codes.
27294         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
27295         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
27296         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
27297         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
27298         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
27299         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27300         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27301         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27302         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
27303         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27304         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
27305         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
27306         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
27307         * m4/stdint.m4 (gl_STDINT_H): Likewise.
27308         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
27309         returns a bit mask.
27310         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
27311         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
27312         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
27313         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
27314         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
27315         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27316         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27317         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
27318         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27319         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27320         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
27321         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27322         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27323         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27324         * m4/link.m4 (gl_FUNC_LINK): Likewise.
27325         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
27326         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
27327         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
27328         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27329         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
27330         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27331         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
27332         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
27333         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
27334         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27335         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
27336         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
27337         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27338         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27339         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
27340         gl_PRINTF_PRECISION): Likewise.
27341         * m4/regex.m4 (gl_REGEX): Likewise.
27342         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
27343         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
27344         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
27345         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
27346         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27347         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27348         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
27349         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
27350         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27351         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
27352         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
27353         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
27354         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27355         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
27356         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
27357         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27358         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
27359         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27360         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27361         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
27362         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
27363         enumerated value.
27364         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
27365
27366 2010-12-04  Bruno Haible  <bruno@clisp.org>
27367
27368         Update for Solaris 11 2010-11.
27369         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
27370         Express, released in November 2010.
27371
27372 2010-12-04  Bruno Haible  <bruno@clisp.org>
27373
27374         nproc: Relax license.
27375         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
27376         and Paul Eggert.
27377         Requested by Ludovic Courtès <ludo@gnu.org>.
27378
27379 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
27380
27381         utimecmp: fine-grained src to nearby coarse-grained dest
27382
27383         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
27384         and the source is on a file system with higher-resolution time
27385         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
27386         not work, and the time stamps are close together, the algorithm to
27387         determine the exact resolution from the read-back mtime was buggy:
27388         it had a "!=" where it should have had an "==".  This bug has been
27389         in the code ever since it was introduced to gnulib.
27390         Problem reported by Dan Jacobson in
27391         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
27392
27393 2010-11-30  Bruno Haible  <bruno@clisp.org>
27394
27395         strerror_r-posix: Fix autoconf test.
27396         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
27397
27398 2010-11-28  Bruno Haible  <bruno@clisp.org>
27399             Paul Eggert  <eggert@cs.ucla.edu>
27400
27401         Tests for module 'getdomainname'.
27402         * modules/getdomainname-tests: New file.
27403         * tests/test-getdomainname.c: New file, based on
27404         tests/test-gethostname.c.
27405
27406 2010-11-28  Bruno Haible  <bruno@clisp.org>
27407             Paul Eggert  <eggert@cs.ucla.edu>
27408
27409         getdomainname: Use the system function when possible.
27410         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
27411         (getdomainname): Replace if needed. Provide the declaration if it is
27412         missing. Don't use _GL_CXXALIAS_SYS_CAST.
27413         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
27414         (getdomainname): When the system has getdomainname, call the system
27415         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
27416         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
27417         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
27418         found in libnsl. Look for the declaration also in <netdb.h>. Replace
27419         the function if its second argument is of type 'int' or if it is found
27420         in libnsl.
27421         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
27422         <sys/systeminfo.h> and sysinfo().
27423         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
27424         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27425         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
27426         HAVE_GETDOMAINNAME.
27427         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
27428         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
27429         * doc/glibc-functions/getdomainname.texi: Document the problems with
27430         the getdomainname declaration.
27431
27432 2010-11-28  Bruno Haible  <bruno@clisp.org>
27433
27434         sys_socket: Ensure ss_family field on AIX.
27435         * lib/sys_socket.in.h (ss_family): New macro definition.
27436         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
27437         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
27438         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
27439         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
27440         * modules/sys_socket (Makefile.am): Substitute
27441         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
27442         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
27443
27444 2010-11-27  Bruno Haible  <bruno@clisp.org>
27445
27446         readline: Improve configure output.
27447         * m4/readline.m4 (gl_FUNC_READLINE): Make the
27448         "checking for readline..." result understandable.
27449
27450 2010-11-27  Bruno Haible  <bruno@clisp.org>
27451
27452         *printf-posix: Detect a bug on Solaris 10/x86.
27453         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
27454         for floating-point output.
27455         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
27456         directive.
27457         * tests/test-snprintf-posix.h (test_function): Likewise.
27458         * tests/test-sprintf-posix.h (test_function): Likewise.
27459         * tests/test-vasprintf-posix.c (test_function): Likewise.
27460         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
27461         * doc/posix-functions/printf.texi: Likewise.
27462         * doc/posix-functions/snprintf.texi: Likewise.
27463         * doc/posix-functions/sprintf.texi: Likewise.
27464         * doc/posix-functions/vfprintf.texi: Likewise.
27465         * doc/posix-functions/vprintf.texi: Likewise.
27466         * doc/posix-functions/vsnprintf.texi: Likewise.
27467         * doc/posix-functions/vsprintf.texi: Likewise.
27468         * doc/glibc-functions/obstack_printf.texi: Likewise.
27469         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
27470
27471 2010-11-27  Bruno Haible  <bruno@clisp.org>
27472
27473         Fix link error when module libunistring-optional is in use.
27474         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
27475         * modules/striconveha-tests (Makefile.am): Likewise.
27476
27477 2010-11-27  Bruno Haible  <bruno@clisp.org>
27478
27479         regex: Mention link dependencies.
27480         * modules/regex (Link): New section.
27481         * modules/rpmatch (Link): Likewise.
27482         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
27483
27484 2010-11-27  Bruno Haible  <bruno@clisp.org>
27485
27486         ftoastr: Fix compilation error on Solaris.
27487         * lib/ftoastr.c: Include <config.h>.
27488
27489 2010-11-27  Bruno Haible  <bruno@clisp.org>
27490
27491         getloadavg: Update documentation.
27492         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
27493
27494 2010-11-27  Bruno Haible  <bruno@clisp.org>
27495
27496         sys_socket: Fix test whether the functions are declared.
27497         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
27498         not <sys/select.h>.
27499
27500 2010-11-27  Bruno Haible  <bruno@clisp.org>
27501
27502         getpass: Make sure to get system declaration on some platforms.
27503         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
27504         gl_USE_SYSTEM_EXTENSIONS.
27505         * modules/getpass (Depends-on): Add extensions.
27506
27507 2010-11-26  Bruno Haible  <bruno@clisp.org>
27508
27509         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
27510         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
27511         'iconv' module is present.
27512         (ICONV_CONST): New macro.
27513         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
27514         ICONV_CONST.
27515         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
27516         set ICONV_CONST.
27517         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
27518         here.
27519         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
27520         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
27521         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
27522         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
27523         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
27524         present.
27525
27526 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
27527
27528         ftoastr: comment fix
27529         * lib/ftoastr.c: "little" -> "little or no" in comment
27530
27531 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
27532
27533         stdint: port to GCC 4.3 + OSX + Octave
27534         On this platform, stdint.h is buggy and defines int64_t to long
27535         long int.  The replacement defined it to long int, causing
27536         problems with C++ style name mangling.  Instead, trust the system
27537         definition if INT64_MAX is defined, and likewise for the unsigned
27538         variant.   Problem reported by Jarno Rajahalme in
27539         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
27540         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
27541         and don't mess with int64_t and INT64_MAX in this case.
27542         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
27543
27544 2010-11-24  Bruno Haible  <bruno@clisp.org>
27545
27546         doc: Corrections regarding MacOS X 10.4 and 10.5.
27547         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
27548         MacOS X.
27549         Reported by Simon Josefsson.
27550
27551 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
27552
27553         Uninstall ".bin" files installed by relocwrapper.
27554         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
27555         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
27556         unless it is already there.
27557
27558 2010-11-21  Bruno Haible  <bruno@clisp.org>
27559
27560         Update for NetBSD 5.0.
27561         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
27562         NetBSD; the test fails on NetBSD 5.0.
27563         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
27564         about NetBSD.
27565
27566 2010-11-21  Bruno Haible  <bruno@clisp.org>
27567
27568         Update for HP-UX 11.23 and HP-UX 11.31.
27569         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
27570         HP-UX.
27571
27572 2010-11-21  Bruno Haible  <bruno@clisp.org>
27573
27574         Update for MacOS X 10.5.
27575         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
27576         MacOS X; the test fails on MacOS X 10.5.8.
27577         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
27578         about MacOS X.
27579
27580 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
27581
27582         bootstrap: add bootstrap_sync option.
27583         See discussion at
27584         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
27585         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
27586         * build-aux/bootstrap: Accept --bootstrap-sync to update
27587         bootstrap if it is not identical to the local gnulib's
27588         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
27589         enable this by default.  Accept --no-bootstrap-sync to disable
27590         it.
27591
27592 2010-11-20  Bruno Haible  <bruno@clisp.org>
27593
27594         Ensure that <features.h> is included before __GLIBC__ is tested.
27595         * lib/printf-parse.h: Include <features.h>.
27596         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
27597         Reported by Mike Frysinger <vapier@gentoo.org>.
27598
27599         Ensure that <features.h> is included before __GLIBC__ is tested.
27600         * lib/wchar.in.h: Include <features.h>.
27601         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
27602         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
27603         Reported by Mike Frysinger <vapier@gentoo.org>.
27604
27605         Ensure that <features.h> is included before __GLIBC__ is tested.
27606         * lib/arpa_inet.in.h: Include <features.h>.
27607         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
27608         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
27609         Reported by Mike Frysinger <vapier@gentoo.org>.
27610
27611         Ensure that <features.h> is included before __GLIBC__ is tested.
27612         * build-aux/link-warning.h: Include <features.h>.
27613         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
27614         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
27615         Reported by Mike Frysinger <vapier@gentoo.org>.
27616
27617         Ensure that <features.h> is included before __GLIBC__ is tested.
27618         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
27619         Reported by Mike Frysinger <vapier@gentoo.org>.
27620
27621 2010-11-20  Bruno Haible  <bruno@clisp.org>
27622
27623         memmem: Fix autoconf test.
27624         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
27625
27626 2010-11-20  Bruno Haible  <bruno@clisp.org>
27627
27628         Port to uClibc.
27629         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
27630         * lib/fcntl.in.h: Likewise.
27631         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
27632         * lib/mbrtowc.c (mbrtowc): Likewise.
27633         * lib/relocatable.c (find_shared_library_fullname): Likewise.
27634         * lib/strerror_r.c: Likewise.
27635         * lib/unistr/u8-strnlen.c: Likewise.
27636         * lib/vasnprintf.c (decimal_point_char): Likewise.
27637         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
27638         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
27639         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
27640         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
27641         * tests/test-sigaction.c (handler, main): Likewise.
27642         * lib/freading.h: Treat uClibc like a non-glibc platform.
27643         * lib/freading.c: Likewise.
27644         * lib/gettext.h: Likewise.
27645         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
27646         Likewise.
27647         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
27648         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
27649         * lib/propername.c (proper_name_utf8): Likewise.
27650         * lib/spawn.in.h: Likewise.
27651         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
27652         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
27653         mem_cd_iconveh_internal): Likewise.
27654         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
27655         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
27656         strstr, strcasestr): Likewise.
27657         * lib/unicodeio.c (unicode_to_mb): Likewise.
27658         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
27659         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
27660         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
27661         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
27662         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
27663         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
27664         * lib/unistr/u8-stpncpy.c: Likewise.
27665         * lib/vasnprintf.c (VASNPRINTF): Likewise.
27666         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
27667         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27668         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27669         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
27670         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
27671         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
27672         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
27673         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
27674         Likewise.
27675         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
27676         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
27677         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
27678         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27679         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27680         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27681         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27682         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
27683         * tests/test-getopt.h (OPTIND_MIN): Likewise.
27684         * tests/test-striconveha.c (main): Likewise.
27685         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27686         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
27687         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
27688         * doc/posix-functions/getline.texi: Likewise.
27689         Reported by Mike Frysinger <vapier@gentoo.org>.
27690
27691 2010-11-20  Bruno Haible  <bruno@clisp.org>
27692
27693         nproc: Fix condition.
27694         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
27695         HAVE_PTHREAD_AFFINITY_NP.
27696
27697 2010-11-20  Bruno Haible  <bruno@clisp.org>
27698
27699         Fix a comment.
27700         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
27701
27702 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
27703
27704         ftoastr: don't assume snprintf
27705         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
27706         Implement a subset of snprintf here, by using sprintf safely.
27707         * modules/ftoastr (Depends-on): Remove snprintf.
27708
27709 2010-11-19  Jim Meyering  <meyering@redhat.com>
27710
27711         test-rename.h: fix compilation failure
27712         * tests/test-rename.h (test_rename): Add omitted "}".
27713
27714 2010-11-17  Jim Meyering  <meyering@redhat.com>
27715
27716         maint.mk: add a URL discussing the no-@acronym policy
27717         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
27718
27719 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
27720
27721         ftoastr: depend on snprintf, improve comments
27722         * lib/ftoastr.c: Also mention Loitsch's draft.
27723         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
27724         needed in the current implementation, but it might simplify
27725         speeding up the code later.
27726         * modules/ftoastr: Depend on snprintf; this improves portability.
27727         Suggested by Bruno Haible in the same email.
27728
27729         ftoastr: port to hosts lacking strtof and strtold
27730         Problem reported by Bruno Haible in
27731         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
27732         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
27733         environment and strtold (and presumably strtof) are not available.
27734         * modules/ftoastr (Files): Add m4/c-strtod.m4.
27735         (configure.ac): Require gl_C99_STRTOLD.
27736
27737 2010-11-18  Bruno Haible  <bruno@clisp.org>
27738
27739         c-strtold: Avoid link error on AIX 7.
27740         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
27741         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
27742         (gl_C_STRTOLD): Test whether strtold_l exists.
27743         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27744
27745 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
27746
27747         intprops: new macro INT_BITS_STRLEN_BOUND
27748         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
27749         ftoastr.h.  This exposes an internal of intprops.h that was formerly
27750         not exposed.  Also, it uses a slightly tighter bound than before;
27751         though this makes no practical difference, we might as well be as
27752         tight as we easily can.
27753
27754         ftoastr: new module, for lossless conversion of floats to short strings
27755         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
27756         * modules/ftoastr: New files.
27757
27758 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
27759
27760         bootstrap: port to Solaris sed
27761         * build-aux/bootstrap (get_version): Port to Solaris sed.
27762         See Ralf Wildenhues's note in
27763         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
27764
27765 2010-11-14  Jim Meyering  <meyering@redhat.com>
27766
27767         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
27768         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
27769         and move definition closer to sole use.
27770
27771 2010-11-13  Jim Meyering  <meyering@redhat.com>
27772
27773         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
27774         Now we require at least autoconf-2.59, which means the work-around
27775         is no longer needed.
27776         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
27777         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
27778         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
27779         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
27780         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
27781
27782 2010-11-13  Bruno Haible  <bruno@clisp.org>
27783
27784         rename, renameat: Avoid test failures at NFS mounted locations.
27785         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
27786         functions.
27787         (test_rename): Use assert_nonexistent.
27788         * tests/test-rename.c: Include <dirent.h>.
27789         * tests/test-renameat.c: Likewise.
27790         Reported by Gary V. Vaughan <gary@gnu.org>.
27791
27792         rename, renameat: Document Linux bug with NFS
27793         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
27794         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
27795         * doc/posix-functions/renameat.texi: Likewise.
27796         Suggested by Eric Blake.
27797
27798 2010-11-13  Bruno Haible  <bruno@clisp.org>
27799
27800         rename test: Add comments.
27801         * tests/test-rename.h (test_rename): Add structure and comments.
27802
27803 2010-11-13  Eric Blake  <eblake@redhat.com>
27804
27805         maintainer-makefile: cover a few more files
27806         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
27807         scripts generated within C files, for libvirt.
27808
27809 2010-11-13  Bruno Haible  <bruno@clisp.org>
27810
27811         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
27812         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
27813         character, return the number of bytes that belong together, not always
27814         1.
27815         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
27816         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
27817         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
27818         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
27819         number of bytes of an invalid character.
27820         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
27821         (main): Invoke it.
27822         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
27823         results.
27824         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
27825         malformed byte sequences.
27826         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
27827         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
27828         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
27829         Reported by Ben Pfaff and Paolo Bonzini.
27830
27831 2010-11-13  Bruno Haible  <bruno@clisp.org>
27832
27833         openat: Work around glibc bug with fchownat() and empty file names.
27834         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
27835         (gl_FUNC_FCHOWNAT): Invoke it.
27836         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
27837         * doc/posix-functions/fchownat.texi: Document the glibc bug.
27838         Reported by Gary V. Vaughan <gary@gnu.org>.
27839
27840 2010-11-13  Bruno Haible  <bruno@clisp.org>
27841
27842         openat: Ensure autoconf macro ordering.
27843         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
27844         gl_USE_SYSTEM_EXTENSIONS.
27845         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
27846
27847 2010-11-13  Bruno Haible  <bruno@clisp.org>
27848
27849         Update comments.
27850         * lib/unistr/u8-check.c: Update file name in comments.
27851         * lib/unistr/u8-mblen.c: Likewise.
27852         * lib/unistr/u8-prev.c: Likewise.
27853         * lib/unistr/u8-strmblen.c: Likewise.
27854         * lib/unistr/u8-strmbtouc.c: Likewise.
27855
27856 2010-11-13  Jim Meyering  <meyering@redhat.com>
27857
27858         tests: avoid test failure on Solaris 10 due to lack of PATH export
27859         * tests/test-update-copyright.sh: Don't forget to export PATH.
27860
27861         init.sh: ensure that IFS is defined, just in case...
27862         * tests/init.sh (setup_): Ensure that IFS is defined,
27863         so that saving and restoring it works as expected.  This
27864         appears to be useful at least for an old version of dash
27865         from a long time ago (RH 6).  See here for details:
27866         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
27867
27868         maint.mk: tighten "test a == b" check
27869         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
27870         test to files that contain something like #!/bin/sh.
27871         Without this, coreutils would get two false positives in
27872         the comments of C source files.
27873
27874 2010-11-12  Eric Blake  <eblake@redhat.com>
27875
27876         bootstrap: fix typo in previous attempt
27877         * build-aux/bootstrap (buildreq): Correct the grouping.
27878         Reported by Paul Eggert.
27879
27880         maintainer-makefile: prohibit test x == x
27881         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
27882         Based on a report by Matthias Bolte.
27883
27884         bootstrap: allow FreeBSD gzip
27885         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
27886         which has no '.' and goes to stderr.
27887         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
27888         Reported by Matthias Bolte.
27889
27890         maintainer-makefile: check for i18n setup
27891         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
27892         will likely work.
27893
27894 2010-11-12  Bruno Haible  <bruno@clisp.org>
27895
27896         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
27897         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
27898         * lib/nanosleep.c (nanosleep): Likewise.
27899
27900 2010-11-11  Bruno Haible  <bruno@clisp.org>
27901
27902         fcntl-h: Fix for use of C++ on glibc systems.
27903         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
27904         also on glibc systems in C++ mode.
27905         Reported by Gary V. Vaughan <gary@gnu.org>.
27906
27907 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
27908
27909         mknod: avoid false failure with dash
27910         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
27911
27912 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
27913
27914         unlink: Fix "is it should" typo in diagnostic.
27915         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
27916         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
27917
27918 2010-11-11  Bruno Haible  <bruno@clisp.org>
27919
27920         Tests for module 'strerror_r-posix'.
27921         * modules/strerror_r-posix-tests: New file.
27922         * tests/test-strerror_r.c: New file.
27923         * tests/test-string-c++.cc: Check the signature of strerror_r.
27924
27925         New module 'strerror_r-posix'.
27926         * lib/string.in.h (strerror_r): New declaration.
27927         * lib/strerror_r.c: New file.
27928         * m4/strerror_r.m4: New file.
27929         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
27930         of strerror_r.
27931         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
27932         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
27933         * modules/strerror_r-posix: New file.
27934         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
27935         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
27936         * doc/posix-functions/strerror_r.texi: Mention the new module and the
27937         portability problems.
27938
27939 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
27940
27941         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
27942         line is also considered for output. Quoted function name in shell
27943         command, so temporary files for functions like MyClass::operator()
27944         are removed correctly without errors.
27945
27946 2010-11-09  Bruno Haible  <bruno@clisp.org>
27947
27948         * doc/posix-functions/strerror.texi: List more failing platforms.
27949
27950         * doc/posix-functions/strerror.texi: Add a comment.
27951
27952 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
27953
27954         fdopendir: fix bug on MacOS X when low on file descriptors
27955
27956         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
27957         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
27958         All callers changed.
27959         (fdopendir): Invoke save_cwd at the top level, not after using
27960         multiple dup() calls to use up file descriptors.  Then retry
27961         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
27962         less than the maximum number of open file descriptors, because
27963         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
27964         on Mac OS X 10.6.4 for tar 1.24
27965         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
27966         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
27967         and for tar 1.25
27968         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
27969
27970 2010-11-07  Bruno Haible  <bruno@clisp.org>
27971
27972         vasnprintf: Support I flag on glibc systems.
27973         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
27974         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
27975         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
27976         snprintf function.
27977         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
27978         glibc systems.
27979         * tests/test-vasnprintf-posix3.c: New file.
27980         * modules/vasnprintf-posix-tests (Files): Add it.
27981         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
27982
27983 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27984
27985         [html] Fix copy/paste bug: Use unique name for compiler warnings.
27986         * MODULES.html.sh: For compiler warnings, use name
27987         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
27988
27989 2010-11-05  Eric Blake  <eblake@redhat.com>
27990
27991         ceil, floor: avoid spurious failure with icc
27992         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
27993         [denormals-as-zero] when optimizing without -mieee-fp option.
27994         * tests/test-floorf2.c (floorf_reference): Likewise.
27995         * tests/test-ceilf1.c (dummy): New function.
27996         (main): Use it to outsmart icc's optimization.
27997         * tests/test-floorf1.c (dummy, main): Likewise.
27998
27999         tests: require working signbit
28000         * modules/ceilf-tests (Depends-on): Add signbit.
28001         * modules/ceill-tests (Depends-on): Likewise.
28002         * modules/floorf-tests (Depends-on): Likewise.
28003         * modules/floorl-tests (Depends-on): Likewise.
28004         * modules/round-tests (Depends-on): Likewise.
28005         * modules/roundf-tests (Depends-on): Likewise.
28006         * modules/roundl-tests (Depends-on): Likewise.
28007         * modules/trunc-tests (Depends-on): Likewise.
28008         * modules/truncf-tests (Depends-on): Likewise.
28009         * modules/truncl-tests (Depends-on): Likewise.
28010
28011         strtod: work around icc bug
28012         * lib/strtod.c (minus_zero): Define to working value.
28013         (strtod): Use it to avoid icc bug.
28014
28015         copysign: enhance tests
28016         * modules/copysign-tests (Files): Add minus-zero.h.
28017         * tests/test-copysign.c (main): Also test zeros.
28018
28019 2010-11-04  Eric Blake  <eblake@redhat.com>
28020
28021         ceil, floor, round, trunc: enhance tests of -0
28022         * tests/test-ceilf1.c (main): Ensure correct sign of result.
28023         * tests/test-ceill.c (main): Likewise.
28024         * tests/test-floorf1.c (main): Likewise.
28025         * tests/test-floorl.c (main): Likewise.
28026         * tests/test-round1.c (main): Likewise.
28027         * tests/test-roundf1.c (main): Likewise.
28028         * tests/test-roundl.c (main): Likewise.
28029         * tests/test-trunc1.c (main): Likewise.
28030         * tests/test-truncf1.c (main): Likewise.
28031         * tests/test-truncl.c (main): Likewise.
28032
28033 2010-11-04  Eric Blake  <eblake@redhat.com>
28034
28035         frexp, tests: work around ICC bug with -zero
28036         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
28037         works with more compilers.
28038         * tests/minus-zero.h: New file.
28039         * modules/ceilf-tests (Files): Include it.
28040         * modules/ceill-tests (Files): Likewise.
28041         * modules/floorf-tests (Files): Likewise.
28042         * modules/floorl-tests (Files): Likewise.
28043         * modules/frexp-nolibm-tests (Files): Likewise.
28044         * modules/frexp-tests (Files): Likewise.
28045         * modules/frexpl-nolibm-tests (Files): Likewise.
28046         * modules/frexpl-tests (Files): Likewise.
28047         * modules/isnan-tests (Files): Likewise.
28048         * modules/isnand-nolibm-tests (Files): Likewise.
28049         * modules/isnand-tests (Files): Likewise.
28050         * modules/isnanf-nolibm-tests (Files): Likewise.
28051         * modules/isnanf-tests (Files): Likewise.
28052         * modules/isnanl-nolibm-tests (Files): Likewise.
28053         * modules/isnanl-tests (Files): Likewise.
28054         * modules/round-tests (Files): Likewise.
28055         * modules/roundf-tests (Files): Likewise.
28056         * modules/roundl-tests (Files): Likewise.
28057         * modules/ldexpl-tests (Files): Likewise.
28058         * modules/signbit-tests (Files): Likewise.
28059         * modules/snprintf-posix-tests (Files): Likewise.
28060         * modules/sprintf-posix-tests (Files): Likewise.
28061         * modules/strtod-tests (Files): Likewise.
28062         * modules/trunc-tests (Files): Likewise.
28063         * modules/truncf-tests (Files): Likewise.
28064         * modules/truncl-tests (Files): Likewise.
28065         * modules/vsnprintf-posix-tests (Files): Likewise.
28066         * modules/vsprintf-posix-tests (Files): Likewise.
28067         * modules/vasnprintf-posix-tests (Files): Likewise.
28068         * modules/vasprintf-posix-tests (Files): Likewise.
28069         * tests/test-ceilf1.c (main): Use it.
28070         * tests/test-ceill.c (main): Likewise.
28071         * tests/test-floorf1.c (main): Likewise.
28072         * tests/test-floorl.c (main): Likewise.
28073         * tests/test-frexp.c (main): Likewise.
28074         * tests/test-frexpl.c (main): Likewise.
28075         * tests/test-isnan.c (main): Likewise.
28076         * tests/test-isnand.h (main): Likewise.
28077         * tests/test-isnanf.h (main): Likewise.
28078         * tests/test-isnanl.h (main): Likewise.
28079         * tests/test-ldexpl.c (main): Likewise.
28080         * tests/test-round.c (main): Likewise.
28081         * tests/test-roundf.c (main): Likewise.
28082         * tests/test-roundl.c (main): Likewise.
28083         * tests/test-signbit.c (test_signbitf, test_signbitd)
28084         (test_signbitl): Likewise.
28085         * tests/test-snprintf-posix.h (test_function): Likewise.
28086         * tests/test-sprintf-posix.h (test_function): Likewise.
28087         * tests/test-strtod.c (main): Likewise.
28088         * tests/test-trunc1.c (main): Likewise.
28089         * tests/test-truncf1.c (main): Likewise.
28090         * tests/test-truncl.c (main): Likewise.
28091
28092         isnanl: work around icc bug
28093         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
28094
28095 2010-11-03  Eric Blake  <eblake@redhat.com>
28096
28097         tests: fix compiler warnings
28098         * tests/test-getopt.h (test_getopt): Fix condition.
28099         * tests/test-getopt_long.h (test_getopt_long): Likewise.
28100         * tests/test-pipe2.c (main): Likewise.
28101         * tests/test-quotearg-simple.c (main): Avoid icc warning.
28102
28103         utimens: fix broken m4 test
28104         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
28105
28106 2010-10-28  Bruno Haible  <bruno@clisp.org>
28107
28108         posix_spawn*, getdtablesize: Relax license.
28109         * modules/posix_spawn (License): Change to LGPLv2+.
28110         * modules/posix_spawnp (License): Likewise.
28111         * modules/posix_spawn-internal (License): Likewise.
28112         * modules/posix_spawnattr_init (License): Likewise.
28113         * modules/posix_spawnattr_getflags (License): Likewise.
28114         * modules/posix_spawnattr_setflags (License): Likewise.
28115         * modules/posix_spawnattr_getpgroup (License): Likewise.
28116         * modules/posix_spawnattr_setpgroup (License): Likewise.
28117         * modules/posix_spawnattr_getschedparam (License): Likewise.
28118         * modules/posix_spawnattr_setschedparam (License): Likewise.
28119         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
28120         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
28121         * modules/posix_spawnattr_getsigdefault (License): Likewise.
28122         * modules/posix_spawnattr_setsigdefault (License): Likewise.
28123         * modules/posix_spawnattr_getsigmask (License): Likewise.
28124         * modules/posix_spawnattr_setsigmask (License): Likewise.
28125         * modules/posix_spawnattr_destroy (License): Likewise.
28126         * modules/posix_spawn_file_actions_init (License): Likewise.
28127         * modules/posix_spawn_file_actions_addclose (License): Likewise.
28128         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
28129         * modules/posix_spawn_file_actions_addopen (License): Likewise.
28130         * modules/posix_spawn_file_actions_destroy (License): Likewise.
28131         * modules/getdtablesize (License): Likewise.
28132         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
28133
28134 2010-10-26  Bruno Haible  <bruno@clisp.org>
28135
28136         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
28137         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
28138         Cygwin and mingw.
28139         Suggested by Eric Blake.
28140
28141 2010-10-26  Bruno Haible  <bruno@clisp.org>
28142
28143         stdio: Work around compilation error due to renameat() on Solaris 10.
28144         * lib/stdio.in.h: Include <unistd.h> on Solaris.
28145         * lib/renameat.c: Don't include <unistd.h> here.
28146         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
28147         Reported by Paul Eggert and Eric Blake.
28148
28149 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
28150
28151         renameat: port to Solaris 10, which declares renameat in unistd.h
28152
28153         * lib/renameat.c: Include unistd.h before stdio.h, because
28154         Solaris 10 declares renameat in unistd.h.  Problem encountered
28155         when building GNU tar 1.24 on Solaris 10.
28156
28157 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28158
28159         fdopendir: fix C89 compilation
28160         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
28161         compilers.
28162
28163 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
28164
28165         inttostr: simplify by removing unnecessary redundancy
28166         * lib/anytostr.c: Don't include verify.h.
28167         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
28168         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
28169         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
28170         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
28171         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
28172         Likewise.
28173         * modules/inttostr (Depends-on): Remove 'verify'.
28174
28175 2010-10-23  Bruno Haible  <bruno@clisp.org>
28176
28177         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
28178         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
28179         Reported by Eric Blake.
28180
28181 2010-10-23  Bruno Haible  <bruno@clisp.org>
28182
28183         Tests: Fix LOCALE_JA on MirBSD 10.
28184         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
28185         to an UTF-8 locale.
28186         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
28187         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28188         Reported by Eric Blake.
28189
28190 2010-10-21  Bruno Haible  <bruno@clisp.org>
28191
28192         nl_langinfo test: Avoid test failure on NetBSD 5.
28193         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
28194         Reported by Eric Blake.
28195
28196 2010-10-21  Eric Blake  <eblake@redhat.com>
28197
28198         c-stack: work around libsigsegv 2.8 bug
28199         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
28200         overflow on at least PowerPC64.
28201
28202 2010-10-17  Bruno Haible  <bruno@clisp.org>
28203
28204         userspec: Drop redundant file.
28205         * modules/userspec (Files): Remove lib/inttostr.h.
28206
28207 2010-10-17  Bruno Haible  <bruno@clisp.org>
28208
28209         nl_langinfo tests: Silence some warnings.
28210         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
28211         Reported by Jim Meyering.
28212
28213 2010-10-17  Bruno Haible  <bruno@clisp.org>
28214
28215         Make use of GCC's attribute __alloc_size__.
28216         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
28217         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
28218         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
28219         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
28220         __alloc_size__.
28221         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
28222         Suggested by Jim Meyering.
28223
28224 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
28225
28226         bootstrap: anchor .gitignore entries.
28227         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
28228         with...
28229         (insert_vc_ignore): ... this new function, which prepends `/' to
28230         all .gitignore entries before passing them to
28231         insert_sorted_if_absent.
28232
28233 2010-10-16  Bruno Haible  <bruno@clisp.org>
28234
28235         nextafter: Fix configure check.
28236         * modules/nextafter (configure.ac): Correct expected prototype.
28237
28238 2010-10-16  Bruno Haible  <bruno@clisp.org>
28239
28240         termios: Update documentation.
28241         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
28242
28243 2010-10-16  Bruno Haible  <bruno@clisp.org>
28244
28245         tests: Make them compile with TinyCC.
28246         * tests/test-strstr.c (main): Remove parentheses around array
28247         initializer.
28248
28249 2010-10-15  Eric Blake  <eblake@redhat.com>
28250
28251         ignore-value: make header idempotent
28252         * lib/ignore-value.h: Add double-inclusion guards.
28253         Reported by Stefan Berger.
28254
28255 2010-10-15  Jim Meyering  <meyering@redhat.com>
28256
28257         GNUmakefile: handle "stable" target, not "major"
28258         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
28259         lists in maint.mk and announce-gen.  Without this, "make stable"
28260         would fail to ensure that $(VERSION) is up to date.
28261
28262 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
28263
28264         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
28265         & co.
28266
28267 2010-10-14  Bruno Haible  <bruno@clisp.org>
28268
28269         vasnprintf: Don't set errno to 0.
28270         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
28271         block that sets it to 0.
28272         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
28273
28274 2010-10-14  Bruno Haible  <bruno@clisp.org>
28275
28276         socketlib: Fix.
28277         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
28278         gl_PREREQ_SYS_H_WINSOCK2.
28279         Reported by Ian Beckwith <ianb@erislabs.net>.
28280
28281 2010-10-13  Jim Meyering  <meyering@redhat.com>
28282
28283         test-select-stdin.c: avoid warn_unused_result warnings
28284         * tests/test-select-stdin.c: Include "macros.h".
28285         ASSERT that read and fflush succeed.
28286
28287 2010-10-13  Jim Meyering  <meyering@redhat.com>
28288
28289         git-version-gen: do require git-VC'd files in cwd
28290         * build-aux/git-version-gen: Reject a git version string
28291         if there are no commits associated with the current directory.
28292         This avoids an unlikely false-positive (unrelated dir whose parent
28293         repository also contains a tag matching v*), as pointed out
28294         by Giuseppe Scrivano in
28295         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
28296
28297 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28298
28299         argv-iter: omit nonconforming declaration
28300         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
28301         enum arg_iter_err declaration, which doesn't conform to C99.
28302         Solaris 10 cc warns about this.
28303
28304 2010-10-13  Eric Blake  <eblake@redhat.com>
28305
28306         termios: fix compilation on mingw
28307         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
28308         (gl_TERMIOS_H): Adjust it on mingw.
28309         * modules/termios (Makefile.am): Substitute new key.
28310         * lib/termios.in.h (includes): Make include_next conditional.
28311         * doc/posix-headers/termios.texi (termios.h): Update
28312         documentation.
28313         Reported by Daniel P. Berrange.
28314
28315 2010-10-13  Jim Meyering  <meyering@redhat.com>
28316
28317         git-version-gen: don't require that .git/ be in the current dir
28318         * build-aux/git-version-gen: Adjust this script so that it works
28319         when run from any working directory beneath the top-level .git/-
28320         containing directory.  Inspired by a patch from Giuseppe Scrivano,
28321         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
28322
28323         test-select: avoid warn_unused_result warnings
28324         * tests/test-select.c: Include "macros.h".
28325         ASSERT that each call to read, write, and pipe succeeds.
28326         While not technically required, also check each "close".
28327         * modules/select-tests (Files): Add tests/macros.h.
28328
28329         test-symlinkat: remove declaration of unused local
28330         * tests/test-symlinkat.c (main): Remove unused local, "buf".
28331
28332         test-inttostr: avoid shadowing warnings
28333         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
28334         and use malloc rather than the stack for the same reason as
28335         mentioned in the comment justifying the other allocation.
28336
28337 2010-10-11  Bruno Haible  <bruno@clisp.org>
28338
28339         stdlib: Allow multiple gnulib generated replacements to coexist.
28340         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
28341         Reported by Sam Steingold <sds@gnu.org>.
28342
28343 2010-10-11  Jim Meyering  <meyering@redhat.com>
28344
28345         fix a documentation typo
28346         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
28347
28348 2010-10-11  Eric Blake  <eblake@redhat.com>
28349
28350         futimens: work around Solaris 11 bug
28351         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
28352         * tests/test-futimens.h (test_futimens): Enhance, rather than
28353         weaken test.
28354         * doc/posix-functions/futimens.texi (futimens): Document the bug.
28355
28356 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28357
28358         Indentation.
28359         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
28360         higher-level operators more to the left.
28361
28362 2010-10-11  Jim Meyering  <meyering@redhat.com>
28363
28364         test-futimens: avoid unwarranted test failure on Solaris 5.11
28365         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
28366         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
28367         because it tries to dereference the NULL name argument.
28368
28369 2010-10-11  Bruno Haible  <bruno@clisp.org>
28370
28371         Indentation.
28372         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
28373         indentation.
28374
28375 2010-10-11  Jim Meyering  <meyering@redhat.com>
28376
28377         spawn.in.h: make indentation consistent with parentheses
28378         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
28379         Make indentation consistent with parentheses.
28380
28381 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
28382
28383         Fix mismatched parens in previous commit
28384         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
28385         parens.
28386
28387 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
28388
28389         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
28390
28391         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
28392         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
28393         * lib/malloca.c: Include "verify.h".
28394         (verify1): Remove, replacing with a verify call.
28395         * lib/relocwrapper.c (verify1): Likewise.
28396         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
28397         Likewise.
28398         * modules/malloca (Depends-on): Add 'verify'.
28399         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
28400         * modules/vasnprintf (Depends-on): Add 'verify'.
28401         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28402         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28403         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28404         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28405         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28406         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28407         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28408
28409         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
28410
28411         Formerly the style was sometimes 2*X - 1, because the C standard
28412         was wrongly thought to disallow ?: in integral constant expressions.
28413         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
28414         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
28415         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
28416         * lib/stdint.in.h (_verify_intmax_size): Likewise.
28417         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
28418         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
28419         verify that time_t cannot be floating.
28420
28421 2010-10-08  Eric Blake  <eblake@redhat.com>
28422
28423         time: enforce recent POSIX ruling that time_t is integral
28424         * lib/time.in.h (__time_t_must_be_integral): Detect any
28425         problematic systems, allowing the rest of gnulib to assume POSIX.
28426
28427 2010-10-08  Jim Meyering  <meyering@redhat.com>
28428
28429         fdopendir: fix a bug on systems lacking openat and /proc support
28430         OpenBSD 4.7 is one such system.  The most noticeable effect was
28431         failure of any application making nontrivial use of fts: rm, du,
28432         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
28433           ./rm: traversal failed: `a': Bad file descriptor
28434         Debugging that, you see that even though FD 6 was closed just
28435         prior to the opendir call in fd_clone_opendir, its resulting
28436         dir->dd_fd was 8, rather than the expected value of 6:
28437
28438         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
28439         93                close (fd);
28440         (gdb) n
28441         94                dir = fd_clone_opendir (dupfd);
28442         (gdb) n
28443         95                saved_errno = errno;
28444         (gdb) p dir->dd_fd
28445         $11 = 8
28446
28447         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
28448         The problem is that on OpenBSD, fd_clone_opendir has to resort
28449         to using the old-style save/restore CWD mechanism, due to its
28450         lack of openat/proc support, and *that* would steal the FD (6)
28451         that opendir was supposed to use.
28452
28453         The fix is to squirrel away the desired FD so that save_cwd uses a
28454         different one, and then free the dest FD right before calling opendir.
28455         That guarantees opendir will use the required file descriptor.
28456
28457         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
28458
28459 2010-10-08  Bruno Haible  <bruno@clisp.org>
28460
28461         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
28462         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
28463
28464 2010-10-08  Bruno Haible  <bruno@clisp.org>
28465
28466         nanosleep: Make replacement POSIX compliant.
28467         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
28468         is out of range.
28469         Reported by Jim Meyering.
28470
28471 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
28472
28473         bootstrap: add hook for altering gnulib.mk, for Bison
28474         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
28475         the Bison bootstrapping process can rewrite file names and variables
28476         in this file before later parts of 'bootstrap' use the file.
28477         Bison wants to include lib/gnulib.mk from the top-level makefile,
28478         so it needs the file names in this file to be relative to the top
28479         level, not relative to lib; plus it needs variable names to be
28480         rewritten.
28481         (slurp): Use the new function.
28482
28483         bootstrap: reformat for readability
28484         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
28485
28486 2010-10-08  Eric Blake  <eblake@redhat.com>
28487
28488         docs: update cygwin progress
28489         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
28490         1.7.7.
28491         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
28492         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
28493         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
28494         * doc/posix-functions/carg.texi (carg): Likewise.
28495         * doc/posix-functions/cargf.texi (cargf): Likewise.
28496         * doc/posix-functions/casin.texi (casin): Likewise.
28497         * doc/posix-functions/casinf.texi (casinf): Likewise.
28498         * doc/posix-functions/casinh.texi (casinh): Likewise.
28499         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
28500         * doc/posix-functions/catan.texi (catan): Likewise.
28501         * doc/posix-functions/catanf.texi (catanf): Likewise.
28502         * doc/posix-functions/catanh.texi (catanh): Likewise.
28503         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
28504         * doc/posix-functions/ccos.texi (ccos): Likewise.
28505         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
28506         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
28507         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
28508         * doc/posix-functions/cexp.texi (cexp): Likewise.
28509         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
28510         * doc/posix-functions/cimag.texi (cimag): Likewise.
28511         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
28512         * doc/posix-functions/clog.texi (clog): Likewise.
28513         * doc/posix-functions/clogf.texi (clogf): Likewise.
28514         * doc/posix-functions/conj.texi (conj): Likewise.
28515         * doc/posix-functions/conjf.texi (conjf): Likewise.
28516         * doc/posix-functions/cpow.texi (cpow): Likewise.
28517         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
28518         * doc/posix-functions/cproj.texi (cproj): Likewise.
28519         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
28520         * doc/posix-functions/creal.texi (creal): Likewise.
28521         * doc/posix-functions/crealf.texi (crealf): Likewise.
28522         * doc/posix-functions/csin.texi (csin): Likewise.
28523         * doc/posix-functions/csinf.texi (csinf): Likewise.
28524         * doc/posix-functions/csinh.texi (csinh): Likewise.
28525         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
28526         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
28527         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
28528         * doc/posix-functions/ctan.texi (ctan): Likewise.
28529         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
28530         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
28531         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
28532         * doc/posix-headers/complex.texi (complex.h): Likewise.
28533
28534 2010-10-07  Jim Meyering  <meyering@redhat.com>
28535
28536         parse-datetime: avoid compilation failure on OpenBSD 4.7
28537         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
28538         This works around a compilation failure on OpenBSD 4.7:
28539         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
28540
28541 2010-10-07  Eric Blake  <eblake@redhat.com>
28542
28543         docs: update cygwin progress
28544         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
28545         1.7.6.
28546         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
28547         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
28548         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
28549         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
28550         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
28551         Likewise.
28552         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
28553         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
28554         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
28555         Likewise.
28556         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
28557         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
28558         Likewise.
28559         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
28560         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
28561         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
28562         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
28563         Likewise.
28564         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
28565         Likewise.
28566         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
28567
28568         docs: update parse-datetime history
28569         * doc/parse-datetime.texi (Authors of parse_datetime): Better
28570         documentation of this function's history and alternatives.
28571
28572         cygwin: use more robust version check
28573         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
28574         exclude an eventual cygwin 1.9.1.
28575         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28576         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
28577         (gl_FUNC_STRCASESTR): Likewise.
28578         Reported by Bruno Haible.
28579
28580 2010-10-06  Bruno Haible  <bruno@clisp.org>
28581
28582         string, sys_select: Avoid #including large headers unless necessary.
28583         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
28584         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
28585         OSF/1, BeOS, Haiku.
28586         Reported by Jim Meyering.
28587
28588 2010-10-05  Eric Blake  <eblake@redhat.com>
28589
28590         memmem, strstr, strcasestr: fix bug with long periodic needle
28591         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
28592         periodic needle having false positive.
28593         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
28594         and cygwin 1.7.7.
28595         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
28596         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
28597         (gl_FUNC_STRCASESTR): Likewise.
28598         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28599         * tests/test-memmem.c (main): Expose the bug.
28600         * tests/test-strcasestr.c (main): Likewise.
28601         * tests/test-strstr.c (main): Likewise.
28602         * tests/test-c-strcasestr.c (main): Likewise.
28603         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
28604         * doc/posix-functions/strstr.texi (strstr): Likewise.
28605         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
28606         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
28607
28608 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
28609
28610         parse-datetime: do some more renaming
28611         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
28612         parse_datetime, not get_date.  Mention the renaming.
28613         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
28614         in comments.
28615         * m4/bison.m4: Likewise.
28616
28617 2010-10-05  Eric Blake  <eblake@redhat.com>
28618
28619         parse-datetime: better name than get_date
28620         * NEWS: Reword the deprecation notice.
28621         * modules/get_date: Rename to modules/parse-datetime.
28622         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
28623         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
28624         * lib/get_date.y: Rename to lib/parse-datetime.y.
28625         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
28626         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
28627         * doc/getdate.texi: Provide fallback wrapper.
28628         * lib/getdate.h: Move guts, and wrap...
28629         * lib/parse-datetime.h: ...new file.
28630         * lib/parse-datetime.y (get_date): Rename...
28631         (parse_datetime): ...to this.
28632         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
28633         (gl_PARSE_DATETIME): ...to this.
28634         * doc/posix-functions/getdate.texi (get_date): Provide fallback
28635         documentation.
28636         * modules/getdate (Files): Provide fallback docs and header.
28637         (Notice, Depends-on): Update references.
28638         * tests/test-parse-datetime.c: Likewise.
28639         * DEPENDENCIES: Likewise.
28640         * MODULES.html.sh (Date and time <time.h>): Likewise.
28641         * doc/parse-datetime.texi (Date input formats)
28642         (Authors of parse_datetime): Likewise.
28643         * modules/parse-datetime (Files, configure.ac, Makefile.am)
28644         (Include): Likewise.
28645         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
28646         * gnulib-tool: Likewise.
28647         * m4/bison.m4 (gl_BISON): Likewise.
28648         Suggested by Bruno Haible.
28649
28650 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
28651
28652         more ports to Solaris tr, which needs [] around ranges
28653         * gnulib-tool: Solaris tr needs [] around ranges.
28654         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
28655         * tests/test-pipe-filter-gi1.c (main): Likewise.
28656         * tests/test-pipe-filter-ii1.c (main): Likewise.
28657
28658 2010-10-05  Eric Blake  <eblake@redhat.com>
28659
28660         bootstrap: fix Solaris regression
28661         * build-aux/bootstrap (check_versions): Solaris tr still needs []
28662         around ranges.
28663         Reported by Pádraig Brady.
28664
28665         bootstrap: work with pkg-config
28666         * build-aux/bootstrap (check_versions): Also transliterate - in
28667         prerequisite name.
28668         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
28669         prerequisites that were already found, to avoid confusion.
28670         Reported by Justin Clift.
28671
28672         faccessat: remove unused wrappers
28673         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
28674         presence of these wrappers dragged in -lgen on Solaris.
28675         Reported by Clemens Brogi; fix suggested by Paul Eggert.
28676
28677 2010-10-05  Jim Meyering  <meyering@redhat.com>
28678
28679         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
28680         * Makefile (sc_pragma_columns): New syntax-check rule.
28681
28682 2010-10-04  Bruno Haible  <bruno@clisp.org>
28683
28684         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
28685         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
28686         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
28687         Reported by Bruce Korb and Eric Blake.
28688
28689 2010-10-04  Bruno Haible  <bruno@clisp.org>
28690
28691         threadlib: Make option --with-libpth-prefix work.
28692         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
28693         use $LIBPTH, not just -lpth.
28694
28695 2010-10-04  Bruno Haible  <bruno@clisp.org>
28696
28697         Avoid line length limitation from HP NonStop system header files.
28698         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
28699         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
28700         * lib/ctype.in.h: Likewise.
28701         * lib/dirent.in.h: Likewise.
28702         * lib/errno.in.h: Likewise.
28703         * lib/fcntl.in.h: Likewise.
28704         * lib/float.in.h: Likewise.
28705         * lib/getopt.in.h: Likewise.
28706         * lib/iconv.in.h: Likewise.
28707         * lib/inttypes.in.h: Likewise.
28708         * lib/langinfo.in.h: Likewise.
28709         * lib/locale.in.h: Likewise.
28710         * lib/math.in.h: Likewise.
28711         * lib/netdb.in.h: Likewise.
28712         * lib/netinet_in.in.h: Likewise.
28713         * lib/poll.in.h: Likewise.
28714         * lib/pthread.in.h: Likewise.
28715         * lib/pty.in.h: Likewise.
28716         * lib/sched.in.h: Likewise.
28717         * lib/se-selinux.in.h: Likewise.
28718         * lib/search.in.h: Likewise.
28719         * lib/signal.in.h: Likewise.
28720         * lib/spawn.in.h: Likewise.
28721         * lib/stdarg.in.h: Likewise.
28722         * lib/stddef.in.h: Likewise.
28723         * lib/stdint.in.h: Likewise.
28724         * lib/stdio.in.h: Likewise.
28725         * lib/stdlib.in.h: Likewise.
28726         * lib/string.in.h: Likewise.
28727         * lib/strings.in.h: Likewise.
28728         * lib/sys_file.in.h: Likewise.
28729         * lib/sys_ioctl.in.h: Likewise.
28730         * lib/sys_select.in.h: Likewise.
28731         * lib/sys_socket.in.h: Likewise.
28732         * lib/sys_stat.in.h: Likewise.
28733         * lib/sys_time.in.h: Likewise.
28734         * lib/sys_times.in.h: Likewise.
28735         * lib/sys_utsname.in.h: Likewise.
28736         * lib/sys_wait.in.h: Likewise.
28737         * lib/sysexits.in.h: Likewise.
28738         * lib/termios.in.h: Likewise.
28739         * lib/time.in.h: Likewise.
28740         * lib/unistd.in.h: Likewise.
28741         * lib/wchar.in.h: Likewise.
28742         * lib/wctype.in.h: Likewise.
28743         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
28744         * modules/ctype (Makefile.am): Likewise.
28745         * modules/dirent (Makefile.am): Likewise.
28746         * modules/errno (Makefile.am): Likewise.
28747         * modules/fcntl-h (Makefile.am): Likewise.
28748         * modules/float (Makefile.am): Likewise.
28749         * modules/getopt-posix (Makefile.am): Likewise.
28750         * modules/iconv-h (Makefile.am): Likewise.
28751         * modules/inttypes (Makefile.am): Likewise.
28752         * modules/langinfo (Makefile.am): Likewise.
28753         * modules/locale (Makefile.am): Likewise.
28754         * modules/math (Makefile.am): Likewise.
28755         * modules/netdb (Makefile.am): Likewise.
28756         * modules/netinet_in (Makefile.am): Likewise.
28757         * modules/poll-h (Makefile.am): Likewise.
28758         * modules/pthread (Makefile.am): Likewise.
28759         * modules/pty (Makefile.am): Likewise.
28760         * modules/sched (Makefile.am): Likewise.
28761         * modules/search (Makefile.am): Likewise.
28762         * modules/selinux-h (Makefile.am): Likewise.
28763         * modules/signal (Makefile.am): Likewise.
28764         * modules/spawn (Makefile.am): Likewise.
28765         * modules/stdarg (Makefile.am): Likewise.
28766         * modules/stddef (Makefile.am): Likewise.
28767         * modules/stdint (Makefile.am): Likewise.
28768         * modules/stdio (Makefile.am): Likewise.
28769         * modules/stdlib (Makefile.am): Likewise.
28770         * modules/string (Makefile.am): Likewise.
28771         * modules/strings (Makefile.am): Likewise.
28772         * modules/sys_file (Makefile.am): Likewise.
28773         * modules/sys_ioctl (Makefile.am): Likewise.
28774         * modules/sys_select (Makefile.am): Likewise.
28775         * modules/sys_socket (Makefile.am): Likewise.
28776         * modules/sys_stat (Makefile.am): Likewise.
28777         * modules/sys_time (Makefile.am): Likewise.
28778         * modules/sys_times (Makefile.am): Likewise.
28779         * modules/sys_utsname (Makefile.am): Likewise.
28780         * modules/sys_wait (Makefile.am): Likewise.
28781         * modules/sysexits (Makefile.am): Likewise.
28782         * modules/termios (Makefile.am): Likewise.
28783         * modules/time (Makefile.am): Likewise.
28784         * modules/unistd (Makefile.am): Likewise.
28785         * modules/wchar (Makefile.am): Likewise.
28786         * modules/wctype (Makefile.am): Likewise.
28787
28788 2010-10-04  Bruno Haible  <bruno@clisp.org>
28789
28790         read-file tests: Avoid a test failure on NonStop Kernel.
28791         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
28792         a regular file.
28793         Reported by Joachim Schmitz <schmitz@hp.com>.
28794
28795 2010-10-03  Bruno Haible  <bruno@clisp.org>
28796
28797         gnulib-tool: Fixes for --create-testdir with --libtool.
28798         * gnulib-tool (func_get_automake_snippet): Don't augment
28799         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
28800         an executable.
28801         (func_create_testdir): Handle module 'alloca' like func_import.
28802         Reported by Bruce Korb <bruce.korb@gmail.com>.
28803
28804 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
28805
28806         Avoid some lines longer than 80 characters.
28807         * lib/stdint.in.h: Break long comment lines.
28808         * lib/math.in.h: Likewise.
28809         (_GL_NUM_UINT_WORDS): New macro, for readability.
28810         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
28811         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
28812         * lib/stdlib.in.h: Likewise.
28813         * lib/spawn.in.h: Likewise.
28814         * lib/sys_socket.in.h: Update an URL.
28815         * lib/sys_stat.in.h: Break long line.
28816
28817 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
28818
28819         Improve pmccabe2html.
28820         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
28821         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
28822         when the sources change. Remove the line in the HTML about "Used
28823         ranges" (which implied that there might be other unused ranges),
28824         rename "Resume" to "Summary" (easier to understand for more users).
28825         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
28826         styles, and some unnecessary blank lines.
28827
28828 2010-10-03  Bruno Haible  <bruno@clisp.org>
28829             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
28830
28831         acl: Add support for ACLs on NonStop Kernel.
28832         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
28833         Check whether the function aclsort() exists.
28834         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
28835         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
28836         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
28837         (acl_nontrivial [HAVE_ACLSORT]: New function.
28838         (file_has_acl): Implement for NonStop Kernel.
28839         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
28840         (qset_acl): Implement for NonStop Kernel.
28841         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
28842         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
28843         (main): Implement for NonStop Kernel.
28844         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
28845         Kernel. Handle this flavor.
28846         * tests/test-set-mode-acl.sh: Likewise.
28847         * tests/test-copy-acl.sh: Likewise.
28848         * tests/test-copy-file.sh: Likewise.
28849
28850 2010-10-03  Bruno Haible  <bruno@clisp.org>
28851
28852         Info about ACLs on NonStop Kernel.
28853         * doc/acl-resources.txt: Add info about NonStop Kernel.
28854         References by Joachim Schmitz <schmitz@hp.com>.
28855
28856 2010-10-02  Bruno Haible  <bruno@clisp.org>
28857
28858         Define missing EDQUOT on NonStop Kernel.
28859         * lib/errno.in.h (EDQUOT): Assign a value if missing.
28860         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
28861         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
28862         missing.
28863         * doc/posix-headers/errno.texi: Mention the NSK bug.
28864         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
28865         Reported by Joachim Schmitz <schmitz@hp.com>.
28866
28867 2010-10-02  Bruno Haible  <bruno@clisp.org>
28868
28869         Update doc for POSIX:2008.
28870         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
28871         Update URL of POSIX specification.
28872
28873 2010-10-02  Bruno Haible  <bruno@clisp.org>
28874
28875         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
28876         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
28877         from gnulib, not from Automake.
28878
28879 2010-10-02  Bruno Haible  <bruno@clisp.org>
28880
28881         New module 'system-posix'.
28882         * modules/system-posix: New file.
28883         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
28884         module is present.
28885         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
28886         GNULIB_SYSTEM_POSIX.
28887         * modules/stdlib (Depends-on): Remove sys_wait.
28888         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
28889         * doc/posix-functions/system.texi: Mention the new module.
28890         * doc/posix-headers/stdlib.texi: Likewise.
28891         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
28892         define test_sys_wait_macros to a no-op.
28893         Reported by Sam Steingold <sds@gnu.org>.
28894
28895 2010-09-30  Bruno Haible  <bruno@clisp.org>
28896
28897         More renaming from 'getdate' to 'get_date'.
28898         * doc/get_date.texi: Renamed from doc/getdate.texi.
28899         * modules/get_date (Files): Update.
28900         * MODULES.html.sh (Date and time <time.h>): Update.
28901         * DEPENDENCIES: Update.
28902         * gnulib-tool: Update comment.
28903         * m4/bison.m4 (gl_BISON): Likewise.
28904         * m4/get_date.m4 (gl_GET_DATE): Likewise.
28905
28906 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
28907
28908         bootstrap: support ACLOCAL_FLAGS during aclocal
28909         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
28910         can add additional -I dir for third-party .m4 files.
28911
28912 2010-09-30  Eric Blake  <eblake@redhat.com>
28913
28914         bootstrap: use glibtoolize on MacOS
28915         * build-aux/bootstrap (check_versions): Convert libtool into
28916         libtoolize.
28917         (tool search): Move libtool check earlier, and look for
28918         glibtoolize for MacOS.
28919         (gnulib_tool_options): Auto-add --libtool when appropriate.
28920         Reported by Justin Clift.
28921
28922         poll: fix typo that broke test on MacOS
28923         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
28924         Reported by Justin Clift.
28925
28926         getdate: rename to get_date
28927         Note: getdate.h is not renamed, to minimize client impact.
28928         * modules/getdate: Mark obsolete.  Move old contents...
28929         * modules/get_date: ...to new module name.
28930         * modules/getdate-tests: Move...
28931         * modules/get_date-tests: ...here.
28932         * m4/getdate.m4: Move...
28933         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
28934         * lib/getdate.y: Move...
28935         * lib/get_date.y: ...here.
28936         * tests/test-getdate.c: Move...
28937         * tests/test-get_date.c: ...here.
28938         * doc/posix-functions/getdate.texi (getdate): Update name.
28939         * NEWS: Mention the change.
28940
28941 2010-09-29  Bruno Haible  <bruno@clisp.org>
28942
28943         Separate the module 'waitpid' from the module 'sys_wait'.
28944         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
28945         present.
28946         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
28947         gl_MODULE_INDICATOR_FOR_TESTS.
28948         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
28949         * modules/sys_wait (Depends-on): Remove waitpid.
28950         (Makefile.am): Substitute GNULIB_WAITPID.
28951         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
28952         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
28953         signature only if the 'waitpid' module is present.
28954         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
28955         * NEWS: Mention the change.
28956         * modules/grantpt (Depends-on): Add waitpid.
28957         * modules/wait-process (Depends-on): Likewise.
28958
28959 2010-09-29  Bruno Haible  <bruno@clisp.org>
28960
28961         More tests for module 'sys_wait'.
28962         * modules/sys_wait-c++-tests: New file.
28963         * tests/test-sys_wait-c++.cc: New file.
28964         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
28965         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
28966
28967 2010-09-29  Bruno Haible  <bruno@clisp.org>
28968
28969         New module 'waitpid'.
28970         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
28971         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
28972         Don't include <process.h>.
28973         (waitpid): Declare only, using modern idiom.
28974         * m4/waitpid.m4: New file.
28975         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
28976         * modules/waitpid: New file.
28977         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
28978         (Makefile.am): Update.
28979         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
28980
28981 2010-09-28  Bruno Haible  <bruno@clisp.org>
28982
28983         poll: Assume ANSI C.
28984         * lib/poll.c (poll): Use an ANSI C declaration.
28985
28986 2010-09-28  Bruno Haible  <bruno@clisp.org>
28987
28988         poll-h: Create poll.h on all platforms.
28989         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
28990         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
28991         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
28992         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
28993         (gl_REPLACE_POLL_H): Don't set POLL_H.
28994         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
28995         * modules/poll-h (Depends-on): Add include_next.
28996         (Makefile.am): Create poll.h unconditionally. Substitute also
28997         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
28998
28999 2010-09-28  Bruno Haible  <bruno@clisp.org>
29000
29001         Tests for module 'poll-h'.
29002         * modules/poll-h-c++-tests: New file.
29003         * tests/test-poll-h-c++.cc: New file.
29004
29005         Tests for module 'poll-h'.
29006         * modules/poll-h-tests: New file.
29007         * tests/test-poll-h.c: New file.
29008
29009 2010-09-28  Bruno Haible  <bruno@clisp.org>
29010
29011         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
29012         * modules/poll-h (Depends-on): Add 'extensions'.
29013
29014 2010-09-28  Bruno Haible  <bruno@clisp.org>
29015
29016         New module 'poll-h'.
29017         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
29018         (poll): Use modern idiom.
29019         * modules/poll-h: New file.
29020         * modules/poll (Files): Remove lib/poll.in.h.
29021         (Depends-on): Add poll-h.
29022         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
29023         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
29024         * m4/poll_h.m4: New file.
29025         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
29026         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
29027         and invoke gl_REPLACE_POLL_H.
29028         * lib/poll.c: Use common idiom.
29029         * tests/test-poll.c: Likewise.
29030         * doc/posix-headers/poll.texi: Mention the poll-h module.
29031         Suggested by Eric Blake.
29032
29033 2010-09-26  Bruno Haible  <bruno@clisp.org>
29034
29035         sys_wait: Implement WSTOPSIG.
29036         * lib/sys_wait.in.h (WSTOPSIG): New macro.
29037         Reported by Simon Josefsson.
29038
29039 2010-09-26  Simon Josefsson  <simon@josefsson.org>
29040
29041         stdlib, sys_wait: Avoid compilation error on mingw.
29042         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
29043
29044 2010-09-26  Bruno Haible  <bruno@clisp.org>
29045
29046         stdlib tests: Avoid code duplication.
29047         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
29048         * modules/sys_wait-tests (Files): Likewise.
29049         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
29050         * tests/test-stdlib.c: Include test-sys_wait.h.
29051         (main): Invoke test_sys_wait_macros.
29052         * tests/test-sys_wait.c: Include test-sys_wait.h.
29053         (main): Invoke test_sys_wait_macros.
29054
29055 2010-09-25  Simon Josefsson  <simon@josefsson.org>
29056
29057         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
29058         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
29059         sure Windows sockets are working before calling getaddrinfo.
29060         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
29061         * doc/gnulib.texi (Windows sockets): Fix typo.
29062
29063 2010-09-25  Bruno Haible  <bruno@clisp.org>
29064
29065         Tests for module 'regex-quote'.
29066         * modules/regex-quote-tests: New file.
29067         * tests/test-regex-quote.c: New file.
29068
29069         New module 'regex-quote'.
29070         * lib/regex-quote.h: New file.
29071         * lib/regex-quote.c: New file.
29072         * modules/regex-quote: New file.
29073         Suggested by Reuben Thomas <rrt@sc3d.org>.
29074
29075 2010-09-24  Bruno Haible  <bruno@clisp.org>
29076
29077         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
29078         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
29079
29080 2010-09-23  Bruno Haible  <bruno@clisp.org>
29081
29082         setenv: Relax license.
29083         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
29084         Blake.
29085         Requested by Eric Blake.
29086
29087 2010-09-22  Bruno Haible  <bruno@clisp.org>
29088
29089         termios: Relax license.
29090         * modules/termios (License): Change to LGPLv2+.
29091         Requested by Eric Blake.
29092
29093 2010-09-22  Bruno Haible  <bruno@clisp.org>
29094
29095         threadlib: Allow the package to change the default to 'no'.
29096         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
29097         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
29098         Reported by Paul Eggert.
29099
29100 2010-09-22  Pádraig Brady  <P@draigbrady.com>
29101             Bruno Haible  <bruno@clisp.org>
29102
29103         Fix endless loop in mbmemcasecoll.
29104         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
29105         byte.
29106         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
29107
29108 2010-09-22  Bruno Haible  <bruno@clisp.org>
29109
29110         Tests for module 'memcoll'.
29111         * modules/memcoll-tests: New file.
29112         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
29113
29114         memcoll, xmemcoll: Clarify size vs. length.
29115         * modules/memcoll.c (memcoll0): Clarify specification.
29116         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
29117         passed to collate_error.
29118
29119 2010-09-22  Bruno Haible  <bruno@clisp.org>
29120
29121         Tests for module 'memcasecmp'.
29122         * modules/memcasecmp-tests: New file.
29123         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
29124
29125 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29126
29127         * lib/pthread.in.h: Add split double-inclusion guard, and include
29128         system <pthread.h> if there is one.  Use @@-style as in other
29129         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
29130         pthread.h doesn't.
29131         (pthread_mutexattr_destroy, pthread_mutexattr_init):
29132         (pthread_mutexattr_settype, pthread_mutex_trylock):
29133         New static inline functions, if there's no system <pthread.h>.
29134         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
29135         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
29136         Approximate with mutexes if the system lacks spinlocks, as in
29137         MacOS.
29138         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
29139         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
29140         @@-style.  Check for spinlocks separately.
29141         (gl_PTHREAD_DEFAULTS): New macro.
29142         * modules/pthread: Redo to use a more typical style for in.h files.
29143
29144 2010-09-21  Eric Blake  <eblake@redhat.com>
29145
29146         net_if: enhance tests
29147         * tests/test-net_if.c (main): Move signature checks earlier.
29148         Print failures to stderr.
29149         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
29150         Document the bug that we do not yet fix.
29151
29152 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29153
29154         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
29155         about gnulib, not GSS.
29156
29157 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29158
29159         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
29160         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
29161         for Emacs.
29162         * build-aux/pmccabe2html: Make Makefile.am example code more
29163         cut-and-paste friendly.
29164
29165 2010-09-21  Simon Josefsson  <simon@josefsson.org>
29166
29167         * tests/test-net_if.c: New file.
29168         * modules/net_if-tests: New file.
29169
29170 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
29171
29172         pthread: add pthread_spin_destroy
29173         * lib/pthread.in.h (pthread_spin_destroy): New function.
29174
29175 2010-09-19  Bruno Haible  <bruno@clisp.org>
29176
29177         gnulib-tool: Fix --help output.
29178         * gnulib-tool (func_usage): Fix help message.
29179         Reported by Reuben Thomas <rrt@sc3d.org>.
29180
29181 2010-09-18  Jim Meyering  <meyering@redhat.com>
29182
29183         maint.mk: avoid unexpanded \n in two diagnostics
29184         * top/maint.mk (sc_prohibit_always_true_header_tests):
29185         Don't use a literal \n in a halt=... assignment.  It would not be
29186         expanded, and the two \n bytes would appear in the diagnostic output
29187         rather than the desired newline.  Use halt=$$(printf ... instead.
29188         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29189
29190 2010-09-18  Bruno Haible  <bruno@clisp.org>
29191
29192         netinet_in: Doc tweak.
29193         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
29194         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29195
29196 2010-09-18  Jim Meyering  <meyering@redhat.com>
29197
29198         init.sh: correct an outdated comment
29199         * tests/init.sh (create_exe_shims_):  s/function/alias/
29200
29201         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
29202         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
29203         a file named "*.exe" is removed between the glob expansion and the
29204         processing of that oddly named file.
29205
29206 2010-09-17  Eric Blake  <eblake@redhat.com>
29207
29208         mirbsd: add some more support
29209         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
29210         in BSD family.
29211         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
29212         devices as OpenBSD.
29213         * m4/host-os.m4 (mirbsd): Add MirBSD.
29214
29215         tests: fix unportable assumption on sys/wait.h
29216         * tests/test-sys_wait.c (main): Relax test.
29217         * tests/test-stdlib.c (main): Likewise.
29218
29219         init.sh: accommodate directory with no .exes
29220         * tests/init.sh: Accomodate directory containing only scripts.
29221
29222         tests: avoid compiler warning
29223         * tests/test-stdlib.c (main): Use the variable.
29224
29225         fdutimens, fdutimensat: update signature, again
29226         * lib/utimens.h (gl_futimens): Delete, and move signature...
29227         (fdutimens): ...here.
29228         (fdutimensat): Rearrange signature.
29229         (lutimensat): Rename variable for clarity.
29230         * lib/fdutimensat.c (fdutimensat): Update signature.
29231         * lib/utimens.c (fdutimens): Likewise.
29232         (gl_futimens): Delete.
29233         (utimens, lutimens): Update callers.
29234         * lib/futimens.c (futimens): Likewise.
29235         * tests/test-fdutimensat.c: Likewise.
29236         * tests/test-utimens.c: Likewise.
29237         * tests/test-futimens.h: Update comment.
29238         * NEWS: Mention this.
29239         Suggested by Paul Eggert.
29240
29241 2010-09-17  Bruno Haible  <bruno@clisp.org>
29242
29243         Take over the maintenance of some older macros from Autoconf.
29244         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
29245         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
29246         GNU Autoconf.
29247         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
29248         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
29249
29250 2010-09-17  Eric Blake  <eblake@redhat.com>
29251
29252         fdutimensat: drop atflag validation
29253         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
29254         with valid fd, to close a race scenario where futimens is
29255         unsupported and FILE was replaced by a symlink.
29256         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
29257         accordingly.
29258         Suggested by Paul Eggert.
29259
29260 2010-09-16  Bruno Haible  <bruno@clisp.org>
29261
29262         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
29263         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
29264
29265 2010-09-16  Bruno Haible  <bruno@clisp.org>
29266
29267         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
29268         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
29269         login_tty exists.
29270         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29271
29272 2010-09-16  Bruno Haible  <bruno@clisp.org>
29273
29274         login_tty: Make the replacement code work on BSD systems.
29275         * lib/login_tty.c: Include <sys/ioctl.h>.
29276         (login_tty): Use ioctl TIOCSCTTY when available.
29277         * modules/login_tty (Depends-on): Add sys_ioctl.
29278         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29279
29280 2010-09-16  Bruno Haible  <bruno@clisp.org>
29281
29282         login_tty: Stricter unit test.
29283         * modules/login_tty-tests (Depends-on): Add tcgetsid.
29284         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
29285         and tcgetsid() after login_tty.
29286         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29287
29288 2010-09-16  Bruno Haible  <bruno@clisp.org>
29289
29290         New module 'tcgetsid'.
29291         * lib/tcgetsid.c: New file.
29292         * m4/tcgetsid.m4: New file.
29293         * modules/tcgetsid: New file.
29294         * modules/termios (Depends-on): Add c++defs, warn-on-use.
29295         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
29296         GNULIB_TCGETSID, HAVE_TCGETSID.
29297         * lib/termios.in.h: Include <sys/types.h>.
29298         (tcgetsid): New declaration.
29299         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
29300         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
29301         * doc/posix-functions/tcgetsid.texi: Mention the new module.
29302         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
29303
29304 2010-09-16  Bruno Haible  <bruno@clisp.org>
29305
29306         Tests for module 'termios'.
29307         * modules/termios-c++-tests: New file.
29308         * modules/termios-tests: New file.
29309         * tests/test-termios-c++.cc: New file.
29310         * tests/test-termios.c: New file.
29311
29312         New module 'termios'.
29313         * modules/termios: New file.
29314         * lib/termios.in.h: New file.
29315         * m4/termios_h.m4: New file.
29316         * doc/posix-headers/termios.texi: Mention the new module.
29317
29318 2010-09-16  Eric Blake  <eblake@redhat.com>
29319
29320         fdutimensat: add an atflag parameter
29321         * lib/fdutimensat.c (fdutimensat): Add new parameter.
29322         * lib/utimens.h (fdutimensat): Update prototype.
29323         * tests/test-fdutimensat.c: Adjust test to match.
29324         * NEWS: Document the change.
29325         Suggested by Paul Eggert.
29326
29327 2010-09-16  Bruno Haible  <bruno@clisp.org>
29328
29329         Fix typos in comments.
29330         * lib/striconveh.h: Fix typo in comment.
29331         * lib/login_tty.c (login_tty): Likewise.
29332
29333 2010-09-15  Bruno Haible  <bruno@clisp.org>
29334
29335         stdlib: clarify MirBSD WEXITSTATUS bug
29336         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
29337         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29338
29339 2010-09-15  Eric Blake  <eblake@redhat.com>
29340
29341         stdlib: work around MirBSD WEXITSTATUS bug
29342         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
29343         * modules/stdlib (Depends-on): Add sys_wait.
29344         * tests/test-sys_wait.c (main): Enhance test.
29345         * tests/test-stdlib.c (main): Likewise.
29346         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
29347
29348         docs: mention MacOS issue with WEXITSTATUS(constant)
29349         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
29350         issue.
29351         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29352
29353         strnlen: add tests
29354         * modules/strnlen-tests: New file.
29355         * tests/test-strnlen.c: Likewise.
29356
29357 2010-09-14  Bruno Haible  <bruno@clisp.org>
29358
29359         unistr/base: Avoid link errors when module 'libunistring' is also used.
29360         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
29361         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
29362         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
29363         Declare also when HAVE_LIBUNISTRING is set.
29364         Reported by Pádraig Brady <P@draigbrady.com>.
29365
29366 2010-09-14  Eric Blake  <eblake@redhat.com>
29367
29368         test-rawmemchr: make more robust
29369         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
29370         (Depends-on, configure.ac): Add needed prerequisites to use it.
29371         * modules/memchr-tests (Files, Depends-on, configure.ac):
29372         Likewise, to avoid implicit reliance on memchr module prereqs.
29373         * tests/test-memchr.c (main): Ensure proper masking.
29374         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
29375         reads.
29376
29377         memchr: detect glibc Alpha bug
29378         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
29379         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
29380         Alpha.
29381         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
29382         * tests/test-memchr.c (main): Enhance test.
29383         Reported by Nelson H. F. Beebe.
29384
29385 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29386
29387         fts, getcwd, glob: audit for dirfd returning -1
29388         * lib/fts.c (opendir): Remove #define; no longer used.
29389         (opendirat): New arg PDIR_FD.  All callers changed.
29390         (fts_build, _opendir2): Use new opendirat to avoid the need for
29391         dirfd, or for checking whether dirfd returns a negative value.
29392         Don't use opendir; always use openat followed by fdopendir.
29393         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
29394         it.
29395         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
29396         returns -1 here.
29397         * modules/fts (Depends-on): Remove dirfd.
29398         * modules/getcwd (Depends-on): Likewise.
29399
29400 2010-09-13  Eric Blake  <eblake@redhat.com>
29401
29402         float: fix broken MirBSD header
29403         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
29404         * doc/posix-headers/float.texi (float.h): Document it.
29405
29406 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29407
29408         fts: use O_NOFOLLOW to avoid race condition when opening a directory
29409         * lib/fts.c (opendirat): New arg extra_flags.
29410         (__opendir2): Use it to avoid following symlinks when opening
29411         a directory, if symlinks are not supposed to be followed.  See
29412         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
29413
29414         fdopendir: preserve argument fd before returning
29415         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
29416         (fdopendir_with_dup, fd_clone_opendir): New static functions.
29417         (fdopendir): Use them, arranging for FD to be open to the same
29418         directory that it was when it started.  (It might be temporarily
29419         closed while fdopendir is running, so this not thread- or
29420         signal-safe.)  Be careful to do the right thing even when file
29421         descriptors are scarce and dup fails with errno == EMFILE.  See
29422         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
29423
29424 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
29425
29426         regex: Pass the system regex if its only problem is 32-bit regoff_t.
29427         * NEWS: Document change.
29428         * m4/regex.m4: Disable test for regoff_t size.
29429
29430 2010-09-13  Jim Meyering  <meyering@redhat.com>
29431
29432         fts: don't operate on an invalid file descriptor after failed dup
29433         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
29434         negative file descriptor.
29435
29436 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
29437
29438         savedir: add streamsavedir, deprecate fdsavedir
29439         * NEWS: Mention deprecation of fdsavedir.
29440         * lib/savedir.c (streamsavedir): New extern function, whose name
29441         ends in "savedir" to be consistent with the others.  This differs
29442         from savedirstream in that it doesn't close its argument.  The
29443         next version of GNU tar will use this instead of fdsavedir, to
29444         avoid some race conditions and conserve file descriptors.
29445         (savedirstream): Reimplement as a wrapper around streamsavedir.
29446         (fdsavedir): Add a comment deprecating this function.  As far as
29447         I know, only GNU tar used it, and GNU tar doesn't need it any more.
29448         * lib/savedir.h (streamsavedir): New decl.
29449         (fdsavedir): Add a comment deprecating this.
29450
29451 2010-09-10  Bruno Haible  <bruno@clisp.org>
29452
29453         langinfo: Fix last commit.
29454         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
29455         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
29456         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29457
29458 2010-09-10  Bruno Haible  <bruno@clisp.org>
29459
29460         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
29461         * lib/progreloc.c (O_EXEC): Define fallback.
29462
29463 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
29464
29465         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
29466         * NEWS: Document recent changes to fcntl-h.
29467         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
29468         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
29469         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
29470         Similarly for O_SEARCH; this last was already true, but not documented.
29471         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
29472         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
29473         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
29474         Likewise.
29475         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
29476         is zero, not whether it is defined.
29477         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
29478         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
29479         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
29480
29481 2010-09-10  Bruno Haible  <bruno@clisp.org>
29482
29483         langinfo, nl_langinfo: Fix for IRIX 5.3.
29484         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
29485         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
29486         HAVE_LANGINFO_YESEXPR.
29487         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
29488         HAVE_LANGINFO_YESEXPR.
29489         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
29490         HAVE_LANGINFO_T_FMT_AMPM is 0.
29491         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
29492         HAVE_LANGINFO_YESEXPR is 0.
29493         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
29494         NOEXPR.
29495         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
29496         * doc/posix-functions/nl_langinfo.texi: Likewise.
29497         Reported by Eric Blake.
29498
29499 2010-09-10  Bruno Haible  <bruno@clisp.org>
29500
29501         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
29502         * doc/glibc-functions/login_tty.texi: Mention the include file problem
29503         on FreeBSD 8.0 and OpenBSD 4.6.
29504         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
29505         * m4/pty_h.m4 (gl_PTY_H): Likewise.
29506         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
29507         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
29508         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
29509         ac_includes_default.
29510         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29511
29512 2010-09-09  Eric Blake  <eblake@redhat.com>
29513
29514         strsignal: work around NetBSD bug
29515         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
29516         * lib/string.in.h (includes): Likewise.
29517         * doc/posix-functions/strsignal.texi (strsignal): Document the
29518         bug.
29519         Reported by Nelson H. F. Beebe.
29520
29521         gnulib-tool: work with NetBSD /bin/sh
29522         * gnulib-tool (func_cache_var, func_cache_lookup_module)
29523         (func_get_description, func_get_comment, func_get_status)
29524         (func_get_notice, func_get_applicability, func_get_filelist)
29525         (func_get_dependencies, func_get_autoconf_early_snippet)
29526         (func_get_autoconf_snippet, func_get_automake_snippet)
29527         (func_get_include_directive, func_get_link_directive)
29528         (func_get_license, func_get_maintainer, func_import): Avoid
29529         shell syntax errors from parsing syntax extensions.
29530
29531 2010-09-09  Bruno Haible  <bruno@clisp.org>
29532
29533         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
29534         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
29535         a reliable way to determine whether the 'alias' command works.
29536
29537 2010-09-08  Jim Meyering  <meyering@redhat.com>
29538
29539         init.sh: penalize a set-x-impaired shell; don't disqualify it
29540         * tests/init.sh: Too many shells corrupt application stderr when
29541         you set -x, so we can't afford to disqualify them, since at least
29542         on Irix-6.5, that would disqualify all bourne shells.
29543         Instead, use a two-pass approach.
29544         On the first pass, try to find a shell that meets the stricter
29545         condition that set -x does not corrupt stderr.
29546         If no shell meets the stricter condition, retest each candidate
29547         shell, but without that extra condition.  Finally, when
29548         VERBOSE=yes is requested and set -x might cause trouble, simply
29549         issue a warning and refrain from enabling debug output.
29550
29551 2010-09-08  Eric Blake  <eblake@redhat.com>
29552
29553         unsetenv: fix OpenBSD bug
29554         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
29555         * doc/posix-functions/unsetenv.texi (unsetenv): Update
29556         documentation.
29557         Reported by Jim Meyering.
29558
29559         strtod: work around IRIX 6.5 bug
29560         * lib/strtod.c (strtod): Reparse number on shorter string if
29561         exponent parse was invalid.
29562         * tests/test-strtod.c (main): Add check for "0x1p 2".
29563         Reported by Tom G. Christensen.
29564
29565         getopt: optimize previous patch
29566         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
29567         empty variable.  Speed up awk script.
29568         Reported by Paolo Bonzini.
29569
29570 2010-09-08  Jim Meyering  <meyering@redhat.com>
29571
29572         test.sh: disqualify shells for which set -x corrupts stderr
29573         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
29574         and OpenBSD 4.7.  They make it so with "set -x", environment settings
29575         appear in stderr output.  For example, this command:
29576             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
29577         prints "P=1" on those two systems:
29578
29579 2010-09-08  Bruno Haible  <bruno@clisp.org>
29580
29581         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
29582         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
29583         commands, because some shells ignore redirections when there is an
29584         error in the command lookup.
29585         Reported by Eric Blake.
29586
29587 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
29588
29589         * lib/regex.h: Fix a mention of `regex_compile' (should be
29590         `re_compile_pattern').
29591         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
29592         (re_set_registers): Correct name of parameter in comment.
29593
29594         * doc/regex.texi: Add documentation for missing syntax flags.
29595         Remove commented-out documentation of defunct syntax option
29596         RE_NO_EMPTY_ALTS.
29597         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
29598         Add documentation of re_set_registers.
29599         Document trick to re-use a pattern buffer by setting fastmap manually.
29600         Update documentation of struct re_pattern_buffer per public members.
29601         Uncomment documentation of equivalence class operators and
29602         collating symbol operators, since they are now implemented,
29603         Explain leftmost-longest matching in relation to alternatives.
29604         Tidy documentation of substring matching.
29605         Remove POSIX documentation, which is done better in
29606         glibc, and refer the reader there. Keep BSD API documentation, as
29607         that is not readily available elsewhere.
29608
29609 2010-09-07  Eric Blake  <eblake@redhat.com>
29610
29611         getopt: handle POSIXLY_CORRECT set but not exported
29612         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
29613         export state of POSIXLY_CORRECT, due to bash set -o posix.
29614         Reported by Dustin J. Mitchell.
29615
29616 2010-09-05  Bruno Haible  <bruno@clisp.org>
29617
29618         gnulib-tool: Highlight the changed options.
29619         * gnulib-tool (func_usage): Display the --import, --add-import,
29620         --remove-import explanations in bold font.
29621
29622 2010-09-06  Karl Berry  <karl@gnu.org>
29623
29624         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
29625
29626 2010-09-05  Bruno Haible  <bruno@clisp.org>
29627
29628         uniwidth/width: Update comment.
29629         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
29630         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
29631
29632 2010-09-05  Bruno Haible  <bruno@clisp.org>
29633
29634         isinf, isnan: Relax license.
29635         * modules/isinf (License): Change from GPL to LGPL, with consent from
29636         Ben Pfaff.
29637         * modules/isnan (License): Likewise.
29638         Requested by Ludovic Courtès.
29639
29640 2010-09-04  Bruno Haible  <bruno@clisp.org>
29641
29642         gnulib-tool: Help migration from --import to --add-import or --update.
29643         * gnulib-tool: Emit a verbose error message when --import is used
29644         without any module name.
29645
29646 2010-09-04  Bruno Haible  <bruno@clisp.org>
29647
29648         Update doc about gnulib-tool.
29649         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
29650         'gnulib-tool --update' in more detail.
29651         Reported by Eric Blake.
29652
29653 2010-09-04  Bruno Haible  <bruno@clisp.org>
29654
29655         gnulib-tool: Change --import. New options --add/remove-import.
29656         * gnulib-tool: New options --add-import, --remove-import.
29657         (func_usage): Document them.
29658         (have_associative): Define always.
29659         (func_import): In import mode, don't merge the specified settings with
29660         the cached settings. Implement remove-import mode.
29661         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
29662         Explain when to use them versus --import.
29663         (Simple update): Use --add-import instead of --import.
29664         * NEWS: Mention the change.
29665
29666 2010-09-04  Bruno Haible  <bruno@clisp.org>
29667
29668         * doc/gnulib-tool.texi (Initial import): Update paragraph about
29669         separate gnulib.mk.
29670
29671 2010-09-04  Bruno Haible  <bruno@clisp.org>
29672
29673         gnulib-tool: Don't talk about CVS any more.
29674         * gnulib-tool (func_usage, func_import): Write "version control"
29675         instead of CVS.
29676
29677 2010-09-04  Jim Meyering  <meyering@redhat.com>
29678
29679         maint.mk: avoid obscure sc_copyright_check failure in coreutils
29680         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
29681         false positives (whose names may be ill-chosen) when searching
29682         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
29683         would cause a false-positive.
29684
29685         avoid coreutils "make distcheck" failure
29686         Coreutils tests with an absolute build directory name that contains
29687         a space.  Not quoting this directory name caused a failure.
29688         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
29689         * tests/test-vc-list-files-cvs.sh: Likewise.
29690
29691 2010-09-04  Bruno Haible  <bruno@clisp.org>
29692
29693         gnulib-tool: Avoid error when run in a package without Makefile.am.
29694         * gnulib-tool: When collecting the m4dirs in a package that does not
29695         have a Makefile.am, eliminate those directories that contain no
29696         gnulib-cache.m4. Fix expression that counts these directories.
29697
29698 2010-09-04  Bruno Haible  <bruno@clisp.org>
29699
29700         update-copyright test: Improve output when perl is missing or too old.
29701         * tests/test-update-copyright.sh: Move test of Perl version down after
29702         the test whether Perl exists. Provide an explanation relating Perl's
29703         error message to Automake's SKIP: message.
29704
29705 2010-09-04  Bruno Haible  <bruno@clisp.org>
29706
29707         Don't augment PATH in TESTS_ENVIRONMENT.
29708         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
29709         set abs_aux_dir instead of augmenting PATH.
29710         * modules/vc-list-files-tests (Makefile.am): Likewise.
29711         * tests/test-update-copyright.sh: Augment PATH here.
29712         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
29713         path_prepend_.
29714         * tests/test-vc-list-files-git.sh: Likewise.
29715
29716 2010-09-04  Jim Meyering  <meyering@redhat.com>
29717
29718         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
29719         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
29720
29721 2010-09-04  Bruno Haible  <bruno@clisp.org>
29722
29723         strdup: Fix compilation error in C++ mode.
29724         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
29725         the macro.
29726
29727 2010-09-04  Bruno Haible  <bruno@clisp.org>
29728
29729         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
29730         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
29731         macro into a function.
29732         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29733
29734 2010-09-04  Bruno Haible  <bruno@clisp.org>
29735
29736         Set PATH_SEPARATOR the same way autoconf does.
29737         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
29738         the value of PATH_SEPARATOR the same way autoconf-generated configure
29739         scripts do.
29740         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
29741         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
29742
29743 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
29744
29745         Set PATH_SEPARATOR the same way autoconf does.
29746         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
29747         the same way autoconf-generated configure scripts do.
29748         * posix-modules: Likewise.
29749
29750 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
29751
29752         hash: fix safe_hasher const typo
29753         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
29754         const; otherwise, there is a type error later.
29755
29756 2010-09-02  Jim Meyering  <meyering@redhat.com>
29757
29758         test-update-copyright.sh: require perl 5.8.0
29759         * tests/test-update-copyright.sh: Require 5.8.0,
29760         which Tom G. Christensen has confirmed is adequate,
29761         while 5.6.1 is not.
29762
29763 2010-09-02  Eric Blake  <eblake@redhat.com>
29764
29765         tests: init.sh improvements for re-exec'ing with zsh
29766         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
29767         -vx through shell re-exec.
29768         Reported by Tom G. Christensen.
29769
29770         wctype: fix typo in previous commit
29771         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
29772         Reported by Ludovic Courtès.
29773
29774 2010-09-02  Jim Meyering  <meyering@redhat.com>
29775
29776         test-update-copyright.sh: skip test if Perl is too old
29777         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
29778         Reported by Tom G. Christensen.
29779
29780 2010-09-02  Bruno Haible  <bruno@clisp.org>
29781
29782         wctype: Avoid compilation error on IRIX 6.5.30.
29783         * lib/wctype.in.h (iswblank): Declare with a replacement if
29784         REPLACE_ISWBLANK is set.
29785         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
29786         declared. Set REPLACE_ISWBLANK.
29787         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
29788         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
29789         * doc/posix-headers/wctype.texi: Likewise.
29790         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29791
29792 2010-09-01  Bruno Haible  <bruno@clisp.org>
29793
29794         New module 'socketlib'.
29795         * modules/socketlib: New file.
29796         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
29797         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
29798         * modules/sockets (Depends-on): Add socketlib.
29799         Suggested by Sam Steingold <sds@gnu.org>.
29800
29801 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
29802
29803         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
29804
29805         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
29806         when one needs search access to a directory but not read access.
29807         On systems where it is available, it works in some cases where
29808         O_RDONLY does not, namely on directories that are searchable but
29809         not readable, and which need only to be searchable.  If O_SEARCH
29810         is not available, fall back to the traditional method of using
29811         O_RDONLY.
29812
29813         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
29814         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
29815         when opening a directory that needs only to be searchable.
29816         * lib/chdir-safer.c (chdir_no_follow): Likewise.
29817         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
29818         * lib/openat-proc.c (openat_proc_name): Likewise.
29819         * lib/openat.c (openat_needs_fchdir): Likewise.
29820         * lib/save-cwd.c (save_cwd): Likewise.
29821         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
29822
29823 2010-08-28  Bruno Haible  <bruno@clisp.org>
29824
29825         New module 'host-cpu-c-abi'.
29826         * modules/host-cpu-c-abi: New file.
29827         * m4/host-cpu-c-abi.m4: New file, based on part of
29828         clisp/src/m4/general.m4.
29829         Requested by Sam Steingold <sds@gnu.org>.
29830
29831 2010-08-31  Eric Blake  <eblake@redhat.com>
29832         and Jim Meyering  <meyering@redhat.com>
29833
29834         hash: factor, and guard against misbehaving hasher function
29835         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
29836         of table->hasher's return value.  Also protect against a hash value
29837         so large that adding it to table->bucket results in a NULL pointer.
29838         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
29839         Use it in place of open-coded check-and-abort.
29840
29841 2010-08-30  Bruno Haible  <bruno@clisp.org>
29842
29843         hash: silence spurious clang warning
29844         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
29845         Reported by Eric Blake.
29846
29847 2010-08-30  Eric Blake  <eblake@redhat.com>
29848
29849         strstr, memmem, strcasestr: avoid leaked shell message
29850         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
29851         FreeBSD.
29852         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
29853         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
29854
29855         tests: silence clang warning
29856         * tests/test-malloca.c (do_allocation): Avoid dead store.
29857
29858 2010-08-29  Bruno Haible  <bruno@clisp.org>
29859
29860         gettext: Fix recent mistake.
29861         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
29862
29863 2010-08-29  Bruno Haible  <bruno@clisp.org>
29864
29865         selinux-h: Offer a --without-selinux option.
29866         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
29867         --without-selinux was specified, skip all tests and define
29868         HAVE_SELINUX_SELINUX_H to 0.
29869         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
29870         set LIB_SELINUX to empty.
29871         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
29872         gl_LIBSELINUX. If --without-selinux was specified, replace
29873         selinux/context.h.
29874         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
29875
29876 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
29877             Bruno Haible  <bruno@clisp.org>
29878
29879         Make the module 'realloc-gnu' work again on AIX and OSF/1.
29880         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
29881         of HAVE_REALLOC.
29882         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
29883         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
29884         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
29885         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
29886
29887 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
29888             Bruno Haible  <bruno@clisp.org>
29889
29890         Make the module 'calloc-gnu' work again on AIX and OSF/1.
29891         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
29892         HAVE_CALLOC.
29893         * lib/xmalloc.c: Update accordingly.
29894         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
29895         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
29896         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
29897
29898 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
29899             Bruno Haible  <bruno@clisp.org>
29900
29901         Make the module 'malloc-gnu' work again on AIX and OSF/1.
29902         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
29903         HAVE_MALLOC.
29904         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
29905         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
29906         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
29907
29908 2010-08-29  Bruno Haible  <bruno@clisp.org>
29909
29910         Update modules list.
29911         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
29912         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
29913         (String handling <string.h>): Add astrxfrm.
29914         (File system functions): Add readlinkat.
29915
29916 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29917
29918         Tests for module 'realloc-gnu'.
29919         * modules/realloc-gnu-tests: New file.
29920         * tests/test-realloc-gnu.c: New file.
29921
29922         Tests for module 'calloc-gnu'.
29923         * modules/calloc-gnu-tests: New file.
29924         * tests/test-calloc-gnu.c: New file.
29925
29926         Tests for module 'malloc-gnu'.
29927         * modules/malloc-gnu-tests: New file.
29928         * tests/test-malloc-gnu.c: New file.
29929
29930 2010-08-28  Bruno Haible  <bruno@clisp.org>
29931
29932         Rename module 'realloc' -> 'realloc-gnu'.
29933         * modules/realloc-gnu: New file, copied from modules/realloc.
29934         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
29935         obsolete.
29936         * modules/mgetgroups (Depends-on): Update.
29937         * doc/posix-functions/realloc.texi: Update.
29938         * NEWS: Mention the change.
29939
29940         Rename module 'calloc' -> 'calloc-gnu'.
29941         * modules/calloc-gnu: New file, copied from modules/calloc.
29942         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
29943         obsolete.
29944         * doc/posix-functions/calloc.texi: Update.
29945         * NEWS: Mention the change.
29946
29947         Rename module 'malloc' -> 'malloc-gnu'.
29948         * modules/malloc-gnu: New file, copied from modules/malloc.
29949         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
29950         obsolete.
29951         * modules/argp (Depends-on): Update.
29952         * modules/regex (Depends-on): Update.
29953         * doc/posix-functions/malloc.texi: Update.
29954         * NEWS: Mention the change.
29955
29956 2010-08-28  Eric Blake  <eblake@redhat.com>
29957
29958         pread, pwrite: add missing dependency
29959         * modules/pread (Depends-on): Add extensions.
29960         * modules/pwrite (Depends-on): Likewise.
29961
29962 2010-08-28  Bruno Haible  <bruno@clisp.org>
29963
29964         unistr/u*-strchr: Fix tests dependencies.
29965         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
29966         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
29967         Reported by Ian Beckwith <ianb@erislabs.net>.
29968
29969 2010-08-28  Bruno Haible  <bruno@clisp.org>
29970
29971         read-file: Don't occupy too much unused memory.
29972         * lib/read-file.c (fread_file): Shrink the buffer at the end.
29973
29974 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
29975             Eric Blake  <eblake@redhat.com>
29976             Bruno Haible  <bruno@clisp.org>
29977
29978         read-file: Avoid memory reallocations with regular files.
29979         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
29980         (fread_file): With regular files, use the remaining length as the
29981         initial buffer size.  Check against overflow.
29982         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
29983         sys_stat.
29984
29985 2010-08-28  Bruno Haible  <bruno@clisp.org>
29986
29987         ftello: Relax license.
29988         * modules/ftello (License): Relax to LGPLv2+.
29989         Reported by Eric Blake.
29990
29991 2010-08-28  Bruno Haible  <bruno@clisp.org>
29992
29993         Avoid relocwrapper link errors due to gnulib replacement functions.
29994         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
29995         function.
29996         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29997
29998 2010-08-28  Bruno Haible  <bruno@clisp.org>
29999
30000         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
30001         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
30002         defined.
30003         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
30004         Suggested by Eric Blake.
30005
30006 2010-08-28  Bruno Haible  <bruno@clisp.org>
30007
30008         sys_socket, netdb: Ensure socklen_t gets defined.
30009         * modules/sys_socket (Depends-on): Add socklen.
30010         * modules/netdb (Depends-on): Likewise.
30011         * modules/getaddrinfo (Depends-on): Remove socklen.
30012         * modules/getsockopt (Depends-on): Likewise.
30013         * modules/setsockopt (Depends-on): Likewise.
30014         * tests/test-sys_socket.c: Check that socklen_t is defined.
30015         * tests/test-netdb.c: Likewise.
30016         * m4/socklen.m4: Update comments.
30017         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30018
30019 2010-08-27  Eric Blake  <eblake@redhat.com>
30020
30021         login_tty: add missing dependency
30022         * modules/login_tty (Depends-on): Add pty.
30023
30024 2010-08-26  Eric Blake  <eblake@redhat.com>
30025
30026         lib-symbol-versions: fix m4 quoting
30027         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
30028         format for AC_LINK_IFELSE.
30029
30030         glob: fix compile test
30031         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
30032
30033         btowc: fix missing file
30034         * modules/btowc (Files): Also ship locale-fr.m4.
30035
30036         lseek: fix link test
30037         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
30038         AC_LINK_IFELSE.
30039
30040         include_next: silence autoconf 2.68 warning
30041         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
30042         AC_COMPILE_IFELSE as special.
30043         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
30044         autoconf < 2.68.
30045
30046         acl: fix compilation test
30047         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
30048         AC_COMPILE_IFELSE.
30049
30050 2010-08-26  Bruno Haible  <bruno@clisp.org>
30051
30052         Modernize AC_TRY_RUN invocations.
30053         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
30054         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
30055         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
30056         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
30057         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
30058         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30059         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
30060         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
30061         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30062         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30063         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
30064         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30065         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
30066         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30067         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
30068         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
30069         gl_MBRLEN_NUL_RETVAL): Likewise.
30070         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30071         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30072         Likewise.
30073         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30074         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
30075         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
30076         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
30077         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
30078         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
30079         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
30080         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
30081         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
30082         Likewise.
30083         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30084         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
30085         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30086         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30087         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30088         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
30089         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
30090         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
30091         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30092         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30093
30094 2010-08-26  Bruno Haible  <bruno@clisp.org>
30095
30096         Modernize AC_TRY_LINK invocations.
30097         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
30098         AC_TRY_LINK.
30099         * m4/argp.m4 (gl_ARGP): Likewise.
30100         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
30101         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30102         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30103         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30104         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30105         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
30106         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
30107         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
30108         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30109         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30110         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30111         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
30112         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
30113         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30114         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30115         * m4/hostent.m4 (gl_HOSTENT): Likewise.
30116         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30117         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
30118         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30119         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
30120         Likewise.
30121         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
30122         Likewise.
30123         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
30124         Likewise.
30125         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30126         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
30127         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
30128         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
30129         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
30130         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
30131         * m4/servent.m4 (gl_SERVENT): Likewise.
30132         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
30133         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
30134         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
30135         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
30136         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30137         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
30138         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30139         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30140         * modules/tsearch-tests (configure.ac): Likewise.
30141
30142 2010-08-26  Bruno Haible  <bruno@clisp.org>
30143
30144         Modernize AC_TRY_COMPILE invocations.
30145         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
30146         AC_TRY_COMPILE.
30147         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
30148         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
30149         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
30150         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
30151         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
30152         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
30153         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30154         * m4/lock.m4 (gl_LOCK): Likewise.
30155         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
30156         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
30157         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
30158         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30159         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
30160         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
30161         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
30162         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
30163         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
30164         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
30165         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
30166         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30167         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
30168         extraneous semicolon.
30169
30170 2010-08-26  Jim Meyering  <meyering@redhat.com>
30171
30172         stat-time: relax license LGPL
30173         * modules/stat-time (License): Change from GPL to LGPL,
30174         with consent from all contributors, for use in libguile.
30175         Requested by Ludovic Courtès.
30176
30177 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
30178
30179         poll: return immediately on POLLHUP.
30180         * lib/poll.c (poll): Always set timeout before wait_timeout is
30181         computed.
30182
30183 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30184
30185         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
30186         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
30187         rmdir ("dir/.//"), unlinkat.
30188
30189 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
30190
30191         stdbool: avoid spurious failure with modern xlc
30192         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30193
30194 2010-08-24  Bruno Haible  <bruno@clisp.org>
30195
30196         getloadavg: simplify code
30197         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
30198         gl_have_func. Update comments.
30199
30200 2010-08-24  Eric Blake  <eblake@redhat.com>
30201
30202         getloadavg: don't define SVR4 on cygwin
30203         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
30204         only define SVR4 when -lkvm is required.
30205         Reported by Yaakov Selkowitz.
30206
30207 2010-08-24  Bruno Haible  <bruno@clisp.org>
30208
30209         priv-set: fix comment
30210         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
30211
30212 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
30213
30214         priv-set: fix comments
30215         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
30216         to match code, as suggested by David Bartley in:
30217         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
30218
30219 2010-08-23  Eric Blake  <eblake@redhat.com>
30220
30221         stdbool: avoid rejecting clang
30222         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30223         * tests/test-stdbool.c: Enable more tests if using the system
30224         <stdbool.h> instead of the gnulib replacement.
30225         (main): Move xlc bug test to a runtime test for all compilers.
30226         Reported by Anders Kaseorg.
30227
30228         argz: fix shell quoting issue
30229         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
30230         Reported by Charles Wilson.
30231
30232 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
30233             Erik Faye-Lund <kusmabite@gmail.com>
30234
30235         poll, select: handle ERROR_BROKEN_PIPE.
30236         * lib/poll.c (win32_compute_revents): Return POLLHUP when
30237         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30238         * lib/select.c (win32_compute_revents): Do not mark a pipe
30239         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30240
30241 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
30242
30243         fts: allow compilation with C++
30244         * lib/fts_.h: Specify extern "C" linkage with C++.
30245
30246 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30247
30248         Fix gnulib-tool sed script de-commentation for AIX sed.
30249         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
30250         sed.
30251
30252 2010-08-17  Eric Blake  <eblake@redhat.com>
30253
30254         test-stddef: test for (some) offsetof bugs
30255         * tests/test-stddef.c: Enhance test to ensure correct type of
30256         offsetof.
30257         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
30258         that we are not fixing at this time.
30259
30260 2010-08-15  Bruno Haible  <bruno@clisp.org>
30261
30262         stpncpy: Allow stpncpy to be defined as a macro.
30263         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
30264         if it's already correctly declared.
30265         * lib/string.in.h (stpncpy): Undefine before redefining.
30266         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
30267
30268 2010-08-14  Bruno Haible  <bruno@clisp.org>
30269
30270         Rename module 'memxfrm' to 'amemxfrm'.
30271         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
30272         (amemxfrm): Renamed from memxfrm.
30273         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
30274         (amemxfrm): Renamed from memxfrm.
30275         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
30276         * NEWS: Mention the change.
30277         * MODULES.html.sh (String handling <string.h>): Update.
30278         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
30279         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
30280         * lib/unicase/u16-casexfrm.c: Likewise.
30281         * lib/unicase/u32-casexfrm.c: Likewise.
30282         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
30283         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
30284         * lib/uninorm/u16-normxfrm.c: Likewise.
30285         * lib/uninorm/u32-normxfrm.c: Likewise.
30286         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
30287         memxfrm.
30288         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
30289         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
30290         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
30291         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
30292         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
30293         Suggested by Paul Eggert.
30294
30295 2010-08-14  Bruno Haible  <bruno@clisp.org>
30296
30297         Tests for module 'astrxfrm'.
30298         * modules/astrxfrm-tests: New file.
30299         * tests/test-astrxfrm.c: New file.
30300
30301         New module 'astrxfrm'.
30302         * lib/astrxfrm.h: New file.
30303         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
30304         * modules/astrxfrm: New file.
30305
30306 2010-08-14  Reuben Thomas <rrt@sc3d.org>
30307
30308         regex: Tweak doc.
30309         * doc/regex.texi (Overview): Don't mention regex.c.
30310         (GNU Regular Expression Compiling): Likewise.
30311         (Match-end-of-line Operator): Mention 'not_eol'.
30312
30313 2010-08-14  Brian Gough  <bjg@gnu.org>
30314             Bruno Haible  <bruno@clisp.org>
30315
30316         git-merge-changelog: add doc relating to use with bzr and hg.
30317         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
30318
30319 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
30320
30321         pthread: fix pthread.h creation for srcdir != builddir
30322         * modules/pthread (Makefile.am): Fix the rule to work also in a
30323         non-srcdir build.
30324
30325 2010-08-13  Karl Berry  <karl@gnu.org>
30326
30327         * doc/regex.texi (Predefined Syntaxes): @smallexample.
30328         * doc/posix-*/*: force line break before @url of POSIX
30329         specifications.
30330         Suggested by Werner Lemberg.
30331
30332 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30333
30334         strtod: fix const diagnostic
30335         * lib/strtod.c (strtod): Don't assign const char * to char *,
30336         as this elicits a warning from GCC when warnings are enabled.
30337
30338 2010-08-10  Pádraig Brady <P@draigbrady.com>
30339         and Eric Blake  <eblake@redhat.com>
30340
30341         copy-acl: ignore ENOTSUP on HP-UX
30342         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
30343         so that it is available for HP-UX.
30344         * lib/copy-acl.c (qcopy_acl): Use it.
30345         Reported by Patrick M. Callahan.
30346
30347 2010-08-10  Eric Blake  <eblake@redhat.com>
30348
30349         open, chown: relax license
30350         * modules/open (License): Change to LGPLv2+, with consent by all
30351         authors, for use in augeas.
30352         * modules/chown (License): Likewise.
30353         * modules/lchown (Likewise): Likewise.
30354         Requested by Adam Stokes.
30355
30356 2010-08-09  Karl Berry  <karl@gnu.org>
30357
30358         * build-aux/ar-lib: new file, import from Automake.
30359         * config/srclist.txt: autocheck for updates.
30360
30361 2010-08-09  Eric Blake  <eblake@redhat.com>
30362
30363         readlinkat: adjust client modules
30364         * modules/areadlinkat (Depends-on): Use readlinkat, not
30365         symlinkat.
30366         * modules/areadlinkat-with-size (Depends-on): Likewise.
30367
30368         mknod: be more vocal about danger of running tests as root
30369         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
30370         root, since that is just asking for problems.
30371         Suggested by Bruno Haible, based on a report by Rainer Tammer.
30372
30373         readlinkat: split into its own module
30374         * modules/symlinkat: Split readlinkat...
30375         * modules/readlinkat: ...into separate module.
30376         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
30377         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
30378         * lib/symlinkat.c (readlinkat): Move...
30379         * lib/readlinkat.c: ...into new file.
30380         * modules/symlinkat-tests: Split readlinkat test...
30381         * modules/readlinkat-tests: ...into separate module.
30382         * tests/test-symlinkat.c: Split...
30383         * tests/test-readlinkat.c: ...into new file.
30384         * NEWS: Document the split.
30385         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30386         * lib/unistd.in.h (readlinkat): Likewise.
30387         Suggested by Bruno Haible.
30388
30389 2010-08-08  Bruno Haible  <bruno@clisp.org>
30390
30391         memxfrm: Speed up.
30392         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
30393         that usually only one call to strxfrm is necessary for each string
30394         part.
30395         Reported by Paul Eggert <eggert@cs.ucla.edu>.
30396
30397 2010-08-07  Karl Berry  <karl@gnu.org>
30398
30399         * doc/posix-headers/limits.texi,
30400         * doc/posix-functions/malloc.texi,
30401         * doc/posix-functions/strsignal.texi: missing @item.
30402         * doc/ld-version-script.texi: spurious leading i.
30403         * doc/regex.texi (Interval Operators): no commas inside @var.
30404
30405 2010-08-01  Bruno Haible  <bruno@clisp.org>
30406
30407         Integrate the regex documentation.
30408         * doc/gnulib.texi: Define 'cn' index.
30409         (Regular expressions): New a chapter that includes regex.texi and
30410         regexprops-generic.texi.
30411         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
30412         syntax.
30413
30414         Whitespace cleanup.
30415         * doc/regex.texi: Remove trailing spaces.
30416
30417         Add regex documentation.
30418         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
30419         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
30420         Written by Kathy A. Hargreaves and Karl Berry.
30421
30422 2010-08-01  Bruno Haible  <bruno@clisp.org>
30423
30424         link: Update documentation.
30425         * doc/posix-functions/link.texi: Update regarding Solaris.
30426
30427 2010-07-31  Bruno Haible  <bruno@clisp.org>
30428
30429         Update modules list.
30430         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
30431         (String handling <string.h>): Add memcmp2, memxfrm.
30432         (Container data structures): Add xlist, xsublist, xoset.
30433         (Core language properties): Add alignof, unused-parameter.
30434         (Process control, Numeric conversion functions <stdlib.h>): Renamed
30435         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
30436         (Unibyte characters <ctype.h>): New section.
30437         (String handling <string.h>): New section.
30438         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
30439         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
30440         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
30441         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
30442         tan, tanh, tanl, y0, y1, yn.
30443         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
30444         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
30445         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
30446         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
30447         unlockpt, vdprintf, vdprintf-posix.
30448         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
30449         (File system functions): Add concat-filename, sys_file, sys_ioctl,
30450         xconcat-filename.
30451         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
30452         getdtablesize, pipe2, pipe2-safer.
30453         (Security): New section.
30454         (Networking functions): Add accept4.
30455         (Signal handling): Add sigpipe.
30456         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
30457         mbmemcasecoll.
30458         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
30459         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
30460         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
30461         pipe-filter-ii.
30462         (Misc): Add argp-version-etc, login_tty, parse-duration.
30463
30464 2010-07-31  Bruno Haible  <bruno@clisp.org>
30465
30466         Improve doc in MODULES.html.
30467         * modules/linkat (Description): Add the word "function".
30468         * modules/mkfifo (Description): Likewise.
30469         * modules/mknod (Description): Likewise.
30470         * modules/remove (Description): Likewise.
30471         * modules/renameat (Description): Likewise.
30472         * modules/stat (Description): Likewise.
30473         * modules/symlink (Description): Likewise.
30474         * modules/unlink (Description): Likewise.
30475
30476 2010-07-31  Bruno Haible  <bruno@clisp.org>
30477
30478         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
30479         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
30480         option --enable/disable-c++ instead of --enable/disable-cxx.
30481         * NEWS: Mention the change.
30482
30483 2010-07-31  Bruno Haible  <bruno@clisp.org>
30484
30485         readlink, areadlink: Relax test a bit.
30486         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
30487         alternative to ENOTDIR.
30488         * tests/test-areadlink.h (test_areadlink): Likewise.
30489         Reported by Rainer Tammer.
30490
30491 2010-07-31  Bruno Haible  <bruno@clisp.org>
30492
30493         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
30494         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
30495         character, perform the search using U_STRCHR.
30496         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
30497         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
30498         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
30499         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
30500         Suggested by Paolo Bonzini.
30501
30502 2010-07-31  Bruno Haible  <bruno@clisp.org>
30503
30504         unistr/u*-strstr: Fix dependencies.
30505         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
30506         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
30507         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
30508
30509 2010-07-31  Bruno Haible  <bruno@clisp.org>
30510
30511         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
30512         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
30513         the beginning of the loop.
30514         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
30515         cases in 'switch' statement.
30516
30517         unistr/u8-strchr: Fix several bugs.
30518         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
30519         the string. When not found, return NULL, not a pointer near the end.
30520
30521         More tests for unistr/u8-strchr.
30522         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
30523         that the function does not read past the first occurrence of the byte
30524         being searched.
30525         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
30526         * tests/unistr/test-u16-strchr.c (main): New function.
30527         * tests/unistr/test-u32-strchr.c (main): New function.
30528
30529 2010-07-31  Bruno Haible  <bruno@clisp.org>
30530
30531         posix-modules: Ignore backup files of documentation files.
30532         * posix-modules: grep only through files named *.texi.
30533
30534 2010-07-31  Bruno Haible  <bruno@clisp.org>
30535
30536         symlinkat: Fix documentation.
30537         * doc/posix-functions/readlinkat.texi: Fix module name.
30538
30539 2010-07-31  Bruno Haible  <bruno@clisp.org>
30540
30541         fchownat: Replace also when chown has the trailing slash bug.
30542         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
30543         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
30544         introduced on 2010-04-10.
30545         Reported by Rainer Tammer.
30546
30547 2010-07-31  Bruno Haible  <bruno@clisp.org>
30548
30549         linkat: Work around AIX 7.1 bug.
30550         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
30551         whether linkat handles trailing slash correctly. If not, replace linkat
30552         and define LINKAT_TRAILING_SLASH_BUG.
30553         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
30554         check whether (fd1,file1) points to a directory if file1 or file2 ends
30555         in a slash. Code taken from lib/link.c.
30556         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
30557         Reported by Rainer Tammer.
30558
30559 2010-07-31  Bruno Haible  <bruno@clisp.org>
30560
30561         Correctly determine whether pow is available in libc on AIX 7 with xlc.
30562         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
30563         This disables an xlc optimization that was causing wrong test results.
30564         Reported by Rainer Tammer.
30565
30566 2010-07-31  Bruno Haible  <bruno@clisp.org>
30567
30568         iconv: Work around AIX 6.1..7.1 bug.
30569         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
30570         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
30571         cross-compiling, guess no on all versions of AIX.
30572         Reported by Rainer Tammer.
30573
30574 2010-07-31  Bruno Haible  <bruno@clisp.org>
30575
30576         readlink: Relax test a bit.
30577         * tests/test-readlink.h (test_readlink): Allow different errno value
30578         when readlink is called with a file name that ends in / and refers to
30579         a file.
30580         Suggested by Eric Blake.
30581         Reported by Rainer Tammer.
30582
30583 2010-07-31  Bruno Haible  <bruno@clisp.org>
30584
30585         copysign: Does not require -lm on glibc systems.
30586         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
30587         gl_COMMON_DOUBLE_MATHFUNC.
30588         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
30589
30590 2010-07-31  Bruno Haible  <bruno@clisp.org>
30591
30592         duplocale: Work around AIX 7.1 bug.
30593         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
30594         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
30595         * lib/duplocale.c (rpl_duplocale): Update comment.
30596         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
30597         Reported by Rainer Tammer.
30598
30599 2010-07-30  Bruno Haible  <bruno@clisp.org>
30600
30601         dirfd: Avoid link error on AIX 7.1.
30602         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
30603         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
30604         exist, set REPLACE_DIRFD.
30605         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
30606         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
30607         * doc/posix-functions/dirfd.texi: Update.
30608         Reported by Rainer Tammer.
30609
30610 2010-07-30  Eric Blake  <eblake@redhat.com>
30611
30612         strtod: next round of AIX fixes
30613         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
30614         exponent.
30615         * tests/test-strtod.c (main): Enhance tests.
30616         * doc/posix-functions/strtod.texi (strtod): Document next bug.
30617         Reported by Rainer Tammer.
30618
30619         futimens: fix configure check
30620         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
30621         Reported by Bruno Haible.
30622
30623 2010-07-30  Bruno Haible  <bruno@clisp.org>
30624
30625         getline: Update regarding AIX.
30626         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
30627         Reported by Rainer Tammer.
30628
30629 2010-07-30  Bruno Haible  <bruno@clisp.org>
30630
30631         wcwidth: Drop replacement on AIX 7.
30632         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
30633         AIX 7.
30634         Reported by Rainer Tammer.
30635
30636 2010-07-30  Bruno Haible  <bruno@clisp.org>
30637
30638         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
30639         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
30640         a 'char *'.
30641         Reported by Rainer Tammer.
30642
30643 2010-07-30  Bruno Haible  <bruno@clisp.org>
30644
30645         unlink: Update regarding AIX.
30646         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
30647         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
30648         Reported by Rainer Tammer.
30649
30650 2010-07-30  Bruno Haible  <bruno@clisp.org>
30651
30652         symlink: Update regarding AIX.
30653         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
30654         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
30655         Reported by Rainer Tammer.
30656
30657 2010-07-30  Bruno Haible  <bruno@clisp.org>
30658
30659         strndup: Update regarding AIX.
30660         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
30661         AIX 7.
30662         Reported by Rainer Tammer.
30663
30664 2010-07-30  Bruno Haible  <bruno@clisp.org>
30665
30666         stat: Update regarding AIX.
30667         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
30668         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
30669         Reported by Rainer Tammer.
30670
30671 2010-07-30  Bruno Haible  <bruno@clisp.org>
30672
30673         truncl: Fix autoconf test.
30674         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
30675         whether truncl works.
30676         Reported by Rainer Tammer.
30677
30678 2010-07-30  Bruno Haible  <bruno@clisp.org>
30679
30680         round: Update regarding AIX.
30681         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
30682         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
30683         Reported by Rainer Tammer.
30684
30685 2010-07-30  Bruno Haible  <bruno@clisp.org>
30686
30687         rename: Update regarding AIX.
30688         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
30689         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
30690         Reported by Rainer Tammer.
30691
30692 2010-07-30  Bruno Haible  <bruno@clisp.org>
30693
30694         printf.m4: Update regarding AIX.
30695         * m4/printf.m4: Update comments regarding AIX.
30696         Reported by Rainer Tammer.
30697
30698 2010-07-30  Bruno Haible  <bruno@clisp.org>
30699
30700         iconv: Update regarding AIX.
30701         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
30702         AIX 7.
30703         Reported by Rainer Tammer.
30704
30705 2010-07-30  Bruno Haible  <bruno@clisp.org>
30706
30707         getopt: Update regarding AIX.
30708         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
30709         no on AIX.
30710         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
30711         Reported by Rainer Tammer.
30712
30713 2010-07-30  Bruno Haible  <bruno@clisp.org>
30714
30715         ldexpl; Update regarding AIX.
30716         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
30717         on AIX 7.
30718         Reported by Rainer Tammer.
30719
30720 2010-07-30  Bruno Haible  <bruno@clisp.org>
30721
30722         frexpl: Update regarding AIX.
30723         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
30724         on AIX 7.
30725         Reported by Rainer Tammer.
30726
30727 2010-07-30  Bruno Haible  <bruno@clisp.org>
30728
30729         open, fopen: Update regarding AIX.
30730         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
30731         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30732         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
30733         * doc/posix-functions/fopen.texi: Likewise.
30734         Reported by Rainer Tammer.
30735
30736 2010-07-30  Bruno Haible  <bruno@clisp.org>
30737
30738         chown: Update doc regarding AIX.
30739         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
30740         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
30741         Reported by Rainer Tammer.
30742
30743 2010-07-30  Eric Blake  <eblake@redhat.com>
30744
30745         strtod: fix bug in replacement function on AIX
30746         * lib/strtod.c (strtod): Special case broken "0x" parse in
30747         underlying strtod.
30748         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
30749         * doc/posix-functions/strtod.texi (strtod): Likewise.
30750         Reported by Rainer Tammer.
30751
30752 2010-07-30  Bruno Haible  <bruno@clisp.org>
30753
30754         mbrlen: Fix cross-compilation guess for AIX.
30755         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
30756         guess. Leftover from 2008-12-22.
30757
30758 2010-07-30  Bruno Haible  <bruno@clisp.org>
30759
30760         mbrtowc: Fix cross-compilation guess for AIX.
30761         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
30762         guess. Leftover from 2008-12-21.
30763
30764 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
30765
30766         init.sh: work around trap limitation of some shells
30767         * tests/init.sh (setup_): Move exit trap outside of shell function.
30768
30769 2010-07-29  Eric Blake  <eblake@redhat.com>
30770
30771         strtod: aid debugging
30772         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
30773         understanding why strtod is rejected.
30774
30775 2010-07-28  Bruno Haible  <bruno@clisp.org>
30776
30777         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
30778         * lib/unistr/u8-chr.c: Include <string.h>.
30779         * tests/unistr/test-u8-chr.c: Likewise.
30780         * tests/unistr/test-u16-chr.c: Likewise.
30781         * tests/unistr/test-u32-chr.c: Likewise.
30782         * tests/unistr/test-u8-strchr.c: Likewise.
30783         * tests/unistr/test-u16-strchr.c: Likewise.
30784         * tests/unistr/test-u32-strchr.c: Likewise.
30785         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
30786         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
30787         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
30788         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
30789
30790 2010-07-28  Bruno Haible  <bruno@clisp.org>
30791
30792         Use spaces for indentation, not tabs.
30793         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
30794
30795 2010-07-27  Bruno Haible  <bruno@clisp.org>
30796
30797         mbspcasecmp: Fix function specification.
30798         * lib/string.in.h (mbspcasecmp): Fix specification comment.
30799         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
30800         Reported by Eric Blake <eblake@redhat.com>.
30801
30802 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
30803
30804         timespec: use cast and not conditional, as truncation isn't possible
30805         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
30806         instead of a conditional.  Comment about the situation in more detail.
30807         This undoes most of the 2009-10-29 patch.
30808
30809 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
30810
30811         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
30812         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
30813         * lib/unistr/u8-strchr.c: Likewise.
30814         * modules/unistr/u8-chr: Depend on memchr.
30815
30816         unistr/u*-strchr: add tests
30817         * modules/unistr/u8-strchr-tests: New file.
30818         * modules/unistr/u16-strchr-tests: New file.
30819         * modules/unistr/u32-strchr-tests: New file.
30820         * tests/unistr/test-strchr.h: New file.
30821         * tests/unistr/test-u8-strchr.c: New file.
30822         * tests/unistr/test-u16-strchr.c: New file.
30823         * tests/unistr/test-u32-strchr.c: New file.
30824
30825         unistr/u*-chr: test multibyte sequences more
30826         * tests/unistr/test-chr.h: Do complete testing of the characters in the
30827         test vector.
30828         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
30829         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
30830         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
30831
30832         unistr/u*-chr: test multibyte sequences
30833         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
30834
30835         unistr/u*-chr: prepare for multibyte tests
30836         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
30837         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
30838         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
30839         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
30840         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
30841         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
30842
30843 2010-07-18  Bruno Haible  <bruno@clisp.org>
30844
30845         unistr/u8-strchr: Optimize non-ASCII argument case.
30846         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
30847         because the first byte often matches anyway.
30848         Reported by Pádraig Brady <P@draigbrady.com>.
30849
30850 2010-07-15  Karl Berry  <karl@gnu.org>
30851
30852         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
30853
30854 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
30855
30856         getcwd: on Solaris, work better if ancestors are inaccessible
30857         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
30858         buffer and size, try again with a large buffer.  This works better
30859         on Solaris, since its getcwd succeeds even if the path to the root
30860         is inaccessible, and this is helpful in common cases such as .zfs
30861         hidden directories.  Problem reported by J Chapman Flack in
30862         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
30863         Use system getcwd if it's declared, not merely if it's partly
30864         working; use the partly-working test only to avoid needless effort
30865         if the system getcwd fails.
30866         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
30867         comment that was already obsolete and is now even more obsolete.
30868         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
30869         now might call strdup.
30870
30871 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
30872
30873         pthread: Add enough so that coreutils/src/sort.c compiles.
30874         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
30875         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
30876         gnulib. Include <sched.h> and <time.h>, as per POSIX.
30877         Include <sys/types.h>, in case it defines pthread_t.
30878         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
30879         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
30880         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
30881         (pthread_rwlockattr_t, pthread_spinlock_t):
30882         New typedefs, if HAVE_PTHREAD_T is not defined.
30883         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
30884         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
30885         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
30886         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
30887         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
30888         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
30889         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
30890         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
30891         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
30892         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
30893         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
30894         New macros.
30895         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
30896         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
30897         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
30898         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
30899         (pthread_spin_unlock): New dummy functions.
30900         (pthread_create): Return EAGAIN; don't set errno.
30901         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
30902         require AC_C_INLINE.
30903         * modules/pthread (Depends-on): Add sched, time.
30904         (pthread.h): Use AM_V_GEN.
30905
30906 2010-07-13  Bruno Haible  <bruno@clisp.org>
30907
30908         striconveh: Don't malloc memory if the result buffer is sufficient.
30909         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
30910         buffer if its size is sufficient.
30911         Reported by Ludovic Courtès <ludo@gnu.org>.
30912
30913 2010-07-13  Bruno Haible  <bruno@clisp.org>
30914
30915         strtod: Add safety check.
30916         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
30917
30918 2010-07-12  Bruno Haible  <bruno@clisp.org>
30919
30920         Unify tests that set gl_cv_func_ldexpl_no_libm.
30921         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
30922         gl_FUNC_LDEXPL.
30923         (gl_FUNC_LDEXPL): Invoke it.
30924         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
30925
30926 2010-07-12  Bruno Haible  <bruno@clisp.org>
30927
30928         Unify tests that set gl_cv_func_ldexp_no_libm.
30929         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
30930         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
30931         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
30932         (configure.ac): Simply invoke gl_FUNC_LDEXP.
30933         * modules/strtod (Files): Add m4/ldexp.m4.
30934
30935 2010-07-12  Bruno Haible  <bruno@clisp.org>
30936
30937         Unify tests that set gl_cv_func_frexpl_no_libm.
30938         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
30939         gl_FUNC_FREXPL_NO_LIBM.
30940         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
30941         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
30942
30943 2010-07-12  Bruno Haible  <bruno@clisp.org>
30944
30945         Unify tests that set gl_cv_func_frexp_no_libm.
30946         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
30947         gl_FUNC_FREXP_NO_LIBM.
30948         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
30949         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
30950
30951 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
30952
30953         memcoll: clarify sizes versus lengths, document better, and tweak perf
30954         * lib/memcoll.c (strcoll_loop, memcoll0):
30955         Improve quality of descriptive comments.  Name variables
30956         consistently as to whether they are lengths (which do not include
30957         terminating null) versus sizes (which do).
30958         * lib/xmemcoll.c (xmemcoll0): Likewise.
30959         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
30960         returned when s1size == 0; this is easier to compile and saves
30961         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
30962
30963 2010-07-12  Bruno Haible  <bruno@clisp.org>
30964
30965         Tests for module '_Exit'.
30966         * modules/_Exit-tests: New file.
30967         * tests/test-_Exit.sh: New file.
30968         * tests/test-_Exit.c: New file.
30969
30970         New module '_Exit'.
30971         * lib/stdlib.in.h (__attribute__): New macro.
30972         (_Exit): New declaration.
30973         * lib/_Exit.c: New file.
30974         * m4/_Exit.m4: New file.
30975         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
30976         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
30977         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
30978         * modules/_Exit: New file.
30979         * tests/test-stdlib-c++.cc (_Exit): Check signature.
30980         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
30981
30982 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
30983
30984         strtod: make it more-accurate typically, and don't require libm
30985         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
30986         Include limits.h.  Don't include string.h.
30987         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
30988         (locale_isspace): New function, so that no casts are needed to
30989         check whether *s is a space.
30990         (ldexp): Provide an unused dummy if not available.
30991         (scale_radix_exp, parse_number, underlying_strtod): New functions.
30992         (strtod): Use them.  This implementation prefers to use the
30993         underlying strtod if available, falling back on our own code
30994         only to fix known bugs.  This is more likely to produce an
30995         accurate result.  Also, it avoids the use of libm functions.
30996         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
30997         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
30998         was absent, but it caused a test failure with coreutils.
30999         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
31000         with libm.
31001         * modules/strtod (Makefile.am, Link): libm is no longer needed.
31002         * modules/strtod-tests (Makefile.am): Likewise.
31003
31004 2010-07-11  Pádraig Brady  <P@draigBrady.com>
31005             Bruno Haible  <bruno@clisp.org>
31006
31007         unistr/u8-strchr: Optimize ASCII argument case.
31008         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
31009
31010 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
31011
31012         (x)memcoll: minor tweaks
31013         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
31014         is after the type that it qualifies.
31015         (memcoll0): Likewise.
31016         * lib/memcoll.h (memcoll0): Likewise.
31017         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
31018         * lib/xmemcoll.h (xmemcoll0): Likewise.
31019         * lib/memcoll.c (memcoll0): Correct the comment.  This function
31020         differs from memcoll in that the NUL byte is part of the argument.
31021         Omit the abort-checks, as performance is a real issue here.  Plus,
31022         the checks were wrong anyway (an off-by-one error).  Omit local
31023         variable 'diff', as it's a bit clearer that way.
31024         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
31025         no longer needed.
31026
31027 2010-07-08  Chen Guo <chenguo4@yahoo.com>
31028
31029         (x)memcoll: speedup when input is known to be NUL delimited
31030         * lib/memcoll.c: Include stdlib.
31031         (memcoll0): New function.
31032         (strcoll_loop): New function, refactored for use in both memcoll
31033         and memcoll0.
31034         * lib/memcoll.h (memcoll0): Add prototype.
31035         * lib/xmemcoll.c (xmemcoll0): New function.
31036         (collate_error): New function, refactored for use in both xmemcoll
31037         and xmemcoll0.
31038         * lib/xmemcoll.h (xmemcoll0): Add prototype.
31039         * m4/memcoll.m4: add inline invocation.
31040
31041 2010-07-06  Pádraig Brady  <P@draigBrady.com>
31042
31043         * build-aux/bootstrap: Remove any local translations
31044         from the translation project synchronization directory,
31045         so that local only translations are not distributed.
31046
31047 2010-07-04  Bruno Haible  <bruno@clisp.org>
31048
31049         fsusage: Clarify which code applies to which platforms.
31050         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
31051         platform.
31052         * lib/fsusage.c (get_fs_usage): Likewise.
31053
31054 2010-07-04  Bruno Haible  <bruno@clisp.org>
31055
31056         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
31057         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
31058         Reported by Martin Lambers <marlam@marlam.de>.
31059
31060 2010-07-04  Jim Meyering  <meyering@redhat.com>
31061
31062         hash: once again explicitly disallow insertion of NULL
31063         * lib/hash.c (hash_insert0): Reinstate just-removed test:
31064         inserting a NULL pointer cannot work with these functions.
31065         Add a comment with details.
31066         This reverts part of the 2010-07-01 commit, 5bef1a35
31067         "hash: extend module to deal with non-pointer keys".
31068
31069 2010-07-01  Bruno Haible  <bruno@clisp.org>
31070
31071         stdbool: Update doc.
31072         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
31073         Info from Christian Weisgerber <naddy@mips.inka.de>.
31074
31075 2010-07-01  Jim Meyering  <meyering@redhat.com>
31076
31077         hash: extend module to deal with non-pointer keys
31078         * lib/hash.c (hash_insert0): New interface, much like hash_insert
31079         but that allows insertion of non-pointer entries.
31080         Do not disallow an ENTRY value of NULL.
31081         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
31082         * lib/hash.h (hash_insert0): Declare.
31083
31084 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
31085
31086         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
31087         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
31088         not present (i.e. with autoconf 2.59 and when using gettextize, not
31089         gnulib), require AC_GNU_SOURCE instead.
31090
31091 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
31092
31093         idpriv-drop: Fix tests.
31094         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
31095         not to the test-idpriv-droptemp program.
31096
31097 2010-06-29  Bruno Haible  <bruno@clisp.org>
31098
31099         string: Fix syntax error with g++ 2.96.
31100         * lib/string.in.h (__pure__): Remove definition.
31101         (_GL_ATTRIBUTE_PURE): New macro.
31102         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
31103         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
31104         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31105
31106 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
31107
31108         unitypes: Fix bug introduced on 2010-05-18.
31109         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
31110
31111 2010-06-22  Eric Blake  <eblake@redhat.com>
31112
31113         memmem: slight optimization
31114         * lib/str-two-way.h (critical_factorization): Update comments.
31115         Reduce work during factorization phase.
31116         Reported by Carlos Bueno <carlos@bueno.org>.
31117
31118 2010-06-21  Bruno Haible  <bruno@clisp.org>
31119
31120         Fix HAVE_CALLOC_POSIX misnomer.
31121         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
31122         !HAVE_CALLOC_POSIX.
31123         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
31124         HAVE_CALLOC_POSIX.
31125         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
31126         instead of HAVE_CALLOC_POSIX.
31127         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
31128         HAVE_CALLOC_POSIX.
31129
31130         Use modern idiom for calloc() replacement.
31131         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
31132         AC_FUNC_CALLOC.
31133         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
31134         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
31135         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31136         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
31137         (gl_REPLACE_CALLOC): New macro.
31138
31139 2010-06-21  Bruno Haible  <bruno@clisp.org>
31140
31141         Fix HAVE_REALLOC_POSIX misnomer.
31142         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
31143         !HAVE_REALLOC_POSIX.
31144         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
31145         HAVE_REALLOC_POSIX.
31146         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
31147         instead of HAVE_REALLOC_POSIX.
31148         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
31149         HAVE_REALLOC_POSIX.
31150
31151         Use modern idiom for realloc() replacement.
31152         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
31153         AC_FUNC_REALLOC.
31154         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
31155         Autoconf's AC_FUNC_REALLOC.
31156         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31157         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
31158         (gl_REPLACE_REALLOC): New macro.
31159         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31160
31161 2010-06-21  Bruno Haible  <bruno@clisp.org>
31162
31163         Fix HAVE_MALLOC_POSIX misnomer.
31164         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
31165         !HAVE_MALLOC_POSIX.
31166         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
31167         HAVE_MALLOC_POSIX.
31168         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
31169         instead of HAVE_MALLOC_POSIX.
31170         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
31171         HAVE_MALLOC_POSIX.
31172
31173         Use modern idiom for malloc() replacement.
31174         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
31175         AC_FUNC_MALLOC.
31176         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
31177         Autoconf's AC_FUNC_MALLOC.
31178         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31179         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
31180         (gl_REPLACE_MALLOC): New macro.
31181         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31182
31183 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
31184
31185         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
31186         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
31187         This macro takes 3 arguments, not 4.
31188
31189 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
31190
31191         ipv6: fix detection under mingw
31192         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
31193         in6_addr.
31194
31195 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
31196
31197         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
31198         that strtod() works when cross-compiling to a glibc version known
31199         to work.
31200
31201 2010-06-15  Bruno Haible  <bruno@clisp.org>
31202
31203         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
31204
31205 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
31206
31207         select: Correct timeout.
31208         * lib/select.c (rpl_select): Compute wait_timeout correctly.
31209
31210 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
31211
31212         git-version-gen: init shell var to avoid env var influence
31213         * build-aux/git-version-gen (v): Init shell var to empty.
31214
31215 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
31216
31217         priv-set: Don't assume that priv.h exists merely because getppriv does.
31218         See Jan Andersen's bug report about AIX 5L in
31219         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
31220         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
31221         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
31222         * lib/priv-set.h: Likewise.
31223         * tests/test-priv-set.c: Likewise.
31224
31225 2010-06-13  Bruno Haible  <bruno@clisp.org>
31226
31227         relocatable: Make it easier to test whether to install wrappers.
31228         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
31229         RELOCATABLE_VIA_WRAPPER.
31230
31231 2010-06-13  Bruno Haible  <bruno@clisp.org>
31232
31233         gnulib-tool: Display specified modules and dependencies differently.
31234         * gnulib-tool (func_show_module_list): New function.
31235         (func_import, func_create_testdir): Invoke it.
31236         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
31237
31238 2010-06-13  Bruno Haible  <bruno@clisp.org>
31239
31240         gnulib-tool: Align code of func_import and func_create_testdir.
31241         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
31242         specified_modules.
31243
31244 2010-06-12  Jim Meyering  <meyering@redhat.com>
31245
31246         test-inttostr: avoid spurious failure on Solaris 9
31247         * tests/test-inttostr.c (main): Skip the test when snprintf fails
31248         to accept "%ju".  Reported by Bruno Haible.
31249
31250 2010-06-11  Jim Meyering  <meyering@redhat.com>
31251
31252         test-sys_socket: mark variables as used more readably
31253         * tests/test-sys_socket.c (main): Mark otherwise unused variables
31254         as "used" explicitly via (void) statement casts.  This is more
31255         readable than using them in an artificial return expression.
31256         Suggestion from Bruno Haible.
31257
31258 2010-06-11  Bruno Haible  <bruno@clisp.org>
31259
31260         Avoid some more warnings from "gcc -Wwrite-strings".
31261         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
31262         to 'const char *'.
31263         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
31264         * tests/test-c-strcasestr.c (main): Likewise.
31265         * tests/test-mbscasestr1.c (main): Likewise.
31266         * tests/test-mbscasestr2.c (main): Likewise.
31267         * tests/test-memmem.c (main): Likewise.
31268         * tests/test-strstr.c (main): Likewise.
31269         * tests/test-strcasestr.c (main): Likewise.
31270
31271 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31272
31273         init.sh: change framework_failure_ to fail with status 99, not 1
31274         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
31275         automake's parallel-tests rule that this is an unexpected failure,
31276         even if the test is listed in XFAIL_TESTS.
31277
31278 2010-06-11  Jim Meyering  <meyering@redhat.com>
31279
31280         test-inttostr: avoid warnings about 4-6KB literal strings
31281         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
31282         Include "macros.h", for its definition of ASSERT.
31283         (CK): s/assert/ASSERT/
31284         * modules/inttostr-tests (Files): Add macros.h.
31285
31286         init.sh: don't use $ME_ or skip_ before they are defined
31287         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
31288         their first uses.  Also hoist their companions: warn_, fail_,
31289         framework_failure_, $stderr_fileno.  Prompted by a patch from
31290         Stefano Lattarini.
31291
31292         test-sys_socket: avoid set-but-not-used warnings from gcc
31293         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
31294         avoid warning about set-but-not-used variables.
31295
31296         test-xvasprintf: avoid 'const' discard warnings
31297         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
31298         "const" when assigning from literal strings.
31299         (test_xasprintf): Add "void" in function argument list to placate
31300         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
31301
31302         tests: avoid compilation warnings in argmatch and exclude tests...
31303         in packages that define ARGMATCH_DIE_DECL, like coreutils.
31304         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
31305         Since it always exits, declare with the "noreturn" attribute.
31306         * tests/test-argmatch.c: Likewise.
31307
31308         tests: avoid 'const' discard warnings in mbsstr tests
31309         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
31310         * tests/test-mbsstr2.c (main): Likewise.
31311
31312         test-verify: avoid warning from gcc's -Wmissing-declarations
31313         * tests/test-verify.c (function): Declare to be static.
31314
31315         test-inttostr.c: include <string.h> for use of strcmp
31316         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
31317
31318         test-linkat: avoid failed assertion on "other" architectures
31319         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
31320         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
31321         sparc: https://bugs.launchpad.net/bugs/591968
31322
31323 2010-06-11  Jim Meyering  <meyering@redhat.com>
31324
31325         printf.m4: avoid autoconf's "Expanded Before Required" warning
31326         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
31327         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
31328         autoconf warning.
31329
31330 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
31331
31332         Replacement header templates are now named with ".in", not "_".
31333         * doc/gnulib-intro.texi: Correct.
31334
31335 2010-06-10  Jim Meyering  <meyering@redhat.com>
31336
31337         inttostr-tests: depend on snprintf, not snprintf-posix
31338         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
31339         snprintf-posix, to avoid this aclocal failure:
31340           missing file gnulib-tests/vasnprintf.c
31341           configure.ac:45: error: expected source file, required through \
31342           AC_LIBSOURCES, not found
31343
31344 2010-06-10  Jim Meyering  <meyering@redhat.com>
31345
31346         inttostr: add a new function, inttostr, and tests
31347         The namesake function was not available.  The existence of the
31348         template file, inttostr.c makes its addition nontrivial.
31349         * lib/anytostr.c: Rename from inttostr.c.
31350         (anytostr): Rename from inttostr.
31351         * lib/inttostr.c: New file.
31352         * modules/inttostr (Files): Add anytostr.c.
31353         (Makefile.am): Set lib_SOURCES instead of ...
31354         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
31355         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
31356         * lib/offtostr.c: Likewise.
31357         * lib/uinttostr.c: Likewise.
31358         * lib/umaxtostr.c: Likewise.
31359         * modules/inttostr-tests: New file.
31360         * tests/test-inttostr.c: New file.  Test these functions.
31361
31362 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
31363             Bruno Haible  <bruno@clisp.org>
31364
31365         Add "Extending Gnulib" chapter to manual.
31366         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
31367         chapter.
31368         (Extending Gnulib): New chapter.
31369         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
31370         chapter.
31371
31372 2010-06-09  Bruno Haible  <bruno@clisp.org>
31373
31374         Avoid relocwrapper link errors due to gnulib replacement functions.
31375         * lib/areadlink.c: Use the system's malloc, realloc functions.
31376         (areadlink): Set errno to ENOMEM explicitly.
31377         * modules/areadlink (Depends-on): Remove malloc-posix.
31378         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31379
31380 2010-06-09  Bruno Haible  <bruno@clisp.org>
31381
31382         Avoid relocwrapper link errors due to gnulib replacement functions.
31383         * lib/canonicalize-lgpl.c: Use the system's malloc function.
31384         * lib/malloca.c: Likewise.
31385         * lib/relocatable.c: Likewise.
31386         * lib/progreloc.c: Use the system's malloc, sprintf functions.
31387         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
31388         * lib/setenv.c: Use the system's malloc, realloc functions.
31389         * lib/strerror.c: Use the system's sprintf function.
31390         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31391
31392 2010-06-04  Bruno Haible  <bruno@clisp.org>
31393
31394         Prefer documented low-level autoconf macro names.
31395         * m4/lib-link.m4: Use m4_translit instead of translit.
31396         * m4/environ.m4: Likewise.
31397         * m4/mathfunc.m4: Likewise.
31398         * m4/onceonly.m4: Likewise.
31399         * m4/stdint.m4: Likewise.
31400         Suggested by Eric Blake.
31401
31402 2010-06-04  Martin Lambers  <marlam@marlam.de>
31403             Bruno Haible  <bruno@clisp.org>
31404
31405         havelib: Allow library names with '+' characters.
31406         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
31407         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
31408
31409 2010-06-09  Bruno Haible  <bruno@clisp.org>
31410
31411         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
31412         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
31413         realloc failed.
31414
31415 2010-06-08  Peter Simons  <simons@cryp.to>
31416
31417         maint.mk: make the news-check rule more configurable
31418         * top/maint.mk (news-check-lines-spec): New variable.
31419         (news-check): Use "sed -n 1,10p" in place of "head".
31420
31421 2010-06-07  Jim Meyering  <meyering@redhat.com>
31422
31423         do-release-commit-and-tag: fix typo in --help
31424         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
31425
31426         regex: avoid new dead-code warning with gcc-4.6.0
31427         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
31428         if-block containing a while-loop.  It's been unused for at least
31429         5 years.
31430
31431 2010-06-05  Bruno Haible  <bruno@clisp.org>
31432
31433         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
31434         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
31435
31436 2010-06-04  Bruno Haible  <bruno@clisp.org>
31437
31438         Update to GNU gettext 0.18.1.
31439         * modules/gettext (configure.ac): Require gettext infrastructure from
31440         version 0.18.1.
31441
31442 2010-06-03  Bruno Haible  <bruno@clisp.org>
31443
31444         Don't use AC_LIBOBJ with file names in subdirectories.
31445         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
31446         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
31447         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
31448         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
31449         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
31450         gl_LIBUNISTRING_LIBSOURCE.
31451         (Makefile.am): Augment lib_SOURCES here, conditionally.
31452         * NEWS: Drop requirement for Automake option 'subdir-objects'.
31453
31454 2010-06-03  Bruno Haible  <bruno@clisp.org>
31455
31456         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
31457         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
31458         expansion does not end with a newline.
31459         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
31460         unnecessary newline.
31461
31462 2010-06-03  Bruno Haible  <bruno@clisp.org>
31463
31464         Reduce dependencies.
31465         * tests/test-quotearg.h: New file, extracted from
31466         tests/test-quotearg.c.
31467         * tests/test-quotearg-simple.c: New file, extracted from
31468         tests/test-quotearg.c.
31469         * tests/test-quotearg.c: Don't include <ctype.h>.
31470         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
31471         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
31472         use_quote_double_quotes, use_quotearg_colon): Moved to
31473         tests/test-quotearg.h.
31474         (results_g, flag_results, custom_quotes, custom_results): Moved
31475         to tests/test-quotearg-simple.c.
31476         (main): Moved the part that does not depend on gettext to
31477         tests/test-quotearg-simple.c. Return 77 if the test cannot be
31478         performed.
31479         * modules/quotearg-simple: New file.
31480         * modules/quotearg-simple-tests: New file.
31481         * modules/quotearg (Depends-on): Add quotearg-simple.
31482         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
31483         (Files): Add tests/test-quotearg.h.
31484         Reported by Paolo Bonzini.
31485
31486 2010-06-03  Bruno Haible  <bruno@clisp.org>
31487
31488         Reduce dependencies.
31489         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
31490
31491 2010-06-03  Bruno Haible  <bruno@clisp.org>
31492
31493         time: Undefine more broken macros.
31494         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
31495         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
31496         Reported by Eric Blake.
31497
31498 2010-06-03  Bruno Haible  <bruno@clisp.org>
31499
31500         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
31501         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
31502         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
31503         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
31504         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
31505         Reported by Ludovic Courtès <ludo@gnu.org>.
31506
31507 2010-06-02  Eric Blake  <eblake@redhat.com>
31508
31509         time: work with mingw + pthreads-win32 library
31510         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
31511         if timespec is defined only in pthread.h.
31512         * modules/time (Makefile.am): Substitute it.
31513         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
31514         <pthread.h>, when needed.
31515         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
31516         from the library.
31517
31518 2010-05-31  Bruno Haible  <bruno@clisp.org>
31519
31520         Avoid expanding two macros in the wrong order.
31521         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
31522         gl_LIBUNISTRING if it is defined.
31523         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
31524         autoconf >= 2.64.
31525         Reported by Ludovic Courtès <ludo@gnu.org>.
31526
31527 2010-05-27  Jim Meyering  <meyering@redhat.com>
31528
31529         maint.mk: also prohibit "#undef" of always-defined symbols
31530         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
31531         Allow more than one space before the symbol name.
31532         (sc_prohibit_always-defined_macros): Use grep's -E, now that
31533         the regexp uses alternation.
31534
31535 2010-05-26  Eric Blake  <eblake@redhat.com>
31536
31537         maint.mk: avoid echo -e
31538         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
31539         Convert all uses of echo -* to printf.
31540         Reported by Matthias Bolte.
31541
31542 2010-05-25  Bruno Haible  <bruno@clisp.org>
31543
31544         Update to GNU gettext 0.18, part 2.
31545         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
31546         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
31547
31548 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31549
31550         Add missing include in test-pwrite.c.
31551         * tests/test-pwrite.c: Include string.h, for strcmp.
31552
31553 2010-05-24  Bruno Haible  <bruno@clisp.org>
31554
31555         * NEWS: Mention requirement for Automake option 'subdir-objects'.
31556
31557 2010-05-24  Bruno Haible  <bruno@clisp.org>
31558
31559         Don't use conversion with transliteration in u{8,16,32}_strcoll.
31560         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
31561         iconveh_error argument.
31562         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
31563         U_STRCONV_TO_LOCALE.
31564         * lib/unistr/u16-strcoll.c: Likewise.
31565         * lib/unistr/u32-strcoll.c: Likewise.
31566         * modules/unistr/u8-strcoll (Depends-on): Add
31567         uniconv/u8-strconv-to-enc, localcharset. Remove
31568         uniconv/u8-strconv-to-locale.
31569         (configure.ac): Bump version number.
31570         * modules/unistr/u16-strcoll (Depends-on): Add
31571         uniconv/u16-strconv-to-enc, localcharset. Remove
31572         uniconv/u16-strconv-to-locale.
31573         (configure.ac): Bump version number.
31574         * modules/unistr/u32-strcoll (Depends-on): Add
31575         uniconv/u32-strconv-to-enc, localcharset. Remove
31576         uniconv/u32-strconv-to-locale.
31577         (configure.ac): Bump version number.
31578
31579 2010-05-24  Bruno Haible  <bruno@clisp.org>
31580
31581         Avoid a test failure on NetBSD 5.0.
31582         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
31583         an iconv() bug.
31584
31585 2010-05-24  Bruno Haible  <bruno@clisp.org>
31586
31587         Adjust #include directive style.
31588         * modules/regex (Includes): Recommend to write <regex.h>.
31589
31590 2010-05-24  Bruno Haible  <bruno@clisp.org>
31591
31592         regex: Don't require alloca.
31593         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
31594         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
31595         only inside if (0).
31596
31597 2010-05-23  Jim Meyering  <meyering@redhat.com>
31598
31599         test-renameat.c: include <sys/stat.h>
31600         * tests/test-renameat.c: Include <sys/stat.h>; required for
31601         definition of S_IS* macros.
31602
31603 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
31604
31605         Update maintainer documentation for 'relocatable-prog' module.
31606         * doc/relocatable-maint.texi: Update.
31607         Comments by Bruno Haible.
31608
31609 2010-05-23  Bruno Haible  <bruno@clisp.org>
31610
31611         git-merge-changelog: Enable --split-merged-entry by default.
31612         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
31613         (usage): Don't mention this option any more.
31614         Reported by Ralf Wildenhues.
31615
31616 2010-05-23  Jim Meyering  <meyering@redhat.com>
31617
31618         test-pwrite: do not leave behind a test file named "out"
31619         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
31620         The trivial-looking use of init.sh is really necessary.
31621         It ensures that the temporary file, "out", is created in
31622         a temporary directory, and removed upon termination.
31623         * tests/test-pwrite.sh: Re-add file.
31624         * modules/pwrite-tests: Reference it.
31625
31626 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31627
31628         Fix output redirection buglet in init.sh.
31629         * tests/init.sh: Fix redirection of stderr.
31630
31631 2010-05-20  Simon Josefsson  <simon@josefsson.org>
31632
31633         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
31634
31635 2010-05-17  Simon Josefsson  <simon@josefsson.org>
31636
31637         * modules/valgrind-tests: New file.
31638         * m4/valgrind-tests.m4: New file.
31639         * doc/valgrind-tests.texi: New file.
31640         * doc/gnulib.texi (Running self-tests under valgrind): New
31641         section.
31642
31643 2010-05-19  Bruno Haible  <bruno@clisp.org>
31644
31645         Clean up dead code in recent commit.
31646         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
31647         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
31648         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
31649         Suggested by Paolo Bonzini.
31650
31651 2010-05-19  Bruno Haible  <bruno@clisp.org>
31652
31653         Avoid valgrind error reports from libunistring.
31654         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
31655         * modules/libunistring (Files): Add it.
31656         * modules/libunistring-optional (Files): Likewise.
31657
31658 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
31659             Bruno Haible  <bruno@clisp.org>
31660
31661         New module 'libunistring-optional'.
31662         * modules/libunistring-optional: New file.
31663         * m4/libunistring-base.m4: New file.
31664         * m4/libunistring-optional.m4: New file.
31665         * lib/unicase.in.h: Renamed from lib/unicase.h.
31666         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
31667         * lib/unictype.in.h: Renamed from lib/unictype.h.
31668         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
31669         * lib/uniname.in.h: Renamed from lib/uniname.h.
31670         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
31671         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
31672         * lib/unistr.in.h: Renamed from lib/unistr.h.
31673         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
31674         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
31675         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
31676         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
31677         gl_LIBUNISTRING. If the library was found, determine the installed
31678         version and set LIBUNISTRING_VERSION.
31679         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
31680         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
31681         handle a configuration option --with-included-libunistring.
31682         * modules/libunistring (Files): Add m4/absolute-header.m4.
31683         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
31684         Add m4/libunistring-base.m4.
31685         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31686         (Makefile.am): Build unicase.h from unicase.in.h.
31687         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
31688         Add m4/libunistring-base.m4.
31689         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31690         (Makefile.am): Build uniconv.h from uniconv.in.h.
31691         * modules/unictype/base (Files): Use unictype.in.h instead of
31692         unictype.h. Add m4/libunistring-base.m4.
31693         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31694         (Makefile.am): Build unictype.h from unictype.in.h.
31695         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
31696         Add m4/libunistring-base.m4.
31697         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31698         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
31699         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
31700         Add m4/libunistring-base.m4.
31701         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31702         (Makefile.am): Build uniname.h from uniname.in.h.
31703         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
31704         Add m4/libunistring-base.m4.
31705         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31706         (Makefile.am): Build uninorm.h from uninorm.in.h.
31707         * modules/unistdio/base (Files): Use unistdio.in.h instead of
31708         unistdio.h. Add m4/libunistring-base.m4.
31709         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31710         (Makefile.am): Build unistdio.h from unistdio.in.h.
31711         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
31712         Add m4/libunistring-base.m4.
31713         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31714         (Makefile.am): Build unistr.h from unistr.in.h.
31715         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
31716         Add m4/libunistring-base.m4.
31717         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31718         (Makefile.am): Build unitypes.h from unitypes.in.h.
31719         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
31720         Add m4/libunistring-base.m4.
31721         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31722         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
31723         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
31724         uniwidth.h. Add m4/libunistring-base.m4.
31725         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31726         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
31727         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
31728         instead of augmenting lib_SOURCES.
31729         * modules/unicase/empty-suffix-context: Likewise.
31730         * modules/unicase/locale-language: Likewise.
31731         * modules/unicase/tolower: Likewise.
31732         * modules/unicase/totitle: Likewise.
31733         * modules/unicase/toupper: Likewise.
31734         * modules/unicase/u8-casecmp: Likewise.
31735         * modules/unicase/u8-casecoll: Likewise.
31736         * modules/unicase/u8-casefold: Likewise.
31737         * modules/unicase/u8-casexfrm: Likewise.
31738         * modules/unicase/u8-ct-casefold: Likewise.
31739         * modules/unicase/u8-ct-tolower: Likewise.
31740         * modules/unicase/u8-ct-totitle: Likewise.
31741         * modules/unicase/u8-ct-toupper: Likewise.
31742         * modules/unicase/u8-is-cased: Likewise.
31743         * modules/unicase/u8-is-casefolded: Likewise.
31744         * modules/unicase/u8-is-lowercase: Likewise.
31745         * modules/unicase/u8-is-titlecase: Likewise.
31746         * modules/unicase/u8-is-uppercase: Likewise.
31747         * modules/unicase/u8-prefix-context: Likewise.
31748         * modules/unicase/u8-suffix-context: Likewise.
31749         * modules/unicase/u8-tolower: Likewise.
31750         * modules/unicase/u8-totitle: Likewise.
31751         * modules/unicase/u8-toupper: Likewise.
31752         * modules/unicase/u16-casecmp: Likewise.
31753         * modules/unicase/u16-casecoll: Likewise.
31754         * modules/unicase/u16-casefold: Likewise.
31755         * modules/unicase/u16-casexfrm: Likewise.
31756         * modules/unicase/u16-ct-casefold: Likewise.
31757         * modules/unicase/u16-ct-tolower: Likewise.
31758         * modules/unicase/u16-ct-totitle: Likewise.
31759         * modules/unicase/u16-ct-toupper: Likewise.
31760         * modules/unicase/u16-is-cased: Likewise.
31761         * modules/unicase/u16-is-casefolded: Likewise.
31762         * modules/unicase/u16-is-lowercase: Likewise.
31763         * modules/unicase/u16-is-titlecase: Likewise.
31764         * modules/unicase/u16-is-uppercase: Likewise.
31765         * modules/unicase/u16-prefix-context: Likewise.
31766         * modules/unicase/u16-suffix-context: Likewise.
31767         * modules/unicase/u16-tolower: Likewise.
31768         * modules/unicase/u16-totitle: Likewise.
31769         * modules/unicase/u16-toupper: Likewise.
31770         * modules/unicase/u32-casecmp: Likewise.
31771         * modules/unicase/u32-casecoll: Likewise.
31772         * modules/unicase/u32-casefold: Likewise.
31773         * modules/unicase/u32-casexfrm: Likewise.
31774         * modules/unicase/u32-ct-casefold: Likewise.
31775         * modules/unicase/u32-ct-tolower: Likewise.
31776         * modules/unicase/u32-ct-totitle: Likewise.
31777         * modules/unicase/u32-ct-toupper: Likewise.
31778         * modules/unicase/u32-is-cased: Likewise.
31779         * modules/unicase/u32-is-casefolded: Likewise.
31780         * modules/unicase/u32-is-lowercase: Likewise.
31781         * modules/unicase/u32-is-titlecase: Likewise.
31782         * modules/unicase/u32-is-uppercase: Likewise.
31783         * modules/unicase/u32-prefix-context: Likewise.
31784         * modules/unicase/u32-suffix-context: Likewise.
31785         * modules/unicase/u32-tolower: Likewise.
31786         * modules/unicase/u32-totitle: Likewise.
31787         * modules/unicase/u32-toupper: Likewise.
31788         * modules/unicase/ulc-casecmp: Likewise.
31789         * modules/unicase/ulc-casecoll: Likewise.
31790         * modules/unicase/ulc-casexfrm: Likewise.
31791         * modules/uniconv/u8-conv-from-enc: Likewise.
31792         * modules/uniconv/u8-conv-to-enc: Likewise.
31793         * modules/uniconv/u8-strconv-from-enc: Likewise.
31794         * modules/uniconv/u8-strconv-from-locale: Likewise.
31795         * modules/uniconv/u8-strconv-to-enc: Likewise.
31796         * modules/uniconv/u8-strconv-to-locale: Likewise.
31797         * modules/uniconv/u16-conv-from-enc: Likewise.
31798         * modules/uniconv/u16-conv-to-enc: Likewise.
31799         * modules/uniconv/u16-strconv-from-enc: Likewise.
31800         * modules/uniconv/u16-strconv-from-locale: Likewise.
31801         * modules/uniconv/u16-strconv-to-enc: Likewise.
31802         * modules/uniconv/u16-strconv-to-locale: Likewise.
31803         * modules/uniconv/u32-conv-from-enc: Likewise.
31804         * modules/uniconv/u32-conv-to-enc: Likewise.
31805         * modules/uniconv/u32-strconv-from-enc: Likewise.
31806         * modules/uniconv/u32-strconv-from-locale: Likewise.
31807         * modules/uniconv/u32-strconv-to-enc: Likewise.
31808         * modules/uniconv/u32-strconv-to-locale: Likewise.
31809         * modules/unictype/bidicategory-byname: Likewise.
31810         * modules/unictype/bidicategory-name: Likewise.
31811         * modules/unictype/bidicategory-of: Likewise.
31812         * modules/unictype/bidicategory-test: Likewise.
31813         * modules/unictype/block-list: Likewise.
31814         * modules/unictype/block-test: Likewise.
31815         * modules/unictype/category-C: Likewise.
31816         * modules/unictype/category-Cc: Likewise.
31817         * modules/unictype/category-Cf: Likewise.
31818         * modules/unictype/category-Cn: Likewise.
31819         * modules/unictype/category-Co: Likewise.
31820         * modules/unictype/category-Cs: Likewise.
31821         * modules/unictype/category-L: Likewise.
31822         * modules/unictype/category-Ll: Likewise.
31823         * modules/unictype/category-Lm: Likewise.
31824         * modules/unictype/category-Lo: Likewise.
31825         * modules/unictype/category-Lt: Likewise.
31826         * modules/unictype/category-Lu: Likewise.
31827         * modules/unictype/category-M: Likewise.
31828         * modules/unictype/category-Mc: Likewise.
31829         * modules/unictype/category-Me: Likewise.
31830         * modules/unictype/category-Mn: Likewise.
31831         * modules/unictype/category-N: Likewise.
31832         * modules/unictype/category-Nd: Likewise.
31833         * modules/unictype/category-Nl: Likewise.
31834         * modules/unictype/category-No: Likewise.
31835         * modules/unictype/category-P: Likewise.
31836         * modules/unictype/category-Pc: Likewise.
31837         * modules/unictype/category-Pd: Likewise.
31838         * modules/unictype/category-Pe: Likewise.
31839         * modules/unictype/category-Pf: Likewise.
31840         * modules/unictype/category-Pi: Likewise.
31841         * modules/unictype/category-Po: Likewise.
31842         * modules/unictype/category-Ps: Likewise.
31843         * modules/unictype/category-S: Likewise.
31844         * modules/unictype/category-Sc: Likewise.
31845         * modules/unictype/category-Sk: Likewise.
31846         * modules/unictype/category-Sm: Likewise.
31847         * modules/unictype/category-So: Likewise.
31848         * modules/unictype/category-Z: Likewise.
31849         * modules/unictype/category-Zl: Likewise.
31850         * modules/unictype/category-Zp: Likewise.
31851         * modules/unictype/category-Zs: Likewise.
31852         * modules/unictype/category-and: Likewise.
31853         * modules/unictype/category-and-not: Likewise.
31854         * modules/unictype/category-byname: Likewise.
31855         * modules/unictype/category-name: Likewise.
31856         * modules/unictype/category-none: Likewise.
31857         * modules/unictype/category-of: Likewise.
31858         * modules/unictype/category-or: Likewise.
31859         * modules/unictype/category-test: Likewise.
31860         * modules/unictype/combining-class: Likewise.
31861         * modules/unictype/ctype-alnum: Likewise.
31862         * modules/unictype/ctype-alpha: Likewise.
31863         * modules/unictype/ctype-blank: Likewise.
31864         * modules/unictype/ctype-cntrl: Likewise.
31865         * modules/unictype/ctype-digit: Likewise.
31866         * modules/unictype/ctype-graph: Likewise.
31867         * modules/unictype/ctype-lower: Likewise.
31868         * modules/unictype/ctype-print: Likewise.
31869         * modules/unictype/ctype-punct: Likewise.
31870         * modules/unictype/ctype-space: Likewise.
31871         * modules/unictype/ctype-upper: Likewise.
31872         * modules/unictype/ctype-xdigit: Likewise.
31873         * modules/unictype/decimal-digit: Likewise.
31874         * modules/unictype/digit: Likewise.
31875         * modules/unictype/mirror: Likewise.
31876         * modules/unictype/numeric: Likewise.
31877         * modules/unictype/property-alphabetic: Likewise.
31878         * modules/unictype/property-ascii-hex-digit: Likewise.
31879         * modules/unictype/property-bidi-arabic-digit: Likewise.
31880         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
31881         * modules/unictype/property-bidi-block-separator: Likewise.
31882         * modules/unictype/property-bidi-boundary-neutral: Likewise.
31883         * modules/unictype/property-bidi-common-separator: Likewise.
31884         * modules/unictype/property-bidi-control: Likewise.
31885         * modules/unictype/property-bidi-embedding-or-override: Likewise.
31886         * modules/unictype/property-bidi-eur-num-separator: Likewise.
31887         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
31888         * modules/unictype/property-bidi-european-digit: Likewise.
31889         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
31890         * modules/unictype/property-bidi-left-to-right: Likewise.
31891         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
31892         * modules/unictype/property-bidi-other-neutral: Likewise.
31893         * modules/unictype/property-bidi-pdf: Likewise.
31894         * modules/unictype/property-bidi-segment-separator: Likewise.
31895         * modules/unictype/property-bidi-whitespace: Likewise.
31896         * modules/unictype/property-byname: Likewise.
31897         * modules/unictype/property-combining: Likewise.
31898         * modules/unictype/property-composite: Likewise.
31899         * modules/unictype/property-currency-symbol: Likewise.
31900         * modules/unictype/property-dash: Likewise.
31901         * modules/unictype/property-decimal-digit: Likewise.
31902         * modules/unictype/property-default-ignorable-code-point: Likewise.
31903         * modules/unictype/property-deprecated: Likewise.
31904         * modules/unictype/property-diacritic: Likewise.
31905         * modules/unictype/property-extender: Likewise.
31906         * modules/unictype/property-format-control: Likewise.
31907         * modules/unictype/property-grapheme-base: Likewise.
31908         * modules/unictype/property-grapheme-extend: Likewise.
31909         * modules/unictype/property-grapheme-link: Likewise.
31910         * modules/unictype/property-hex-digit: Likewise.
31911         * modules/unictype/property-hyphen: Likewise.
31912         * modules/unictype/property-id-continue: Likewise.
31913         * modules/unictype/property-id-start: Likewise.
31914         * modules/unictype/property-ideographic: Likewise.
31915         * modules/unictype/property-ids-binary-operator: Likewise.
31916         * modules/unictype/property-ids-trinary-operator: Likewise.
31917         * modules/unictype/property-ignorable-control: Likewise.
31918         * modules/unictype/property-iso-control: Likewise.
31919         * modules/unictype/property-join-control: Likewise.
31920         * modules/unictype/property-left-of-pair: Likewise.
31921         * modules/unictype/property-line-separator: Likewise.
31922         * modules/unictype/property-logical-order-exception: Likewise.
31923         * modules/unictype/property-lowercase: Likewise.
31924         * modules/unictype/property-math: Likewise.
31925         * modules/unictype/property-non-break: Likewise.
31926         * modules/unictype/property-not-a-character: Likewise.
31927         * modules/unictype/property-numeric: Likewise.
31928         * modules/unictype/property-other-alphabetic: Likewise.
31929         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
31930         * modules/unictype/property-other-grapheme-extend: Likewise.
31931         * modules/unictype/property-other-id-continue: Likewise.
31932         * modules/unictype/property-other-id-start: Likewise.
31933         * modules/unictype/property-other-lowercase: Likewise.
31934         * modules/unictype/property-other-math: Likewise.
31935         * modules/unictype/property-other-uppercase: Likewise.
31936         * modules/unictype/property-paired-punctuation: Likewise.
31937         * modules/unictype/property-paragraph-separator: Likewise.
31938         * modules/unictype/property-pattern-syntax: Likewise.
31939         * modules/unictype/property-pattern-white-space: Likewise.
31940         * modules/unictype/property-private-use: Likewise.
31941         * modules/unictype/property-punctuation: Likewise.
31942         * modules/unictype/property-quotation-mark: Likewise.
31943         * modules/unictype/property-radical: Likewise.
31944         * modules/unictype/property-sentence-terminal: Likewise.
31945         * modules/unictype/property-soft-dotted: Likewise.
31946         * modules/unictype/property-space: Likewise.
31947         * modules/unictype/property-terminal-punctuation: Likewise.
31948         * modules/unictype/property-test: Likewise.
31949         * modules/unictype/property-titlecase: Likewise.
31950         * modules/unictype/property-unassigned-code-value: Likewise.
31951         * modules/unictype/property-unified-ideograph: Likewise.
31952         * modules/unictype/property-uppercase: Likewise.
31953         * modules/unictype/property-variation-selector: Likewise.
31954         * modules/unictype/property-white-space: Likewise.
31955         * modules/unictype/property-xid-continue: Likewise.
31956         * modules/unictype/property-xid-start: Likewise.
31957         * modules/unictype/property-zero-width: Likewise.
31958         * modules/unictype/scripts: Likewise.
31959         * modules/unictype/syntax-c-ident: Likewise.
31960         * modules/unictype/syntax-c-whitespace: Likewise.
31961         * modules/unictype/syntax-java-ident: Likewise.
31962         * modules/unictype/syntax-java-whitespace: Likewise.
31963         * modules/unilbrk/u8-possible-linebreaks: Likewise.
31964         * modules/unilbrk/u8-width-linebreaks: Likewise.
31965         * modules/unilbrk/u16-possible-linebreaks: Likewise.
31966         * modules/unilbrk/u16-width-linebreaks: Likewise.
31967         * modules/unilbrk/u32-possible-linebreaks: Likewise.
31968         * modules/unilbrk/u32-width-linebreaks: Likewise.
31969         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
31970         * modules/unilbrk/ulc-width-linebreaks: Likewise.
31971         * modules/uniname/uniname: Likewise.
31972         * modules/uninorm/canonical-decomposition: Likewise.
31973         * modules/uninorm/composition: Likewise.
31974         * modules/uninorm/decomposing-form: Likewise.
31975         * modules/uninorm/decomposition: Likewise.
31976         * modules/uninorm/filter: Likewise.
31977         * modules/uninorm/nfc: Likewise.
31978         * modules/uninorm/nfd: Likewise.
31979         * modules/uninorm/nfkc: Likewise.
31980         * modules/uninorm/nfkd: Likewise.
31981         * modules/uninorm/u8-normalize: Likewise.
31982         * modules/uninorm/u8-normcmp: Likewise.
31983         * modules/uninorm/u8-normcoll: Likewise.
31984         * modules/uninorm/u8-normxfrm: Likewise.
31985         * modules/uninorm/u16-normalize: Likewise.
31986         * modules/uninorm/u16-normcmp: Likewise.
31987         * modules/uninorm/u16-normcoll: Likewise.
31988         * modules/uninorm/u16-normxfrm: Likewise.
31989         * modules/uninorm/u32-normalize: Likewise.
31990         * modules/uninorm/u32-normcmp: Likewise.
31991         * modules/uninorm/u32-normcoll: Likewise.
31992         * modules/uninorm/u32-normxfrm: Likewise.
31993         * modules/unistdio/u8-asnprintf: Likewise.
31994         * modules/unistdio/u8-asprintf: Likewise.
31995         * modules/unistdio/u8-snprintf: Likewise.
31996         * modules/unistdio/u8-sprintf: Likewise.
31997         * modules/unistdio/u8-u8-asnprintf: Likewise.
31998         * modules/unistdio/u8-u8-asprintf: Likewise.
31999         * modules/unistdio/u8-u8-snprintf: Likewise.
32000         * modules/unistdio/u8-u8-sprintf: Likewise.
32001         * modules/unistdio/u8-u8-vasnprintf: Likewise.
32002         * modules/unistdio/u8-u8-vasprintf: Likewise.
32003         * modules/unistdio/u8-u8-vsnprintf: Likewise.
32004         * modules/unistdio/u8-u8-vsprintf: Likewise.
32005         * modules/unistdio/u8-vasnprintf: Likewise.
32006         * modules/unistdio/u8-vasprintf: Likewise.
32007         * modules/unistdio/u8-vsnprintf: Likewise.
32008         * modules/unistdio/u8-vsprintf: Likewise.
32009         * modules/unistdio/u16-asnprintf: Likewise.
32010         * modules/unistdio/u16-asprintf: Likewise.
32011         * modules/unistdio/u16-snprintf: Likewise.
32012         * modules/unistdio/u16-sprintf: Likewise.
32013         * modules/unistdio/u16-u16-asnprintf: Likewise.
32014         * modules/unistdio/u16-u16-asprintf: Likewise.
32015         * modules/unistdio/u16-u16-snprintf: Likewise.
32016         * modules/unistdio/u16-u16-sprintf: Likewise.
32017         * modules/unistdio/u16-u16-vasnprintf: Likewise.
32018         * modules/unistdio/u16-u16-vasprintf: Likewise.
32019         * modules/unistdio/u16-u16-vsnprintf: Likewise.
32020         * modules/unistdio/u16-u16-vsprintf: Likewise.
32021         * modules/unistdio/u16-vasnprintf: Likewise.
32022         * modules/unistdio/u16-vasprintf: Likewise.
32023         * modules/unistdio/u16-vsnprintf: Likewise.
32024         * modules/unistdio/u16-vsprintf: Likewise.
32025         * modules/unistdio/u32-asnprintf: Likewise.
32026         * modules/unistdio/u32-asprintf: Likewise.
32027         * modules/unistdio/u32-snprintf: Likewise.
32028         * modules/unistdio/u32-sprintf: Likewise.
32029         * modules/unistdio/u32-u32-asnprintf: Likewise.
32030         * modules/unistdio/u32-u32-asprintf: Likewise.
32031         * modules/unistdio/u32-u32-snprintf: Likewise.
32032         * modules/unistdio/u32-u32-sprintf: Likewise.
32033         * modules/unistdio/u32-u32-vasnprintf: Likewise.
32034         * modules/unistdio/u32-u32-vasprintf: Likewise.
32035         * modules/unistdio/u32-u32-vsnprintf: Likewise.
32036         * modules/unistdio/u32-u32-vsprintf: Likewise.
32037         * modules/unistdio/u32-vasnprintf: Likewise.
32038         * modules/unistdio/u32-vasprintf: Likewise.
32039         * modules/unistdio/u32-vsnprintf: Likewise.
32040         * modules/unistdio/u32-vsprintf: Likewise.
32041         * modules/unistdio/ulc-asnprintf: Likewise.
32042         * modules/unistdio/ulc-asprintf: Likewise.
32043         * modules/unistdio/ulc-fprintf: Likewise.
32044         * modules/unistdio/ulc-snprintf: Likewise.
32045         * modules/unistdio/ulc-sprintf: Likewise.
32046         * modules/unistdio/ulc-vasnprintf: Likewise.
32047         * modules/unistdio/ulc-vasprintf: Likewise.
32048         * modules/unistdio/ulc-vfprintf: Likewise.
32049         * modules/unistdio/ulc-vsnprintf: Likewise.
32050         * modules/unistdio/ulc-vsprintf: Likewise.
32051         * modules/unistr/u8-check: Likewise.
32052         * modules/unistr/u8-chr: Likewise.
32053         * modules/unistr/u8-cmp: Likewise.
32054         * modules/unistr/u8-cmp2: Likewise.
32055         * modules/unistr/u8-cpy: Likewise.
32056         * modules/unistr/u8-cpy-alloc: Likewise.
32057         * modules/unistr/u8-endswith: Likewise.
32058         * modules/unistr/u8-mblen: Likewise.
32059         * modules/unistr/u8-mbsnlen: Likewise.
32060         * modules/unistr/u8-mbtouc: Likewise.
32061         * modules/unistr/u8-mbtouc-unsafe: Likewise.
32062         * modules/unistr/u8-mbtoucr: Likewise.
32063         * modules/unistr/u8-move: Likewise.
32064         * modules/unistr/u8-next: Likewise.
32065         * modules/unistr/u8-prev: Likewise.
32066         * modules/unistr/u8-set: Likewise.
32067         * modules/unistr/u8-startswith: Likewise.
32068         * modules/unistr/u8-stpcpy: Likewise.
32069         * modules/unistr/u8-stpncpy: Likewise.
32070         * modules/unistr/u8-strcat: Likewise.
32071         * modules/unistr/u8-strchr: Likewise.
32072         * modules/unistr/u8-strcmp: Likewise.
32073         * modules/unistr/u8-strcoll: Likewise.
32074         * modules/unistr/u8-strcpy: Likewise.
32075         * modules/unistr/u8-strcspn: Likewise.
32076         * modules/unistr/u8-strdup: Likewise.
32077         * modules/unistr/u8-strlen: Likewise.
32078         * modules/unistr/u8-strmblen: Likewise.
32079         * modules/unistr/u8-strmbtouc: Likewise.
32080         * modules/unistr/u8-strncat: Likewise.
32081         * modules/unistr/u8-strncmp: Likewise.
32082         * modules/unistr/u8-strncpy: Likewise.
32083         * modules/unistr/u8-strnlen: Likewise.
32084         * modules/unistr/u8-strpbrk: Likewise.
32085         * modules/unistr/u8-strrchr: Likewise.
32086         * modules/unistr/u8-strspn: Likewise.
32087         * modules/unistr/u8-strstr: Likewise.
32088         * modules/unistr/u8-strtok: Likewise.
32089         * modules/unistr/u8-to-u16: Likewise.
32090         * modules/unistr/u8-to-u32: Likewise.
32091         * modules/unistr/u8-uctomb: Likewise.
32092         * modules/unistr/u16-check: Likewise.
32093         * modules/unistr/u16-chr: Likewise.
32094         * modules/unistr/u16-cmp: Likewise.
32095         * modules/unistr/u16-cmp2: Likewise.
32096         * modules/unistr/u16-cpy: Likewise.
32097         * modules/unistr/u16-cpy-alloc: Likewise.
32098         * modules/unistr/u16-endswith: Likewise.
32099         * modules/unistr/u16-mblen: Likewise.
32100         * modules/unistr/u16-mbsnlen: Likewise.
32101         * modules/unistr/u16-mbtouc: Likewise.
32102         * modules/unistr/u16-mbtouc-unsafe: Likewise.
32103         * modules/unistr/u16-mbtoucr: Likewise.
32104         * modules/unistr/u16-move: Likewise.
32105         * modules/unistr/u16-next: Likewise.
32106         * modules/unistr/u16-prev: Likewise.
32107         * modules/unistr/u16-set: Likewise.
32108         * modules/unistr/u16-startswith: Likewise.
32109         * modules/unistr/u16-stpcpy: Likewise.
32110         * modules/unistr/u16-stpncpy: Likewise.
32111         * modules/unistr/u16-strcat: Likewise.
32112         * modules/unistr/u16-strchr: Likewise.
32113         * modules/unistr/u16-strcmp: Likewise.
32114         * modules/unistr/u16-strcoll: Likewise.
32115         * modules/unistr/u16-strcpy: Likewise.
32116         * modules/unistr/u16-strcspn: Likewise.
32117         * modules/unistr/u16-strdup: Likewise.
32118         * modules/unistr/u16-strlen: Likewise.
32119         * modules/unistr/u16-strmblen: Likewise.
32120         * modules/unistr/u16-strmbtouc: Likewise.
32121         * modules/unistr/u16-strncat: Likewise.
32122         * modules/unistr/u16-strncmp: Likewise.
32123         * modules/unistr/u16-strncpy: Likewise.
32124         * modules/unistr/u16-strnlen: Likewise.
32125         * modules/unistr/u16-strpbrk: Likewise.
32126         * modules/unistr/u16-strrchr: Likewise.
32127         * modules/unistr/u16-strspn: Likewise.
32128         * modules/unistr/u16-strstr: Likewise.
32129         * modules/unistr/u16-strtok: Likewise.
32130         * modules/unistr/u16-to-u32: Likewise.
32131         * modules/unistr/u16-to-u8: Likewise.
32132         * modules/unistr/u16-uctomb: Likewise.
32133         * modules/unistr/u32-check: Likewise.
32134         * modules/unistr/u32-chr: Likewise.
32135         * modules/unistr/u32-cmp: Likewise.
32136         * modules/unistr/u32-cmp2: Likewise.
32137         * modules/unistr/u32-cpy: Likewise.
32138         * modules/unistr/u32-cpy-alloc: Likewise.
32139         * modules/unistr/u32-endswith: Likewise.
32140         * modules/unistr/u32-mblen: Likewise.
32141         * modules/unistr/u32-mbsnlen: Likewise.
32142         * modules/unistr/u32-mbtouc: Likewise.
32143         * modules/unistr/u32-mbtouc-unsafe: Likewise.
32144         * modules/unistr/u32-mbtoucr: Likewise.
32145         * modules/unistr/u32-move: Likewise.
32146         * modules/unistr/u32-next: Likewise.
32147         * modules/unistr/u32-prev: Likewise.
32148         * modules/unistr/u32-set: Likewise.
32149         * modules/unistr/u32-startswith: Likewise.
32150         * modules/unistr/u32-stpcpy: Likewise.
32151         * modules/unistr/u32-stpncpy: Likewise.
32152         * modules/unistr/u32-strcat: Likewise.
32153         * modules/unistr/u32-strchr: Likewise.
32154         * modules/unistr/u32-strcmp: Likewise.
32155         * modules/unistr/u32-strcoll: Likewise.
32156         * modules/unistr/u32-strcpy: Likewise.
32157         * modules/unistr/u32-strcspn: Likewise.
32158         * modules/unistr/u32-strdup: Likewise.
32159         * modules/unistr/u32-strlen: Likewise.
32160         * modules/unistr/u32-strmblen: Likewise.
32161         * modules/unistr/u32-strmbtouc: Likewise.
32162         * modules/unistr/u32-strncat: Likewise.
32163         * modules/unistr/u32-strncmp: Likewise.
32164         * modules/unistr/u32-strncpy: Likewise.
32165         * modules/unistr/u32-strnlen: Likewise.
32166         * modules/unistr/u32-strpbrk: Likewise.
32167         * modules/unistr/u32-strrchr: Likewise.
32168         * modules/unistr/u32-strspn: Likewise.
32169         * modules/unistr/u32-strstr: Likewise.
32170         * modules/unistr/u32-strtok: Likewise.
32171         * modules/unistr/u32-to-u16: Likewise.
32172         * modules/unistr/u32-to-u8: Likewise.
32173         * modules/unistr/u32-uctomb: Likewise.
32174         * modules/uniwbrk/u8-wordbreaks: Likewise.
32175         * modules/uniwbrk/u16-wordbreaks: Likewise.
32176         * modules/uniwbrk/u32-wordbreaks: Likewise.
32177         * modules/uniwbrk/ulc-wordbreaks: Likewise.
32178         * modules/uniwbrk/wordbreak-property: Likewise.
32179         * modules/uniwidth/u8-strwidth: Likewise.
32180         * modules/uniwidth/u8-width: Likewise.
32181         * modules/uniwidth/u16-strwidth: Likewise.
32182         * modules/uniwidth/u16-width: Likewise.
32183         * modules/uniwidth/u32-strwidth: Likewise.
32184         * modules/uniwidth/u32-width: Likewise.
32185         * modules/uniwidth/width: Likewise.
32186         * modules/unicase/cased-tests (Makefile.am): Link all test programs
32187         with $(LIBUNISTRING).
32188         * modules/unicase/ignorable-tests: Likewise.
32189         * modules/unicase/locale-language-tests: Likewise.
32190         * modules/unicase/tolower-tests: Likewise.
32191         * modules/unicase/totitle-tests: Likewise.
32192         * modules/unicase/toupper-tests: Likewise.
32193         * modules/unicase/u8-casecmp-tests: Likewise.
32194         * modules/unicase/u8-casecoll-tests: Likewise.
32195         * modules/unicase/u8-casefold-tests: Likewise.
32196         * modules/unicase/u8-is-cased-tests: Likewise.
32197         * modules/unicase/u8-is-casefolded-tests: Likewise.
32198         * modules/unicase/u8-is-lowercase-tests: Likewise.
32199         * modules/unicase/u8-is-titlecase-tests: Likewise.
32200         * modules/unicase/u8-is-uppercase-tests: Likewise.
32201         * modules/unicase/u8-tolower-tests: Likewise.
32202         * modules/unicase/u8-totitle-tests: Likewise.
32203         * modules/unicase/u8-toupper-tests: Likewise.
32204         * modules/unicase/u16-casecmp-tests: Likewise.
32205         * modules/unicase/u16-casecoll-tests: Likewise.
32206         * modules/unicase/u16-casefold-tests: Likewise.
32207         * modules/unicase/u16-is-cased-tests: Likewise.
32208         * modules/unicase/u16-is-casefolded-tests: Likewise.
32209         * modules/unicase/u16-is-lowercase-tests: Likewise.
32210         * modules/unicase/u16-is-titlecase-tests: Likewise.
32211         * modules/unicase/u16-is-uppercase-tests: Likewise.
32212         * modules/unicase/u16-tolower-tests: Likewise.
32213         * modules/unicase/u16-totitle-tests: Likewise.
32214         * modules/unicase/u16-toupper-tests: Likewise.
32215         * modules/unicase/u32-casecmp-tests: Likewise.
32216         * modules/unicase/u32-casecoll-tests: Likewise.
32217         * modules/unicase/u32-casefold-tests: Likewise.
32218         * modules/unicase/u32-is-cased-tests: Likewise.
32219         * modules/unicase/u32-is-casefolded-tests: Likewise.
32220         * modules/unicase/u32-is-lowercase-tests: Likewise.
32221         * modules/unicase/u32-is-titlecase-tests: Likewise.
32222         * modules/unicase/u32-is-uppercase-tests: Likewise.
32223         * modules/unicase/u32-tolower-tests: Likewise.
32224         * modules/unicase/u32-totitle-tests: Likewise.
32225         * modules/unicase/u32-toupper-tests: Likewise.
32226         * modules/unicase/ulc-casecmp-tests: Likewise.
32227         * modules/unicase/ulc-casecoll-tests: Likewise.
32228         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
32229         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
32230         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
32231         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
32232         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
32233         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
32234         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
32235         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
32236         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
32237         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
32238         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
32239         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
32240         * modules/unictype/bidicategory-byname-tests: Likewise.
32241         * modules/unictype/bidicategory-name-tests: Likewise.
32242         * modules/unictype/bidicategory-of-tests: Likewise.
32243         * modules/unictype/bidicategory-test-tests: Likewise.
32244         * modules/unictype/block-list-tests: Likewise.
32245         * modules/unictype/block-of-tests: Likewise.
32246         * modules/unictype/block-test-tests: Likewise.
32247         * modules/unictype/category-C-tests: Likewise.
32248         * modules/unictype/category-Cc-tests: Likewise.
32249         * modules/unictype/category-Cf-tests: Likewise.
32250         * modules/unictype/category-Cn-tests: Likewise.
32251         * modules/unictype/category-Co-tests: Likewise.
32252         * modules/unictype/category-Cs-tests: Likewise.
32253         * modules/unictype/category-L-tests: Likewise.
32254         * modules/unictype/category-Ll-tests: Likewise.
32255         * modules/unictype/category-Lm-tests: Likewise.
32256         * modules/unictype/category-Lo-tests: Likewise.
32257         * modules/unictype/category-Lt-tests: Likewise.
32258         * modules/unictype/category-Lu-tests: Likewise.
32259         * modules/unictype/category-M-tests: Likewise.
32260         * modules/unictype/category-Mc-tests: Likewise.
32261         * modules/unictype/category-Me-tests: Likewise.
32262         * modules/unictype/category-Mn-tests: Likewise.
32263         * modules/unictype/category-N-tests: Likewise.
32264         * modules/unictype/category-Nd-tests: Likewise.
32265         * modules/unictype/category-Nl-tests: Likewise.
32266         * modules/unictype/category-No-tests: Likewise.
32267         * modules/unictype/category-P-tests: Likewise.
32268         * modules/unictype/category-Pc-tests: Likewise.
32269         * modules/unictype/category-Pd-tests: Likewise.
32270         * modules/unictype/category-Pe-tests: Likewise.
32271         * modules/unictype/category-Pf-tests: Likewise.
32272         * modules/unictype/category-Pi-tests: Likewise.
32273         * modules/unictype/category-Po-tests: Likewise.
32274         * modules/unictype/category-Ps-tests: Likewise.
32275         * modules/unictype/category-S-tests: Likewise.
32276         * modules/unictype/category-Sc-tests: Likewise.
32277         * modules/unictype/category-Sk-tests: Likewise.
32278         * modules/unictype/category-Sm-tests: Likewise.
32279         * modules/unictype/category-So-tests: Likewise.
32280         * modules/unictype/category-Z-tests: Likewise.
32281         * modules/unictype/category-Zl-tests: Likewise.
32282         * modules/unictype/category-Zp-tests: Likewise.
32283         * modules/unictype/category-Zs-tests: Likewise.
32284         * modules/unictype/category-and-not-tests: Likewise.
32285         * modules/unictype/category-and-tests: Likewise.
32286         * modules/unictype/category-byname-tests: Likewise.
32287         * modules/unictype/category-name-tests: Likewise.
32288         * modules/unictype/category-none-tests: Likewise.
32289         * modules/unictype/category-of-tests: Likewise.
32290         * modules/unictype/category-or-tests: Likewise.
32291         * modules/unictype/category-test-withtable-tests: Likewise.
32292         * modules/unictype/combining-class-tests: Likewise.
32293         * modules/unictype/ctype-alnum-tests: Likewise.
32294         * modules/unictype/ctype-alpha-tests: Likewise.
32295         * modules/unictype/ctype-blank-tests: Likewise.
32296         * modules/unictype/ctype-cntrl-tests: Likewise.
32297         * modules/unictype/ctype-digit-tests: Likewise.
32298         * modules/unictype/ctype-graph-tests: Likewise.
32299         * modules/unictype/ctype-lower-tests: Likewise.
32300         * modules/unictype/ctype-print-tests: Likewise.
32301         * modules/unictype/ctype-punct-tests: Likewise.
32302         * modules/unictype/ctype-space-tests: Likewise.
32303         * modules/unictype/ctype-upper-tests: Likewise.
32304         * modules/unictype/ctype-xdigit-tests: Likewise.
32305         * modules/unictype/decimal-digit-tests: Likewise.
32306         * modules/unictype/digit-tests: Likewise.
32307         * modules/unictype/mirror-tests: Likewise.
32308         * modules/unictype/numeric-tests: Likewise.
32309         * modules/unictype/property-alphabetic-tests: Likewise.
32310         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
32311         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
32312         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
32313         * modules/unictype/property-bidi-block-separator-tests: Likewise.
32314         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
32315         * modules/unictype/property-bidi-common-separator-tests: Likewise.
32316         * modules/unictype/property-bidi-control-tests: Likewise.
32317         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
32318         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
32319         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
32320         * modules/unictype/property-bidi-european-digit-tests: Likewise.
32321         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
32322         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
32323         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
32324         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
32325         * modules/unictype/property-bidi-pdf-tests: Likewise.
32326         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
32327         * modules/unictype/property-bidi-whitespace-tests: Likewise.
32328         * modules/unictype/property-byname-tests: Likewise.
32329         * modules/unictype/property-combining-tests: Likewise.
32330         * modules/unictype/property-composite-tests: Likewise.
32331         * modules/unictype/property-currency-symbol-tests: Likewise.
32332         * modules/unictype/property-dash-tests: Likewise.
32333         * modules/unictype/property-decimal-digit-tests: Likewise.
32334         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
32335         * modules/unictype/property-deprecated-tests: Likewise.
32336         * modules/unictype/property-diacritic-tests: Likewise.
32337         * modules/unictype/property-extender-tests: Likewise.
32338         * modules/unictype/property-format-control-tests: Likewise.
32339         * modules/unictype/property-grapheme-base-tests: Likewise.
32340         * modules/unictype/property-grapheme-extend-tests: Likewise.
32341         * modules/unictype/property-grapheme-link-tests: Likewise.
32342         * modules/unictype/property-hex-digit-tests: Likewise.
32343         * modules/unictype/property-hyphen-tests: Likewise.
32344         * modules/unictype/property-id-continue-tests: Likewise.
32345         * modules/unictype/property-id-start-tests: Likewise.
32346         * modules/unictype/property-ideographic-tests: Likewise.
32347         * modules/unictype/property-ids-binary-operator-tests: Likewise.
32348         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
32349         * modules/unictype/property-ignorable-control-tests: Likewise.
32350         * modules/unictype/property-iso-control-tests: Likewise.
32351         * modules/unictype/property-join-control-tests: Likewise.
32352         * modules/unictype/property-left-of-pair-tests: Likewise.
32353         * modules/unictype/property-line-separator-tests: Likewise.
32354         * modules/unictype/property-logical-order-exception-tests: Likewise.
32355         * modules/unictype/property-lowercase-tests: Likewise.
32356         * modules/unictype/property-math-tests: Likewise.
32357         * modules/unictype/property-non-break-tests: Likewise.
32358         * modules/unictype/property-not-a-character-tests: Likewise.
32359         * modules/unictype/property-numeric-tests: Likewise.
32360         * modules/unictype/property-other-alphabetic-tests: Likewise.
32361         * modules/unictype/property-other-default-ignorable-code-point-tests:
32362         Likewise.
32363         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
32364         * modules/unictype/property-other-id-continue-tests: Likewise.
32365         * modules/unictype/property-other-id-start-tests: Likewise.
32366         * modules/unictype/property-other-lowercase-tests: Likewise.
32367         * modules/unictype/property-other-math-tests: Likewise.
32368         * modules/unictype/property-other-uppercase-tests: Likewise.
32369         * modules/unictype/property-paired-punctuation-tests: Likewise.
32370         * modules/unictype/property-paragraph-separator-tests: Likewise.
32371         * modules/unictype/property-pattern-syntax-tests: Likewise.
32372         * modules/unictype/property-pattern-white-space-tests: Likewise.
32373         * modules/unictype/property-private-use-tests: Likewise.
32374         * modules/unictype/property-punctuation-tests: Likewise.
32375         * modules/unictype/property-quotation-mark-tests: Likewise.
32376         * modules/unictype/property-radical-tests: Likewise.
32377         * modules/unictype/property-sentence-terminal-tests: Likewise.
32378         * modules/unictype/property-soft-dotted-tests: Likewise.
32379         * modules/unictype/property-space-tests: Likewise.
32380         * modules/unictype/property-terminal-punctuation-tests: Likewise.
32381         * modules/unictype/property-test-tests: Likewise.
32382         * modules/unictype/property-titlecase-tests: Likewise.
32383         * modules/unictype/property-unassigned-code-value-tests: Likewise.
32384         * modules/unictype/property-unified-ideograph-tests: Likewise.
32385         * modules/unictype/property-uppercase-tests: Likewise.
32386         * modules/unictype/property-variation-selector-tests: Likewise.
32387         * modules/unictype/property-white-space-tests: Likewise.
32388         * modules/unictype/property-xid-continue-tests: Likewise.
32389         * modules/unictype/property-xid-start-tests: Likewise.
32390         * modules/unictype/property-zero-width-tests: Likewise.
32391         * modules/unictype/scripts-tests: Likewise.
32392         * modules/unictype/syntax-c-ident-tests: Likewise.
32393         * modules/unictype/syntax-c-whitespace-tests: Likewise.
32394         * modules/unictype/syntax-java-ident-tests: Likewise.
32395         * modules/unictype/syntax-java-whitespace-tests: Likewise.
32396         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
32397         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
32398         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
32399         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
32400         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
32401         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
32402         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
32403         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
32404         * modules/uniname/uniname-tests: Likewise.
32405         * modules/uninorm/canonical-decomposition-tests: Likewise.
32406         * modules/uninorm/compat-decomposition-tests: Likewise.
32407         * modules/uninorm/composition-tests: Likewise.
32408         * modules/uninorm/decomposing-form-tests: Likewise.
32409         * modules/uninorm/decomposition-tests: Likewise.
32410         * modules/uninorm/filter-tests: Likewise.
32411         * modules/uninorm/nfc-tests: Likewise.
32412         * modules/uninorm/nfd-tests: Likewise.
32413         * modules/uninorm/nfkc-tests: Likewise.
32414         * modules/uninorm/nfkd-tests: Likewise.
32415         * modules/uninorm/u8-normcmp-tests: Likewise.
32416         * modules/uninorm/u8-normcoll-tests: Likewise.
32417         * modules/uninorm/u16-normcmp-tests: Likewise.
32418         * modules/uninorm/u16-normcoll-tests: Likewise.
32419         * modules/uninorm/u32-normcmp-tests: Likewise.
32420         * modules/uninorm/u32-normcoll-tests: Likewise.
32421         * modules/unistdio/u8-asnprintf-tests: Likewise.
32422         * modules/unistdio/u8-vasnprintf-tests: Likewise.
32423         * modules/unistdio/u8-vasprintf-tests: Likewise.
32424         * modules/unistdio/u8-vsnprintf-tests: Likewise.
32425         * modules/unistdio/u8-vsprintf-tests: Likewise.
32426         * modules/unistdio/u16-asnprintf-tests: Likewise.
32427         * modules/unistdio/u16-vasnprintf-tests: Likewise.
32428         * modules/unistdio/u16-vasprintf-tests: Likewise.
32429         * modules/unistdio/u16-vsnprintf-tests: Likewise.
32430         * modules/unistdio/u16-vsprintf-tests: Likewise.
32431         * modules/unistdio/u32-asnprintf-tests: Likewise.
32432         * modules/unistdio/u32-vasnprintf-tests: Likewise.
32433         * modules/unistdio/u32-vasprintf-tests: Likewise.
32434         * modules/unistdio/u32-vsnprintf-tests: Likewise.
32435         * modules/unistdio/u32-vsprintf-tests: Likewise.
32436         * modules/unistdio/ulc-asnprintf-tests: Likewise.
32437         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
32438         * modules/unistdio/ulc-vasprintf-tests: Likewise.
32439         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
32440         * modules/unistdio/ulc-vsprintf-tests: Likewise.
32441         * modules/unistr/u8-check-tests: Likewise.
32442         * modules/unistr/u8-chr-tests: Likewise.
32443         * modules/unistr/u8-cmp-tests: Likewise.
32444         * modules/unistr/u8-cmp2-tests: Likewise.
32445         * modules/unistr/u8-cpy-alloc-tests: Likewise.
32446         * modules/unistr/u8-cpy-tests: Likewise.
32447         * modules/unistr/u8-mblen-tests: Likewise.
32448         * modules/unistr/u8-mbsnlen-tests: Likewise.
32449         * modules/unistr/u8-mbtouc-tests: Likewise.
32450         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
32451         * modules/unistr/u8-mbtoucr-tests: Likewise.
32452         * modules/unistr/u8-move-tests: Likewise.
32453         * modules/unistr/u8-next-tests: Likewise.
32454         * modules/unistr/u8-prev-tests: Likewise.
32455         * modules/unistr/u8-set-tests: Likewise.
32456         * modules/unistr/u8-stpcpy-tests: Likewise.
32457         * modules/unistr/u8-stpncpy-tests: Likewise.
32458         * modules/unistr/u8-strcat-tests: Likewise.
32459         * modules/unistr/u8-strcmp-tests: Likewise.
32460         * modules/unistr/u8-strcoll-tests: Likewise.
32461         * modules/unistr/u8-strcpy-tests: Likewise.
32462         * modules/unistr/u8-strdup-tests: Likewise.
32463         * modules/unistr/u8-strlen-tests: Likewise.
32464         * modules/unistr/u8-strmblen-tests: Likewise.
32465         * modules/unistr/u8-strmbtouc-tests: Likewise.
32466         * modules/unistr/u8-strncat-tests: Likewise.
32467         * modules/unistr/u8-strncmp-tests: Likewise.
32468         * modules/unistr/u8-strncpy-tests: Likewise.
32469         * modules/unistr/u8-strnlen-tests: Likewise.
32470         * modules/unistr/u8-to-u16-tests: Likewise.
32471         * modules/unistr/u8-to-u32-tests: Likewise.
32472         * modules/unistr/u8-uctomb-tests: Likewise.
32473         * modules/unistr/u16-check-tests: Likewise.
32474         * modules/unistr/u16-chr-tests: Likewise.
32475         * modules/unistr/u16-cmp-tests: Likewise.
32476         * modules/unistr/u16-cmp2-tests: Likewise.
32477         * modules/unistr/u16-cpy-alloc-tests: Likewise.
32478         * modules/unistr/u16-cpy-tests: Likewise.
32479         * modules/unistr/u16-mblen-tests: Likewise.
32480         * modules/unistr/u16-mbsnlen-tests: Likewise.
32481         * modules/unistr/u16-mbtouc-tests: Likewise.
32482         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
32483         * modules/unistr/u16-mbtoucr-tests: Likewise.
32484         * modules/unistr/u16-move-tests: Likewise.
32485         * modules/unistr/u16-next-tests: Likewise.
32486         * modules/unistr/u16-prev-tests: Likewise.
32487         * modules/unistr/u16-set-tests: Likewise.
32488         * modules/unistr/u16-stpcpy-tests: Likewise.
32489         * modules/unistr/u16-stpncpy-tests: Likewise.
32490         * modules/unistr/u16-strcat-tests: Likewise.
32491         * modules/unistr/u16-strcmp-tests: Likewise.
32492         * modules/unistr/u16-strcoll-tests: Likewise.
32493         * modules/unistr/u16-strcpy-tests: Likewise.
32494         * modules/unistr/u16-strdup-tests: Likewise.
32495         * modules/unistr/u16-strlen-tests: Likewise.
32496         * modules/unistr/u16-strmblen-tests: Likewise.
32497         * modules/unistr/u16-strmbtouc-tests: Likewise.
32498         * modules/unistr/u16-strncat-tests: Likewise.
32499         * modules/unistr/u16-strncmp-tests: Likewise.
32500         * modules/unistr/u16-strncpy-tests: Likewise.
32501         * modules/unistr/u16-strnlen-tests: Likewise.
32502         * modules/unistr/u16-to-u32-tests: Likewise.
32503         * modules/unistr/u16-to-u8-tests: Likewise.
32504         * modules/unistr/u16-uctomb-tests: Likewise.
32505         * modules/unistr/u32-check-tests: Likewise.
32506         * modules/unistr/u32-chr-tests: Likewise.
32507         * modules/unistr/u32-cmp-tests: Likewise.
32508         * modules/unistr/u32-cmp2-tests: Likewise.
32509         * modules/unistr/u32-cpy-alloc-tests: Likewise.
32510         * modules/unistr/u32-cpy-tests: Likewise.
32511         * modules/unistr/u32-mblen-tests: Likewise.
32512         * modules/unistr/u32-mbsnlen-tests: Likewise.
32513         * modules/unistr/u32-mbtouc-tests: Likewise.
32514         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
32515         * modules/unistr/u32-mbtoucr-tests: Likewise.
32516         * modules/unistr/u32-move-tests: Likewise.
32517         * modules/unistr/u32-next-tests: Likewise.
32518         * modules/unistr/u32-prev-tests: Likewise.
32519         * modules/unistr/u32-set-tests: Likewise.
32520         * modules/unistr/u32-stpcpy-tests: Likewise.
32521         * modules/unistr/u32-stpncpy-tests: Likewise.
32522         * modules/unistr/u32-strcat-tests: Likewise.
32523         * modules/unistr/u32-strcmp-tests: Likewise.
32524         * modules/unistr/u32-strcoll-tests: Likewise.
32525         * modules/unistr/u32-strcpy-tests: Likewise.
32526         * modules/unistr/u32-strdup-tests: Likewise.
32527         * modules/unistr/u32-strlen-tests: Likewise.
32528         * modules/unistr/u32-strmblen-tests: Likewise.
32529         * modules/unistr/u32-strmbtouc-tests: Likewise.
32530         * modules/unistr/u32-strncat-tests: Likewise.
32531         * modules/unistr/u32-strncmp-tests: Likewise.
32532         * modules/unistr/u32-strncpy-tests: Likewise.
32533         * modules/unistr/u32-strnlen-tests: Likewise.
32534         * modules/unistr/u32-to-u16-tests: Likewise.
32535         * modules/unistr/u32-to-u8-tests: Likewise.
32536         * modules/unistr/u32-uctomb-tests: Likewise.
32537         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
32538         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
32539         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
32540         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
32541         * modules/uniwidth/u8-strwidth-tests: Likewise.
32542         * modules/uniwidth/u8-width-tests: Likewise.
32543         * modules/uniwidth/u16-strwidth-tests: Likewise.
32544         * modules/uniwidth/u16-width-tests: Likewise.
32545         * modules/uniwidth/u32-strwidth-tests: Likewise.
32546         * modules/uniwidth/u32-width-tests: Likewise.
32547         * modules/uniwidth/width-tests: Likewise.
32548
32549 2010-05-18  Richard Jones  <rjones@redhat.com>
32550
32551         doc: users.txt: list hivex
32552         * users.txt: Add hivex.
32553
32554 2010-05-18  Richard Jones  <rjones@redhat.com>
32555
32556         doc: users.txt: list febootstrap
32557         * users.txt: Add febootstrap.
32558
32559 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
32560
32561         bootstrap: fix an error when gnulib is not used as a git submodule
32562         * build-aux/bootstrap (gnulib_path): If its length is zero then
32563         assign "gnulib" to it.
32564         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
32565
32566 2010-05-16  Bruno Haible  <bruno@clisp.org>
32567
32568         Avoid autoconf warnings about AM_ICONV.
32569         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
32570         2.64.
32571
32572 2010-05-16  Bruno Haible  <bruno@clisp.org>
32573
32574         absolute-header: Make the macro usable in more situations.
32575         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
32576         from gl_ABSOLUTE_HEADER.
32577         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
32578
32579 2010-05-16  James Youngman  <jay@gnu.org>
32580
32581         doc: update users.txt
32582         * users.txt: Add CSSC.
32583
32584 2010-05-16  Jim Meyering  <meyering@redhat.com>
32585
32586         init.sh: fix an error in the previous change; add more comments
32587         * tests/init.sh: Compare exit code in loop against 9, not 2.
32588         Patch by Bruno Haible.
32589         Make the two tests more similar by adding an empty "then" clause.
32590         Add comments.
32591
32592         init.sh: avoid unnecessary shell re-exec
32593         * tests/init.sh: Improve the re-exec-required check to first test the
32594         current shell.  If it passes the test, do not search for a shell that
32595         does pass, and do not re-exec.  This test is particularly contorted to
32596         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
32597         of $(...) evokes a syntax error and causes immediate shell exit with
32598         status 2.  Bruno Haible reported that the re-exec made it impossible
32599         to single-step through any init.sh-using script.
32600
32601 2010-05-16  Bruno Haible  <bruno@clisp.org>
32602
32603         Fix collision between gnulib's and libintl's printf replacements.
32604         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
32605         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
32606         (printf): When using GNU C, map the __printf__ function to rpl_printf
32607         via __asm__. When not using GNU C, define rpl_printf instead of
32608         __printf__.
32609         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
32610         commit.
32611         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
32612         commit.
32613         * m4/asm-underscore.m4: New file.
32614         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
32615         * modules/stdio (Files): Add m4/asm-underscore.m4.
32616         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
32617         Reported by Ben Pfaff.
32618
32619 2010-05-16  Bruno Haible  <bruno@clisp.org>
32620
32621         verify: Avoid skipping the test on openSUSE 11.0.
32622         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
32623
32624 2010-05-13  Bruno Haible  <bruno@clisp.org>
32625
32626         Avoid useless warnings from G++.
32627         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
32628         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
32629         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32630
32631 2010-05-11  Jim Meyering  <meyering@redhat.com>
32632
32633         maint.mk: tweak preceding change
32634         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
32635         regexps tighter by anchoring at EOL, and make the new group "shy"
32636         for slightly decreased overhead.
32637
32638 2010-05-11  Eric Blake  <eblake@redhat.com>
32639
32640         maint.mk: gnulib doesn't guarantee NSIG
32641         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
32642
32643 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
32644
32645         test-pwrite.c: Remove unused variable declaration.
32646         * tests/test-pwrite.c (main): Remove read_buf declaration.
32647
32648         Remove useless test-pwrite.sh file.
32649         * tests/test-pwrite.sh: Delete file.
32650         * modules/pwrite-tests: Remove references.
32651         Reported by Bruno Haible.
32652
32653 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
32654
32655         init.sh: fix a typo
32656         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
32657
32658 2010-05-10  Jim Meyering  <meyering@redhat.com>
32659
32660         maint.mk: avoid using a temporary file in the always-defined-macros check
32661         * top/maint.mk (.re-defmac): Remove rule.
32662         (gl_trap_): Remove definition.
32663         (sc_prohibit_always-defined_macros): Rewrite not to create and
32664         depend on a temporary file.  Instead, depend on GNU grep's ability
32665         to read a list of regular expressions from stdin when given "-f -".
32666
32667 2010-05-09  Bruno Haible  <bruno@clisp.org>
32668
32669         Update to GNU gettext 0.18, part 1.
32670         * m4/gettext.m4: Update to GNU gettext 0.18.
32671         * m4/intl.m4: Likewise.
32672         * m4/po.m4: Likewise.
32673         * modules/gettext (Files): Add m4/fcntl-o.m4.
32674         (configure.ac): Require gettext infrastructure from version 0.18.
32675
32676 2010-05-09  Jim Meyering  <meyering@redhat.com>
32677
32678         init.sh: enable MALLOC_PERTURB_
32679         * tests/init.sh: Enable glibc's malloc-perturbing option.
32680
32681         maint.mk: improve sc_cross_check_PATH_usage_in_tests
32682         With my recent change in init.sh from the two-line form:
32683             -#   : ${srcdir=.}
32684             -#   . "$srcdir/init.sh"; path_prepend_ .
32685             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
32686         I noticed that using the one-line form would cause this test
32687         to fail with a false-positive, or to stop working altogether,
32688         depending on whether help-version changed or all the tests did.
32689         * top/maint.mk (_hv_regex): Remove this definition.
32690         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
32691         (_hv_regex_strong): Use a stronger regex to check for conformance.
32692         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
32693         Give a separate diagnostic for lack of conforming use.
32694
32695         maint.mk: prohibit definition of symbols defined by gnulib
32696         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
32697         definition of symbols defined by gnulib.
32698
32699 2010-05-09  Bruno Haible  <bruno@clisp.org>
32700
32701         acl: Avoid test failure on Cygwin-hosted mingw.
32702         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
32703
32704 2010-05-09  Bruno Haible  <bruno@clisp.org>
32705
32706         error: Use system's fcntl function.
32707         * lib/error.c (fcntl): Undefine.
32708
32709 2010-05-09  Jim Meyering  <meyering@redhat.com>
32710
32711         verify: adjust formatting to be more consistent
32712         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
32713         argument-list '('s, and after one comma.
32714
32715 2010-05-09  Bruno Haible  <bruno@clisp.org>
32716
32717         error: More reliable output on mingw.
32718         * lib/error.c: Include <windows.h>.
32719         (is_open): New function.
32720         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
32721         defined.
32722
32723 2010-05-09  Bruno Haible  <bruno@clisp.org>
32724
32725         vasnprintf: Fix syntax errors in libintl build on mingw.
32726         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
32727         pad_ourselves and prec_ourselves after use.
32728
32729 2010-05-08  Bruno Haible  <bruno@clisp.org>
32730
32731         * lib/config.charset: Update comments for Cygwin 1.7.
32732         * lib/localcharset.c: Likewise.
32733
32734 2010-05-07  Jim Meyering  <meyering@redhat.com>
32735
32736         init.sh: improve comments
32737         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
32738         . "${srcdir=.}/init.sh"; path_prepend_ .
32739         Add a note about path_prepend_ and the alternative of using
32740         TESTS_ENVIRONMENT.
32741
32742 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
32743
32744         exclude: Unescape hashed patterns in wildcard mode.
32745         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
32746         to the hash list.
32747         * tests/test-exclude8.sh: New test case.
32748         * modules/exclude-tests: Add new test.
32749
32750 2010-05-05  Eric Blake  <eblake@redhat.com>
32751
32752         verify: automate tests
32753         * modules/verify-tests: New module.
32754         * tests/test-verify.sh: New file.
32755         * tests/test-verify.c: Guard each negative test with a unique id.
32756         Also avoid warning about unused left hand of comma expressions.
32757
32758 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
32759
32760         Further improvements to verify.h, suggested by Eric Blake.
32761         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
32762         the GL_* versions, to avoid collision with OpenGL.
32763         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
32764         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
32765         than testing merely whether it's defined.
32766
32767         Modify verify.h to pacify gcc -Wredundant_decls.
32768         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
32769         These use the prefix "GL_" since they're likely to be useful elsewhere.
32770         We may need to break them out into a different .h file.
32771         (__COUNTER__): Define to 0 if the compiler doesn't support it.
32772         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
32773         of verify_function__.
32774
32775 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
32776
32777         Tests for module pwrite.
32778         * modules/pwrite-tests: New file.
32779         * tests/test-pwrite.sh: New file.
32780         * tests/test-pwrite.c: New file.
32781
32782         New module pwrite.
32783         * lib/unistd.in.h (pwrite): New declaration.
32784         * lib/pwrite.c: New file, from glibc with modifications.
32785         * m4/pwrite.m4: New file.
32786         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
32787         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
32788         REPLACE_PWRITE.
32789         * modules/pwrite: New file.
32790         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
32791         REPLACE_PWRITE.
32792         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
32793         * doc/posix-functions/pwrite.texi: Mention the new module.
32794
32795 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
32796
32797         pread: Update documentation.
32798         * doc/posix-functions/pread.texi: Mention the 'pread' module.
32799
32800 2010-05-04  Eric Blake  <eblake@redhat.com>
32801
32802         docs: update cygwin progress
32803         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
32804         this bug.
32805         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
32806         Added in cygwin 1.7.2.
32807         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
32808         Likewise.
32809         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
32810         Likewise.
32811         * doc/glibc-functions/dup3.texi (dup3): Likewise.
32812         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
32813         * doc/glibc-functions/accept4.texi (accept4): Likewise.
32814         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
32815         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
32816         Mention nproc module.
32817         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
32818         bug in cygwin 1.7.5 addition.
32819         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
32820         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
32821         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
32822         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
32823         1.7.5.
32824         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
32825         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
32826         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
32827         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
32828         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
32829         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
32830         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
32831         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
32832         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
32833         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
32834         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
32835         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
32836         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
32837         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
32838         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
32839         Likewise.
32840         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
32841         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
32842         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
32843         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
32844         Likewise.
32845         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
32846         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
32847         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
32848         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
32849         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
32850         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
32851         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
32852         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
32853         Likewise.
32854         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
32855         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
32856         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
32857         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
32858         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
32859         Likewise.
32860         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
32861         Likewise.
32862         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
32863         Likewise.
32864         * doc/glibc-functions/xdrrec_endofrecord.texi
32865         (xdrrec_endofrecord): Likewise.
32866         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
32867         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
32868         Likewise.
32869         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
32870         Likewise.
32871
32872 2010-05-04  Jim Meyering  <meyering@redhat.com>
32873
32874         gendocs.sh: make its "-s FILE" option more useful
32875         * build-aux/gendocs.sh: When honoring the -s FILE option, update
32876         $PACKAGE to reflect the probably-different basename of "FILE".
32877
32878 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
32879
32880         bootstrap: don't ignore download_po_files failure
32881         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
32882         failure.
32883
32884 2010-05-03  Jim Meyering  <meyering@redhat.com>
32885
32886         maint.mk: allow to pass options to gendocs.sh
32887         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
32888         (gendocs_options_): New overridable variable.
32889
32890         gnu-web-doc-update: don't ignore configure or build failure
32891         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
32892
32893         announce-gen: backslash-escape '@'s in --help output
32894         * build-aux/announce-gen: Fix syntax errors.
32895
32896         maint.mk, announce-gen: allow project-specific announcement mail headers
32897         * top/maint.mk (translation_project_): Define default.
32898         (announcement_Cc_, announcement_mail_headers_): Likewise.
32899         (announcement): Invoke announce-gen with new --mail-headers option.
32900         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
32901
32902         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
32903         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
32904         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
32905         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
32906         line in the "err2" output file when running "make check" in verbose
32907         mode (i.e., with set -x enabled).
32908
32909 2010-05-03  Bruno Haible  <bruno@clisp.org>
32910
32911         wctob: Fix for weird platforms.
32912         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
32913         argument value.
32914
32915 2010-05-03  Jim Meyering  <meyering@redhat.com>
32916
32917         maint.mk: prohibit unwarranted use of <strings.h>
32918         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
32919         strings.h in a file that does not also use strcasecmp, strncasecmp,
32920         ffs or ffsll.
32921
32922         maint.mk: remove obsolete comments
32923         * top/maint.mk: Remove stale, commented-out rules.
32924
32925 2010-05-02  Bruno Haible  <bruno@clisp.org>
32926
32927         wcwidth: Declare also when it's aliased.
32928         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
32929         macro.
32930
32931 2010-05-02  Bruno Haible  <bruno@clisp.org>
32932
32933         Fix regression from 2010-04-25.
32934         * gnulib-tool (func_modules_transitive_closure): Check the status of
32935         all modules, not only of the tests that are of the form foo-tests where
32936         foo is a module.
32937
32938 2010-05-02  Bruno Haible  <bruno@clisp.org>
32939
32940         wctob: Work around nasty Cygwin 1.7.2 bug.
32941         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
32942         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
32943
32944 2010-05-01  Bruno Haible  <bruno@clisp.org>
32945
32946         fpurge: Sharper test.
32947         * tests/test-fpurge.c (main): Add one more ftell check.
32948         * modules/fpurge-tests (Depends-on): Add ftell.
32949         Suggested by Eric Blake.
32950
32951 2010-05-01  Bruno Haible  <bruno@clisp.org>
32952
32953         ftello: Another test.
32954         * tests/test-ftello3.c: New file.
32955         * modules/ftello-tests (Files): Add it.
32956         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
32957         MOSTLYCLEANFILES.
32958
32959         ftell: Another test.
32960         * tests/test-ftell3.c: New file.
32961         * modules/ftell-tests (Files): Add it.
32962         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
32963         MOSTLYCLEANFILES.
32964
32965 2010-05-01  Bruno Haible  <bruno@clisp.org>
32966
32967         ftell, ftello: Work around Solaris bug.
32968         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
32969         * lib/ftello.c: Include stdio-impl.h.
32970         (ftello): On Solaris, when _IOWRT is set, compute the result without
32971         looking at _IOREAD.
32972         * modules/ftello (Files): Add lib/stdio-impl.h.
32973         * doc/posix-functions/ftell.texi: Mention Solaris bug.
32974         * doc/posix-functions/ftello.texi: Likewise.
32975         Reported by Eric Blake.
32976
32977 2010-05-01  Bruno Haible  <bruno@clisp.org>
32978
32979         freading: Adapt to special meaning of _IOREAD flag on Solaris.
32980         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
32981         the _IOWRT flag is also set.
32982
32983 2010-05-01  Bruno Haible  <bruno@clisp.org>
32984
32985         Fix doc about a HP-UX stdio bug.
32986         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
32987         * doc/posix-functions/ftello.texi: Likewise.
32988
32989 2010-05-01  Bruno Haible  <bruno@clisp.org>
32990
32991         lseek test: Fix failure on Solaris.
32992         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
32993         output.
32994
32995 2010-04-30  Jim Meyering  <meyering@redhat.com>
32996
32997         bootstrap: don't ignore failure to generate po*/Makevars
32998         * build-aux/bootstrap (with_gettext): Don't ignore failure
32999         to create po/Makevars or runtime-po/Makevars.
33000
33001 2010-04-29  Eric Blake  <eblake@redhat.com>
33002
33003         headers: relax license to LGPLv2+
33004         * modules/fcntl-h (License): Relax license.
33005         * modules/getopt-posix (License): Likewise.
33006         * modules/locale (License): Likewise.
33007         * modules/math (License): Likewise.
33008         * modules/pty (License): Likewise.
33009         * modules/sched (License): Likewise.
33010         * modules/search (License): Likewise.
33011         * modules/spawn (License): Likewise.
33012         * modules/stdarg (License): Likewise.
33013         * modules/sysexits (License): Likewise.
33014
33015 2010-04-29  Jim Meyering  <meyering@redhat.com>
33016
33017         inttypes: relax license to LGPLv2+
33018         * modules/inttypes (License): Relax license.
33019
33020 2010-04-29  Simon Josefsson  <simon@josefsson.org>
33021
33022         * top/maint.mk (indent): Run twice to produce idempotent results.
33023
33024 2010-04-28  Bruno Haible  <bruno@clisp.org>
33025
33026         getdate: Generate getdate.c in the source directory.
33027         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
33028         MOSTLYCLEANFILES.
33029         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
33030
33031 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
33032
33033         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
33034         is not declared as a const *; avoid warnings in that case.
33035
33036 2010-04-28  Eric Blake  <eblake@redhat.com>
33037
33038         canonicalize-lgpl: avoid compiler warning
33039         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
33040         declaration' / 'extraneous semicolon' warning with some compilers.
33041         Reported by Andreas Gruenbacher.
33042
33043 2010-04-28  Jim Meyering  <meyering@redhat.com>
33044
33045         init.sh: ensure a more reliable exit status when exiting via trap
33046         * tests/init.sh (setup_): Don't rely on $? in signal handler.
33047         Inspired by patches from Dmitry V. Levin.
33048         Also trap on signal 3 (SIGQUIT).
33049
33050 2010-04-27  Bruno Haible  <bruno@clisp.org>
33051
33052         Update doc about utimes().
33053         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
33054         'utimens' module.
33055         Reported by Andreas Gruenbacher <agruen@suse.de>.
33056
33057 2010-04-27  Eric Blake  <eblake@redhat.com>
33058
33059         full-read, full-write: relax license
33060         * modules/full-read (License): Drop to LGPLv2+.
33061         * modules/full-write (License): Likewise.
33062         * modules/safe-read (License): Likewise.
33063         * modules/safe-write (License): Likewise.
33064
33065         pthread: mention library for linking
33066         * modules/pthread (Link): Mention $(LIB_PTHREAD).
33067
33068 2010-04-27  Jim Meyering  <meyering@redhat.com>
33069
33070         maint.mk: fix a bug introduced in last change
33071         * top/maint.mk (gl_assured_headers_): Now that all names are on
33072         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
33073         is not anchored to end of word, it should be adequate.
33074
33075         maint.mk: avoid side-effect in latest syntax-check
33076         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
33077         to run commands via $(shell...), and hence to incur cost only when
33078         the new rule is actually run.
33079
33080         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
33081         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
33082         and use that to create a regexp used to detect all #if HAVE_..._H uses.
33083         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
33084         (gl_assured_headers_, az_, AZ_): Define.
33085         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
33086
33087 2010-04-26  Jim Meyering  <jim@meyering.net>
33088             Bruno Haible  <bruno@clisp.org>
33089
33090         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
33091         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
33092         Prompted by an exchange with Gilles Espinasse.
33093
33094 2010-04-26  Jim Meyering  <meyering@redhat.com>
33095
33096         git-version-gen: aesthetic tweak
33097         * build-aux/git-version-gen: Use "$nl" rather than a literal,
33098         so that the command remains on a single line.
33099
33100 2010-04-26  Eric Blake  <eblake@redhat.com>
33101
33102         git-version-gen: allow use on EBCDIC hosts
33103         * build-aux/git-version-gen (dirty): Use literal rather than tying
33104         ourselves to ascii.
33105         Reported by Steve Goetze.
33106
33107 2010-04-25  Bruno Haible  <bruno@clisp.org>
33108
33109         netdb: Add support for GNULIB_POSIXCHECK.
33110         * lib/netdb.in.h: Include warn-on-use.h.
33111         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
33112         functions are used when GNULIB_POSIXCHECK is defined and the
33113         getaddrinfo module is not in use.
33114         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
33115         freeaddrinfo, gai_strerror, getnameinfo are declared.
33116         * modules/netdb (Depends-on): Add warn-on-use.
33117         (Makefile.am): Include warn-on-use.h in netdb.h.
33118
33119 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
33120
33121         build: avoid "make check" failure without .git/ directory
33122         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
33123         there is no .git/ directory.
33124
33125 2010-04-25  Bruno Haible  <bruno@clisp.org>
33126
33127         ptsname: Fix misuse of ttyname_r.
33128         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
33129         of errno.
33130
33131 2010-04-25  Bruno Haible  <bruno@clisp.org>
33132
33133         ttyname_r: Make it work on Solaris 10.
33134         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
33135         if the system function has the POSIX declaration. Test whether the
33136         function fails if the buffer is less than 128 bytes large.
33137         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
33138         system's ttyname_r function. Provide a reasonably large buffer.
33139         * modules/ttyname_r (Depends-on): Add extensions.
33140         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
33141
33142 2010-04-25  Bruno Haible  <bruno@clisp.org>
33143
33144         Use the 'extensions' module for some more functions on Solaris.
33145         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
33146         module.
33147         * doc/posix-functions/ctime_r.texi: Likewise.
33148         * doc/posix-functions/getgrgid_r.texi: Likewise.
33149         * doc/posix-functions/getgrnam_r.texi: Likewise.
33150         * doc/posix-functions/getpwnam_r.texi: Likewise.
33151         * doc/posix-functions/getpwuid_r.texi: Likewise.
33152         * doc/posix-functions/readdir_r.texi: Likewise.
33153         * doc/posix-functions/sigwait.texi: Likewise.
33154         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
33155         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
33156
33157 2010-04-25  Bruno Haible  <bruno@clisp.org>
33158
33159         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
33160         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
33161         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
33162         * lib/ttyname_r.c: Include <limits.h>.
33163         (ttyname_r): Define using the system's ttyname_r function, if it exists
33164         and not on Solaris.
33165         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
33166         set.
33167         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
33168         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
33169         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
33170         Reported by Simon Josefsson.
33171
33172 2010-04-25  Bruno Haible  <bruno@clisp.org>
33173
33174         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
33175         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
33176         * doc/posix-functions/ctime_r.texi: Likewise.
33177         * doc/posix-functions/getgrgid_r.texi: Likewise.
33178         * doc/posix-functions/getgrnam_r.texi: Likewise.
33179         * doc/posix-functions/getlogin_r.texi: Likewise.
33180         * doc/posix-functions/getpwnam_r.texi: Likewise.
33181         * doc/posix-functions/getpwuid_r.texi: Likewise.
33182         * doc/posix-functions/readdir_r.texi: Likewise.
33183         * doc/posix-functions/sigwait.texi: Likewise.
33184         * doc/posix-functions/ttyname_r.texi: Likewise.
33185         Reported by Simon Josefsson.
33186
33187 2010-04-25  Bruno Haible  <bruno@clisp.org>
33188
33189         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
33190         * gnulib-tool (func_usage): Document that --with-*-tests options apply
33191         also to --create-testdir.
33192         (func_acceptable): Don't consider the status of *-tests modules here.
33193         (func_modules_transitive_closure): Consider it here, before including a
33194         test module.
33195         (func_import, func_create_testdir): Set inc_all_direct_tests,
33196         inc_all_indirect_tests.
33197         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
33198         --create-testdir and --create-megatestdir.
33199
33200 2010-04-25  Bruno Haible  <bruno@clisp.org>
33201
33202         gnulib-tool: Add --without-*-tests options.
33203         * gnulib-tool (func_usage): Document the --without-*-tests options.
33204         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
33205         excl_unportable_tests): New variables.
33206         Fail if they are specified with --import or --update.
33207         (func_acceptable): Respect the excl_*_tests variables.
33208         (func_import): Set the excl_*_tests variables to empty.
33209
33210 2010-04-25  Simon Josefsson  <simon@josefsson.org>
33211             Bruno Haible  <bruno@clisp.org>
33212
33213         Work around a MacOS X 10.4 bug with openpty.
33214         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
33215         * tests/test-openpty.c (main): Close the master side explicitly.
33216
33217 2010-04-25  Bruno Haible  <bruno@clisp.org>
33218
33219         strnlen: Fix a C++ test error on MacOS X and Solaris.
33220         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
33221         the function is not declared.
33222         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
33223         Simon Josefsson.
33224
33225 2010-04-24  Bruno Haible  <bruno@clisp.org>
33226
33227         Avoid a gcc warning.
33228         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
33229         of correct type for %08lx directive.
33230         Reported by Eric Blake.
33231
33232 2010-04-24  Bruno Haible  <bruno@clisp.org>
33233
33234         vasnprintf: Correct errno value in case of out-of-memory.
33235         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
33236         or sprintf. Use the errno value from SNPRINTF or sprintf.
33237         Reported by Ian Beckwith <ianb@erislabs.net>.
33238
33239 2010-04-24  Bruno Haible  <bruno@clisp.org>
33240
33241         ansi-c++-opt: Find correct compiler when cross-compiling.
33242         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
33243         AC_CHECK_PROGS.
33244         Reported by Simon Josefsson.
33245
33246 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
33247
33248         vc-list-files: Add support for subversion
33249         * build-aux/vc-list-files: Use "svn list" to generate the list of
33250         files controlled by subversion.
33251
33252 2010-04-23  Jim Meyering  <meyering@redhat.com>
33253
33254         vc-list-files tests: convert to use init.sh
33255         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
33256         path_prepend_.
33257         Use Exit, not exit.
33258         Use skip_ rather than open coding it.
33259         Remove trap set-up and compare definitions.
33260         * tests/test-vc-list-files-git.sh: Likewise.
33261         * modules/vc-list-files-tests (Files): Add tests/init.sh.
33262
33263 2010-04-22  Simon Josefsson  <simon@josefsson.org>
33264
33265         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
33266         backup files.
33267
33268 2010-04-21  Simon Josefsson  <simon@josefsson.org>
33269
33270         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
33271
33272 2010-04-20  Eric Blake  <eblake@redhat.com>
33273
33274         tests: be robust to ignored SIGPIPE
33275         * tests/test-select-in.sh: Consume all output.
33276         * tests/test-lseek.sh: Check correct exit status, while avoiding
33277         EPIPE.
33278
33279 2010-04-20  Simon Josefsson  <simon@josefsson.org>
33280             Bruno Haible  <bruno@clisp.org>
33281
33282         visibility: Don't use -fvisibility if it leads to a warning.
33283         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
33284         yes, don't pretend that visibility works if it leads to a warning.
33285         Reported by Mike Gran <spk121@yahoo.com>.
33286
33287 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
33288
33289         * build-aux/bootstrap: Use "git -h" for testing for supported options
33290         instead of "git --help".  The short-form option only shows a summary,
33291         and doesn't layout the full man page.  Grep for the full option name
33292         in the summary, too.
33293
33294 2010-04-19  Bruno Haible  <bruno@clisp.org>
33295
33296         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
33297         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
33298         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
33299         mention of RELOCATABLE_STRIP.
33300         Reported by Sylvain Beucler <beuc@beuc.net>.
33301
33302 2010-04-19  Bruno Haible  <bruno@clisp.org>
33303
33304         * lib/diffseq.h: Fix typo in comment.
33305         Reported by Eric Blake.
33306
33307 2010-04-19  Bruno Haible  <bruno@clisp.org>
33308
33309         ioctl: Move autoconf macro to a .m4 file.
33310         * m4/ioctl.m4: New file, extracted from modules/ioctl.
33311         * modules/ioctl (Files): Add it.
33312         (configure.ac): Simply invoke gl_FUNC_IOCTL.
33313         Reported by Ian Beckwith <ianb@erislabs.net>.
33314
33315 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
33316             Bruno Haible  <bruno@clisp.org>
33317
33318         diffseq: Accommodate use-case with abstract arrays.
33319         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
33320         is not defined.
33321         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
33322         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
33323
33324 2010-04-18  Bruno Haible  <bruno@clisp.org>
33325
33326         * doc/posix-headers/stdbool.texi: More precise wording.
33327
33328 2010-04-17  Jim Meyering  <meyering@redhat.com>
33329
33330         maint.mk: use gnu-style indentation in an embedded perl script
33331         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
33332         Rename variable: s/two/last_two_bytes/
33333
33334 2010-04-16  Eric Blake  <eblake@redhat.com>
33335
33336         test-stdbool: skip test that fails with Solaris CC
33337         * tests/test-stdbool.c (f): Skip test that causes compilation
33338         error under buggy C++ compiler.
33339         * lib/stdbool.in.h: Document the limitation.
33340         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
33341
33342         setenv: allow compilation with C++
33343         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
33344         register keyword.
33345
33346         stdint: allow test to pass with C++
33347         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
33348
33349         getopt: allow compilation with C++
33350         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
33351         struct.
33352         * lib/getopt.c (_getopt_internal_r): Use correct type.
33353         Reported by Dagobert Michelson, via Joel E. Denny.
33354
33355 2010-04-16  Bruno Haible  <bruno@clisp.org>
33356
33357         Override netdb.h always.
33358         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
33359         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
33360         Reported by Ludovic Courtès <ludo@gnu.org>.
33361
33362 2010-04-15  Bruno Haible  <bruno@clisp.org>
33363
33364         openpty: Fix mistake from 2010-03-21.
33365         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
33366         Reported by Simon Josefsson.
33367
33368 2010-04-15  Eric Blake  <eblake@redhat.com>
33369
33370         test-forkpty: fix expected signature
33371         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
33372         Reported by Simon Josefsson.
33373
33374 2010-04-15  Jim Meyering  <meyering@redhat.com>
33375
33376         maint.mk: texinfo_suffix_re_: correct the default regexp
33377         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
33378
33379         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
33380         make it configurable via texinfo_suffix_re_.
33381
33382 2010-04-14  Eric Blake  <eblake@redhat.com>
33383
33384         strtok_r: relax license to LGPLv2+
33385         * modules/strtok_r (License): Relax license.
33386         Reported by Matthias Bolte.
33387
33388 2010-04-14  Simon Josefsson  <simon@josefsson.org>
33389
33390         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
33391         version 1.4.4 by default instead of requiring the libgcrypt
33392         version used during build.  This makes it possible to use the
33393         application with older but still binary compatible libgcrypt
33394         versions.
33395
33396 2010-04-13  Eric Blake  <eblake@redhat.com>
33397
33398         getopt-gnu: match recent glibc fixes and posix ruling
33399         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
33400         '+' handling, when requesting extensions.
33401         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
33402         'W;' handling.
33403         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
33404         * doc/posix-functions/getopt.texi (getopt): Document this.
33405         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33406         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33407         Likewise.
33408
33409         getopt: merge bug fixes from glibc
33410         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
33411         diagnostics.  Honor '+:' correctly.  Reject ';'.
33412
33413         getopt-posix: detect MacOS bug
33414         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
33415         optind when missing a required argument.
33416         * doc/posix-functions/getopt.texi (getopt): Document the bug.
33417         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33418         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33419         Likewise.
33420
33421         getopt-posix: avoid spurious failure on Solaris
33422         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
33423         an indicator that setting optind=1 is sufficient for reset.
33424
33425         getopt-posix: avoid spurious failure on FreeBSD
33426         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
33427         in POSIX mode, since the m4 test uses it.
33428
33429         gnulib-tool: silence warning on BSD sh
33430         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
33431
33432 2010-04-13  Jim Meyering  <meyering@redhat.com>
33433
33434         doc: users.txt: GNU patch now uses gnulib
33435         * users.txt: Add patch.
33436
33437 2010-04-12  Jim Meyering  <meyering@redhat.com>
33438
33439         maint.mk: generate more concise timing data for syntax-check rules
33440         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
33441         " done" from each line that reports a syntax-check test duration.
33442
33443 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
33444
33445         git-version-gen: use "git update-index..." rather than "git status"
33446         * build-aux/git-version-gen: Use git update-index --refresh, not
33447         "git status".  With some versions of git, "git status" would fail
33448         to update the index and result in an unwarranted "-dirty" suffix.
33449
33450 2010-04-11  Jim Meyering  <meyering@redhat.com>
33451
33452         openat: correct formatting (no semantic change)
33453         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
33454         Suggested by Bruno Haible.
33455
33456 2010-04-11  Bruno Haible  <bruno@clisp.org>
33457
33458         Stricter declaration checking in testdirs.
33459         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33460         If for_tests is true, augment AM_CPPFLAGS to define
33461         GNULIB_STRICT_CHECKING.
33462         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
33463         GNULIB_STRICT_CHECKING is defined, verify that the function is
33464         declared.
33465
33466 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
33467             Bruno Haible  <bruno@clisp.org>
33468
33469         libunistring: Improve configure output.
33470         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
33471         Don't say "consider installing GNU libunistring" when checking again
33472         with libiconv.
33473
33474 2010-04-11  Bruno Haible  <bruno@clisp.org>
33475
33476         libunistring: Correct value of $LTLIBUNISTRING.
33477         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
33478         correct the value of $LTLIBUNISTRING.
33479
33480 2010-04-11  Bruno Haible  <bruno@clisp.org>
33481
33482         havelib: Add static libraries to LIBS in the right order.
33483         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
33484         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
33485
33486 2010-04-11  Bruno Haible  <bruno@clisp.org>
33487
33488         libunistring: Detect libunistring also when it depends on libiconv.
33489         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
33490         the second AC_LIB_HAVE_LINKFLAGS invocation.
33491
33492 2010-04-11  James Youngman  <jay@gnu.org>
33493
33494         close-stream: declare local scalars to be "const"
33495         * lib/close-stream.c (close_stream): Make boolean variables const
33496         to document the fact that we set but do not change them.
33497
33498 2010-04-11  Bruno Haible  <bruno@clisp.org>
33499
33500         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
33501
33502 2010-04-11  Jim Meyering  <meyering@redhat.com>
33503
33504         maint.mk: don't include dist-check.mk
33505         * top/maint.mk: Remove bogus include directive.
33506
33507         maint.mk: improve empty-line-at-EOF check
33508         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
33509         solution, rather than tail+Perl-based one.  The latter would read
33510         a few kilobytes from the end of each file, and did not handle empty
33511         files properly.
33512
33513         maint.mk: print the elapsed time for each syntax-check rule
33514         * top/maint.mk (sc_m_rules_): Save start time in a file.
33515         (sc_z_rules_): New rules: remove temp file and print elapsed time.
33516         (local-check): Interpose the .z rules
33517
33518 2010-04-11  Jim Meyering  <meyering@redhat.com>
33519
33520         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
33521         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
33522         empty file with one that ends in an empty line.
33523
33524 2010-04-10  Bruno Haible  <bruno@clisp.org>
33525
33526         mkdir: Make it work on mingw64.
33527         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
33528         * lib/mkdir.c: Update comment.
33529         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
33530
33531 2010-04-10  Bruno Haible  <bruno@clisp.org>
33532
33533         Don't override improved macro from newer autoconf.
33534         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
33535         autoconf >= 2.62.
33536         Reported by Joel E. Denny <jdenny@clemson.edu>.
33537
33538 2010-04-10  Jim Meyering  <meyering@redhat.com>
33539
33540         maint.mk: new syntax-check rule: prohibit empty lines at end of file
33541         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
33542
33543         maint.mk: correct a diagnostic
33544         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
33545         in diagnostic; now use $prohibit.
33546
33547 2010-04-10  Bruno Haible  <address@hidden>
33548
33549         fchownat: Fix a C++ test error on Solaris 8.
33550         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
33551         the function does not exist.
33552
33553 2010-04-10  Bruno Haible  <bruno@clisp.org>
33554
33555         vasnprintf: Add more tests.
33556         * tests/test-vasnprintf-posix.c: Include <errno.h>.
33557         (test_function): Test converting an invalid wide string.
33558
33559         vasnprintf: Correct handling of unconvertible wide string arguments.
33560         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
33561         VASNPRINTF.
33562         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
33563         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
33564         smaller than the expected maximum need for the directive. Set errno to
33565         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
33566         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
33567         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
33568         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
33569         * modules/vasnprintf (Files): Add m4/printf.m4.
33570         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33571
33572 2010-04-10  Bruno Haible  <bruno@clisp.org>
33573
33574         vasnprintf: Fix crash in %ls directive.
33575         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
33576         string is passed as argument to %ls, with no precision and no width.
33577         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33578
33579 2010-04-10  Bruno Haible  <bruno@clisp.org>
33580
33581         vasnprintf: Fix multiple test failures on mingw.
33582         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
33583         _snprintf, or snwprintf, not _snwprintf.
33584
33585 2010-04-10  Bruno Haible  <bruno@clisp.org>
33586
33587         write: Fix a C++ test error on mingw.
33588         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
33589
33590 2010-04-10  Bruno Haible  <bruno@clisp.org>
33591
33592         vasnprintf test: Reduce code duplication.
33593         * tests/test-vasnprintf.c (test_function): New function, extracted from
33594         test_vasnprintf.
33595         (test_vasnprintf, test_asnprintf): Invoke it.
33596
33597 2010-04-10  Bruno Haible  <bruno@clisp.org>
33598
33599         strnlen: Fix warning in C++ mode on MacOS X.
33600         * lib/string.in.h (strnlen): Use the modern idiom.
33601         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
33602         defining strnlen as a macro already in <config.h>.
33603         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33604         REPLACE_STRNLEN.
33605         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
33606         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33607
33608 2010-04-08  James Youngman  <jay@gnu.org>
33609
33610         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
33611         the example.
33612
33613 2010-04-09  Jim Meyering  <meyering@redhat.com>
33614
33615         maint.mk: print better diagnostic when there is no $(_hv_file)
33616         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
33617         announce that when $(_hv_file) (aka help-version) does not exist.
33618
33619         init.sh: run tr in the "C" locale to avoid multibyte interpretation
33620         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
33621         not try to interpret its random input bytes.  Jarno Rajahalme reported
33622         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
33623         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
33624         (mktempd_): Likewise, just in case.
33625
33626         ftruncate: add two years to projected module removal date: 2012
33627         * m4/ftruncate.m4: Adjust comments.
33628
33629         ftruncate: mark module as obsolete; even MinGW provides it, now
33630         * modules/ftruncate (Status): Obsolete.
33631         (Notice): Say that.
33632         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
33633         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
33634
33635 2010-04-08  Bruno Haible  <bruno@clisp.org>
33636
33637         Fix side effects from tests-related modules.
33638         * modules/dprintf-posix (Comment): New section.
33639         * modules/fprintf-posix (Comment): Likewise.
33640         * modules/obstack-printf-posix (Comment): Likewise.
33641         * modules/printf-posix (Comment): Likewise.
33642         * modules/snprintf-posix (Comment): Likewise.
33643         * modules/sprintf-posix (Comment): Likewise.
33644         * modules/vasnprintf-posix (Comment): Likewise.
33645         * modules/vasprintf-posix (Comment): Likewise.
33646         * modules/vdprintf-posix (Comment): Likewise.
33647         * modules/vfprintf-posix (Comment): Likewise.
33648         * modules/vprintf-posix (Comment): Likewise.
33649         * modules/vsnprintf-posix (Comment): Likewise.
33650         * modules/vsprintf-posix (Comment): Likewise.
33651         * modules/xprintf-posix (Comment): Likewise.
33652         * modules/xvasprintf-posix (Comment): Likewise.
33653         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
33654         * modules/floorf-tests (Depends-on): Likewise.
33655         * modules/round-tests (Depends-on): Likewise.
33656         * modules/roundf-tests (Depends-on): Likewise.
33657         * modules/trunc-tests (Depends-on): Likewise.
33658         * modules/truncf-tests (Depends-on): Likewise.
33659         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
33660         'fprintf-posix' module is not present.
33661         * tests/test-floorf2.c (check): Likewise.
33662         * tests/test-trunc2.c (check): Likewise.
33663         * tests/test-truncf2.c (check): Likewise.
33664         * tests/test-round2.c (equal): Likewise.
33665         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33666
33667 2010-04-07  Karl Berry  <karl@gnu.org>
33668
33669         * config/srclist.txt,
33670         * config/srclistvars.sh,
33671         * config/srclist-update: doc fixes.
33672
33673 2010-04-07  Jim Meyering  <meyering@redhat.com>
33674
33675         maint.mk: add a PATH crosschecking syntax-check rule
33676         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
33677         Useful if you use a test like the one in help-version (coreutils,
33678         diffutils, grep, gzip) that ensures $(VERSION) matches what is
33679         printed by prog --version.
33680
33681 2010-04-06  Bruno Haible  <bruno@clisp.org>
33682
33683         Fix link error on mingw.
33684         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
33685         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
33686
33687 2010-04-06  Bruno Haible  <bruno@clisp.org>
33688
33689         Assume rmdir exists.
33690         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
33691
33692 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
33693
33694         doc: update users.txt
33695         * users.txt: Add gcal.
33696
33697 2010-04-06  Jim Meyering  <meyering@redhat.com>
33698
33699         init.sh: simply unset TMPDIR rather than risking env -i
33700         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
33701         although it probably works fine on all Unix-based systems, some
33702         systems (Cygwin?) cannot tolerate a totally cleared environment.
33703         Suggestion from Eric Blake.
33704
33705 2010-04-06  Jim Meyering  <meyering@redhat.com>
33706
33707         init.sh: portability fix: use env's POSIX-specified -i option not -u
33708         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
33709         than unportable env -u.  Solaris 5.11's env lacks support for -u.
33710
33711 2010-04-05  Bruno Haible  <bruno@clisp.org>
33712
33713         btowc: Work around Cygwin 1.7.2 bug.
33714         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
33715         does not map NUL to 0.
33716         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
33717
33718 2010-04-05  Bruno Haible  <bruno@clisp.org>
33719
33720         Make the multithread modules work on Cygwin 1.7.2.
33721         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
33722         imported symbols can be declared weak, so that it returns "no" on
33723         Cygwin 1.7.2.
33724
33725 2010-04-05  Bruno Haible  <bruno@clisp.org>
33726
33727         Use the module 'strncat'.
33728         * modules/unistr/u8-strncat (Depends-on): Add strncat.
33729
33730         Tests for module 'strncat'.
33731         * modules/strncat-tests: New file.
33732         * tests/test-strncat.c: New file.
33733
33734         New module 'strncat'.
33735         * lib/string.in.h (strncat): New declaration.
33736         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
33737         * m4/strncat.m4: New file, based on m4/memchr.m4.
33738         * modules/strncat: New file.
33739         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
33740         is declared.
33741         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
33742         REPLACE_STRNCAT.
33743         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
33744         REPLACE_STRNCAT.
33745         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
33746         module.
33747         * tests/test-string-c++.cc: Check signature of strncat.
33748
33749 2010-04-05  Jim Meyering  <meyering@redhat.com>
33750
33751         xstrtoumax-tests: convert to use init.sh
33752         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
33753         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
33754         Use Exit, not exit.
33755         Remove uses of $EXEEXT and "./" to run a program in the current dir.
33756
33757         xstrtoimax-tests: convert to use init.sh
33758         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
33759         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
33760         Use Exit, not exit.
33761         Remove uses of $EXEEXT and "./" to run a program in the current dir.
33762
33763 2010-04-05  Bruno Haible  <bruno@clisp.org>
33764
33765         sys_socket: Avoid #define replacements in C++ mode.
33766         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
33767         warning to the function if possible, rather than #defining the symbol
33768         to a dysfunctional alias.
33769
33770 2010-04-05  Bruno Haible  <bruno@clisp.org>
33771
33772         fseeko: Fix C++ test error on mingw.
33773         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
33774         gl_FUNC_FSEEKO.
33775         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
33776         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
33777         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
33778         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
33779
33780 2010-04-05  Bruno Haible  <bruno@clisp.org>
33781
33782         duplocale: Improve test output.
33783         * tests/test-duplocale.c (main): Print reason for skipped test.
33784
33785 2010-04-05  Bruno Haible  <bruno@clisp.org>
33786
33787         Assume rmdir exists.
33788         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
33789         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
33790
33791 2010-04-05  Bruno Haible  <bruno@clisp.org>
33792
33793         Fix link error on Solaris 8 with cc.
33794         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
33795
33796 2010-04-05  Bruno Haible  <bruno@clisp.org>
33797
33798         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
33799         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
33800
33801 2010-04-05  Bruno Haible  <bruno@clisp.org>
33802
33803         vasprintf: Update documentation.
33804         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
33805
33806 2010-04-05  Bruno Haible  <bruno@clisp.org>
33807
33808         ptsname: Improve test.
33809         * tests/test-ptsname.c (main): Also try the various master names of BSD
33810         systems.
33811
33812 2010-04-05  Bruno Haible  <bruno@clisp.org>
33813
33814         memchr: Avoid a possible C++ test error.
33815         * lib/string.in.h (memchr): Provide declaration if function is missing.
33816         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
33817         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
33818         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
33819         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
33820
33821 2010-04-05  Bruno Haible  <bruno@clisp.org>
33822
33823         strtok_r: Improve idiom.
33824         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
33825         AC_LIBOBJ is used.
33826
33827 2010-04-05  Bruno Haible  <bruno@clisp.org>
33828
33829         strdup: Improve idiom.
33830         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
33831         AC_LIBOBJ is used.
33832         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
33833         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
33834         when AC_LIBOBJ is used.
33835
33836 2010-04-05  Bruno Haible  <bruno@clisp.org>
33837
33838         mbsinit, mbrtowc, wcrtomb: Improve idioms.
33839         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
33840         don't set REPLACE_MBSINIT to 1.
33841         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
33842         don't set REPLACE_MBRTOWC to 1.
33843         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
33844         exist, don't set REPLACE_MBSRTOWCS to 1.
33845         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
33846         exist, don't set REPLACE_MBSNRTOWCS to 1.
33847         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
33848         don't set REPLACE_WCRTOMB to 1.
33849         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
33850         exist, don't set REPLACE_WCSRTOMBS to 1.
33851         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
33852         exist, don't set REPLACE_WCSNRTOMBS to 1.
33853
33854 2010-04-05  Bruno Haible  <bruno@clisp.org>
33855
33856         ldexpl: Improve idiom.
33857         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
33858         make sure to set HAVE_DECL_LDEXPL to 0.
33859
33860 2010-04-05  Jim Meyering  <meyering@redhat.com>
33861
33862         xstrtol-tests: convert to use init.sh
33863         * modules/xstrtol-tests (Files): Add tests/init.sh.
33864         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
33865         Use Exit, not exit.
33866         Remove uses of $EXEEXT and "./" to run a program in the current dir.
33867
33868         atexit-tests: convert to use init.sh
33869         * modules/atexit-tests (Files): Add tests/init.sh.
33870         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
33871         Use Exit, not exit.
33872         Remove uses of $EXEEXT and "./" to run a program in the current dir.
33873
33874         init.sh: fix typo
33875         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
33876
33877         init.sh: make it easier for a test script to write to the tty, ...
33878         when using automake's parallel-tests mode.
33879         * tests/init.sh (stderr_fileno_): Define overridable variable.
33880         (warn_): New function, to use it.
33881         (fail_, skip_, framework_failure_): Use warn_.
33882
33883 2010-04-04  Bruno Haible  <bruno@clisp.org>
33884
33885         btowc: Avoid warning.
33886         * lib/btowc.c: Include <stdlib.h>.
33887         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
33888
33889 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
33890             Bruno Haible  <bruno@clisp.org>
33891
33892         wchar: Port to NetBSD 1.5.
33893         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
33894         * lib/wctype.in.h (WEOF): Likewise.
33895
33896 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
33897             Bruno Haible  <bruno@clisp.org>
33898
33899         Port extended stdio to NetBSD 1.5.
33900         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
33901         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
33902         older.
33903
33904 2010-04-04  Bruno Haible  <bruno@clisp.org>
33905
33906         string: Remove unused substitution.
33907         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
33908         HAVE_DECL_STRERROR.
33909         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
33910
33911 2010-04-04  Bruno Haible  <bruno@clisp.org>
33912
33913         strtod: Avoid a possible C++ test error.
33914         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
33915         set REPLACE_STRTOD.
33916
33917 2010-04-04  Bruno Haible  <bruno@clisp.org>
33918
33919         strerror: Update documentation.
33920         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
33921
33922 2010-04-04  Bruno Haible  <bruno@clisp.org>
33923
33924         stdio: Fix some C++ test errors on Solaris 8 with GCC.
33925         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
33926         _GL_CXXALIAS_SYS_CAST.
33927
33928 2010-04-04  Bruno Haible  <bruno@clisp.org>
33929
33930         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
33931         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
33932         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
33933         REPLACE_FREXPL to 1.
33934         * doc/posix-functions/frexpl.texi: Update documentation.
33935
33936 2010-04-04  Bruno Haible  <bruno@clisp.org>
33937
33938         math: Fix some C++ test errors on Solaris 8 and Cygwin.
33939         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
33940
33941 2010-04-04  Bruno Haible  <bruno@clisp.org>
33942
33943         Implement nanosleep for native Windows.
33944         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
33945
33946 2010-04-04  Bruno Haible  <bruno@clisp.org>
33947
33948         math: Fix some C++ test errors on Solaris 8.
33949         * lib/math.in.h (truncf, trunc): Use simpler idiom.
33950
33951 2010-04-04  Bruno Haible  <bruno@clisp.org>
33952
33953         math: Fix some C++ test errors on Cygwin.
33954         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
33955         truncl): Provide declaration if the system does not have it.
33956         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
33957         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
33958         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
33959         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
33960         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
33961         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
33962         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
33963         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
33964         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
33965         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
33966         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
33967         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
33968         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
33969         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
33970         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
33971         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
33972         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
33973         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
33974         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
33975         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
33976         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
33977         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
33978
33979 2010-04-04  Bruno Haible  <bruno@clisp.org>
33980
33981         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
33982         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
33983         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
33984         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
33985         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
33986         * m4/isinf.m4 (gl_ISINF): Likewise.
33987         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
33988
33989 2010-04-04  Bruno Haible  <bruno@clisp.org>
33990
33991         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
33992         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
33993
33994 2010-04-04  Bruno Haible  <bruno@clisp.org>
33995
33996         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
33997         * modules/tmpfile (configure.ac): Update.
33998
33999         tmpfile: Fix C++ test error on mingw.
34000         * lib/stdio.in.h (tmpfile): New declaration.
34001         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
34002         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
34003         * modules/tmpfile (Depends-on): Add stdio.
34004         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34005         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
34006         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
34007         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
34008         REPLACE_TMPFILE.
34009         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
34010
34011 2010-04-04  Bruno Haible  <bruno@clisp.org>
34012
34013         ioctl: Fix C++ test error on mingw.
34014         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
34015         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
34016         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
34017
34018 2010-04-03  Bruno Haible  <bruno@clisp.org>
34019
34020         wcwidth: Fix C++ test error on mingw.
34021         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
34022         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
34023         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
34024
34025 2010-04-03  Bruno Haible  <bruno@clisp.org>
34026
34027         nanosleep: Fix C++ test error on mingw.
34028         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
34029         * lib/time.in.h (nanosleep): Use modern idiom.
34030         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
34031         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
34032         REPLACE_NANOSLEEP to 1.
34033         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
34034         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
34035
34036 2010-04-03  Bruno Haible  <bruno@clisp.org>
34037
34038         strptime: Fix C++ test error on mingw.
34039         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
34040         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
34041         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
34042         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
34043         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
34044         not REPLACE_STRPTIME.
34045         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
34046         REPLACE_STRPTIME.
34047
34048 2010-04-03  Bruno Haible  <bruno@clisp.org>
34049
34050         timegm: Fix C++ test error on mingw.
34051         * lib/time.in.h (timegm): Use modern idiom.
34052         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
34053         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
34054         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
34055         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
34056
34057 2010-04-03  Bruno Haible  <bruno@clisp.org>
34058
34059         timegm: Assume declaration if function exists.
34060         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
34061         if it exists. Don't clobber ac_cv_func_timegm.
34062
34063 2010-04-03  Bruno Haible  <bruno@clisp.org>
34064
34065         time_r: Fix C++ test error on mingw.
34066         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
34067         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
34068         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
34069         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
34070         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
34071
34072 2010-04-03  Bruno Haible  <bruno@clisp.org>
34073
34074         time_r: Minor updates.
34075         * modules/time_r (Description): Mention the provided functions.
34076         * lib/time_r.c: Don't include <string.h>.
34077         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
34078         * doc/posix-functions/localtime_r.texi: Likewise.
34079
34080 2010-04-03  Bruno Haible  <bruno@clisp.org>
34081
34082         time: Fix regression introduced on 2010-03-08.
34083         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
34084         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
34085
34086 2010-04-03  Jim Meyering  <meyering@redhat.com>
34087
34088         maint.mk: don't silently disable project-specific syntax-check rules
34089         * top/maint.mk (_prohibit_regexp): Define, to help people realize
34090         that they need to convert their project-specific syntax-check rules
34091         to use the new _sc_search_regexp.
34092
34093 2010-04-03  Bruno Haible  <bruno@clisp.org>
34094
34095         fchdir: Fix regression introduced on 2010-03-08.
34096         * lib/unistd.in.h (fchdir): Fix declaration.
34097         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
34098         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
34099         REPLACE_FCHDIR.
34100         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
34101         REPLACE_FCHDIR.
34102
34103 2010-04-03  Bruno Haible  <bruno@clisp.org>
34104
34105         getpagesize: Fix C++ test error on mingw.
34106         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
34107         system does not declare the function.
34108         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
34109         declared.
34110         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34111         HAVE_DECL_GETPAGESIZE.
34112         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
34113
34114 2010-04-03  Bruno Haible  <bruno@clisp.org>
34115
34116         stdio: Make C++ tests work on mingw.
34117         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
34118         does not declare the function.
34119
34120 2010-04-03  Bruno Haible  <bruno@clisp.org>
34121
34122         ftello: Fix C++ test error on mingw.
34123         * lib/stdio.in.h (ftello): Use modern idiom.
34124         * lib/ftello.c (ftello): Renamed from rpl_ftello.
34125         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
34126         is missing and that it needs to be replaced.
34127         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
34128         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
34129         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
34130
34131 2010-04-03  Bruno Haible  <bruno@clisp.org>
34132
34133         fseeko: Fix C++ test error on mingw.
34134         * lib/stdio.in.h (fseeko): Use modern idiom.
34135         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
34136         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
34137         is missing and that it needs to be replaced.
34138         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
34139         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
34140         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
34141
34142 2010-04-03  Bruno Haible  <bruno@clisp.org>
34143
34144         mkstemp: Fix C++ test error on mingw.
34145         * lib/stdlib.in.h (mkstemp): Use modern idiom.
34146         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
34147         function is missing and that it needs to be replaced.
34148         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
34149         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
34150
34151 2010-04-03  Bruno Haible  <bruno@clisp.org>
34152
34153         stpncpy: Fix C++ test error on mingw.
34154         * lib/string.in.h (stpncpy): Use modern idiom.
34155         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
34156         function is missing and that it needs to be replaced.
34157         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34158         REPLACE_STPNCPY.
34159         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
34160
34161 2010-04-03  Bruno Haible  <bruno@clisp.org>
34162
34163         sys_stat: Fix C++ test error on mingw.
34164         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
34165         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
34166
34167 2010-04-03  Bruno Haible  <bruno@clisp.org>
34168
34169         pty: Update doc.
34170         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
34171
34172 2010-04-03  Bruno Haible  <bruno@clisp.org>
34173
34174         unistd: Fix C++ test error on mingw.
34175         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
34176
34177 2010-04-03  Bruno Haible  <bruno@clisp.org>
34178
34179         Update doc regarding mingw.
34180         * doc/glibc-functions/openpty.texi: Update regarding mingw.
34181         * doc/glibc-functions/login_tty.texi: Likewise.
34182         * doc/glibc-functions/forkpty.texi: Likewise.
34183
34184 2010-04-03  Bruno Haible  <bruno@clisp.org>
34185
34186         stdlib: Avoid compilation failure of c-strtold on mingw.
34187         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
34188
34189 2010-04-03  Bruno Haible  <bruno@clisp.org>
34190
34191         locale: Make C++ tests work on Cygwin and mingw.
34192         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
34193         cannot provide the function.
34194         Reported by Simon Josefsson.
34195
34196 2010-04-03  Bruno Haible  <bruno@clisp.org>
34197
34198         localename: Port to MacOS X 10.6.
34199         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
34200         memory layout of the locales in MacOS X 10.6 as well.
34201         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
34202
34203 2010-04-02  Bruno Haible  <bruno@clisp.org>
34204
34205         gnulib-tool: Ensure that long-running tests are executed last.
34206         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
34207         running tests after the one for the other tests.
34208
34209 2010-04-02  Bruno Haible  <bruno@clisp.org>
34210
34211         gnulib-tool: Ensure the tests in the main directory are executed first.
34212         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
34213         start with the current directory.
34214
34215 2010-04-02  Bruno Haible  <bruno@clisp.org>
34216
34217         Tests for module 'havelib', moved here from GNU gettext.
34218         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
34219         modifications.
34220         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
34221         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
34222         with modifications.
34223         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
34224         modifications.
34225         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
34226         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
34227         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
34228         with modifications.
34229         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
34230         with modifications.
34231         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
34232         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
34233         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
34234         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
34235         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
34236         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
34237         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
34238         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
34239         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
34240         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
34241         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
34242         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
34243         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
34244         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
34245         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
34246         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
34247         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
34248         with modifications.
34249         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
34250         with modifications.
34251         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
34252         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
34253         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
34254         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
34255         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
34256         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
34257         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
34258         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
34259         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
34260         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
34261         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
34262         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
34263         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
34264         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
34265         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
34266         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
34267         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
34268         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
34269         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
34270         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
34271         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
34272         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
34273         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
34274         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
34275         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
34276         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
34277         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
34278         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
34279         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
34280         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
34281         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
34282         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
34283         * tests/havelib/rpathx/rpathx.c: New file, from
34284         gettext/autoconf-lib-link.
34285         * tests/havelib/rpathx/Makefile.am: New file, from
34286         gettext/autoconf-lib-link.
34287         * tests/havelib/rpathx/configure.ac: New file, from
34288         gettext/autoconf-lib-link with modifications.
34289         * tests/havelib/rpathy/rpathy.c: New file, from
34290         gettext/autoconf-lib-link.
34291         * tests/havelib/rpathy/Makefile.am: New file, from
34292         gettext/autoconf-lib-link.
34293         * tests/havelib/rpathy/configure.ac: New file, from
34294         gettext/autoconf-lib-link with modifications.
34295         * tests/havelib/rpathz/rpathz.c: New file, from
34296         gettext/autoconf-lib-link.
34297         * tests/havelib/rpathz/Makefile.am: New file, from
34298         gettext/autoconf-lib-link.
34299         * tests/havelib/rpathz/configure.ac: New file, from
34300         gettext/autoconf-lib-link with modifications.
34301         * tests/havelib/rpathlx/usex.c: New file, from
34302         gettext/autoconf-lib-link.
34303         * tests/havelib/rpathlx/Makefile.am: New file, from
34304         gettext/autoconf-lib-link.
34305         * tests/havelib/rpathlx/configure.ac: New file, from
34306         gettext/autoconf-lib-link with modifications.
34307         * tests/havelib/rpathly/usey.c: New file, from
34308         gettext/autoconf-lib-link.
34309         * tests/havelib/rpathly/Makefile.am: New file, from
34310         gettext/autoconf-lib-link.
34311         * tests/havelib/rpathly/configure.ac: New file, from
34312         gettext/autoconf-lib-link with modifications.
34313         * tests/havelib/rpathlz/usez.c: New file, from
34314         gettext/autoconf-lib-link.
34315         * tests/havelib/rpathlz/Makefile.am: New file, from
34316         gettext/autoconf-lib-link.
34317         * tests/havelib/rpathlz/configure.ac: New file, from
34318         gettext/autoconf-lib-link with modifications.
34319         * tests/havelib/rpathlyx/usey.c: New file, from
34320         gettext/autoconf-lib-link.
34321         * tests/havelib/rpathlyx/Makefile.am: New file, from
34322         gettext/autoconf-lib-link.
34323         * tests/havelib/rpathlyx/configure.ac: New file, from
34324         gettext/autoconf-lib-link with modifications.
34325         * tests/havelib/rpathlzyx/usez.c: New file, from
34326         gettext/autoconf-lib-link.
34327         * tests/havelib/rpathlzyx/Makefile.am: New file, from
34328         gettext/autoconf-lib-link.
34329         * tests/havelib/rpathlzyx/configure.ac: New file, from
34330         gettext/autoconf-lib-link with modifications.
34331         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
34332         with modifications.
34333
34334 2010-04-02  Bruno Haible  <bruno@clisp.org>
34335
34336         gnulib-tool: Create distributed built sources also for the tests.
34337         * gnulib-tool (func_create_testdir): Also generate distributed built
34338         sources in the tests directory.
34339
34340 2010-04-02  Bruno Haible  <bruno@clisp.org>
34341
34342         gnulib-tool: Obey user's environment variables.
34343         * gnulib-tool (func_create_testdir): When creating built sources,
34344         respect the environment variables for autoconf, automake, etc. given by
34345         the user.
34346
34347 2010-04-02  Bruno Haible  <bruno@clisp.org>
34348
34349         gnulib-tool: Provide the value of --m4-base to modules.
34350         * gnulib-tool (func_import, func_create_testdir): Emit a definition
34351         of gl_m4_base.
34352
34353 2010-04-02  Eric Blake  <eblake@redhat.com>
34354
34355         maint.mk: fix some fallout
34356         * NEWS: Document the incompatible change, and its effect on cfg.mk.
34357         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
34358
34359 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34360
34361         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
34362         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
34363         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
34364         (sc_cast_of_x_alloc_return_value): Likewise.
34365         (sc_cast_of_alloca_return_value): Likewise.
34366         (sc_space_tab): Likewise.
34367         (sc_prohibit_atoi_atof): Likewise.
34368         (sc_prohibit_magic_number_exit): Likewise.
34369         (sc_error_exit_success): Likewise.
34370         (sc_file_system): Likewise.
34371         (sc_prohibit_have_config_h): Likewise.
34372         (sc_require_config_h): Likewise.
34373         (sc_prohibit_HAVE_MBRTOWC): Likewise.
34374         (sc_obsolete_symbols): Likewise.
34375         (sc_changelog): Likewise.
34376         (sc_program_name): Likewise.
34377         (sc_the_the): Likewise.
34378         (sc_trailing_blank): Likewise.
34379         (sc_two_space_separator_in_usage): Likewise.
34380         (sc_useless_cpp_parens): Likewise.
34381         (sc_GPL_version): Likewise.
34382         (sc_GFDL_version): Likewise.
34383         (sc_texinfo_acronym): Likewise.
34384         (sc_prohibit_cvs_keyword): Likewise.
34385         (sc_prohibit_stat_st_blocks): Likewise.
34386         (sc_prohibit_S_IS_definition): Likewise.
34387         (sc_redundant_const): Likewise.
34388         (sc_makefile_TAB_only_indentation): Likewise.
34389         (sc_m4_quote_check): Likewise.
34390         (sc_makefile_path_separator_check): Likewise.
34391         (sc_copyright_check): Likewise.
34392         (sc_Wundef_boolean): Likewise.
34393         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
34394
34395         maint.mk: match 0 or more whitespace-before-function-call '('
34396         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
34397         that have zero or two-and-more spaces between the function name
34398         and the open parenthesis.
34399         (sc_error_message_warn_fatal): Likewise.
34400         (sc_error_message_uppercase): Likewise.
34401         (sc_error_message_period): Likewise.
34402
34403 2010-03-31  Eric Blake  <eblake@redhat.com>
34404
34405         maint.mk: check for [ as well as test
34406         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
34407         Based on a libvirt report by Matthias Bolte.
34408
34409         gnumakefile: don't squelch _version output
34410         * top/GNUmakefile (_version): Create one-shot dependency rather
34411         than using $(shell) when version must be regenerated.
34412         (_autoreconf): Run verbosely, by default.
34413
34414         sys_time: avoid compiler warnings
34415         * lib/sys_time.in.h (includes): Ensure gcc pragma is
34416         unconditional, fixing regression from 2010-03-29.
34417         Reported by Simon Josefsson.
34418
34419 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34420
34421         maint.mk: s/_header_without_use/_sc_header_without_use/
34422         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
34423         (sc_prohibit_assert_without_use): Use the new name.
34424         (sc_prohibit_close_stream_without_use): Likewise.
34425         (sc_prohibit_getopt_without_use): Likewise.
34426         (sc_prohibit_quotearg_without_use): Likewise.
34427         (sc_prohibit_quote_without_use): Likewise.
34428         (sc_prohibit_long_options_without_use): Likewise.
34429         (sc_prohibit_inttostr_without_use): Likewise.
34430         (sc_prohibit_ignore_value_without_use): Likewise.
34431         (sc_prohibit_error_without_use): Likewise.
34432         (sc_prohibit_xalloc_without_use): Likewise.
34433         (sc_prohibit_hash_without_use): Likewise.
34434         (sc_prohibit_hash_pjw_without_use): Likewise.
34435         (sc_prohibit_safe_read_without_use): Likewise.
34436         (sc_prohibit_argmatch_without_use): Likewise.
34437         (sc_prohibit_canonicalize_without_use): Likewise.
34438         (sc_prohibit_root_dev_ino_without_use): Likewise.
34439         (sc_prohibit_openat_without_use): Likewise.
34440         (sc_prohibit_c_ctype_without_use): Likewise.
34441         (sc_prohibit_signal_without_use): Likewise.
34442         (sc_prohibit_intprops_without_use): Likewise.
34443
34444 2010-03-30  Eric Blake  <eblake@redhat.com>
34445
34446         maint: improve module indicators
34447         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
34448         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
34449         columns, and avoid extra macro expansion.
34450
34451         fdopendir: work around FreeBSD bug
34452         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
34453         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
34454         * modules/dirent (Makefile.am): Substitute it.
34455         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
34456         declaration.
34457         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
34458         fix.
34459         Reported by Christian Weisgerber <naddy@mips.inka.de>.
34460
34461 2010-03-29  Bruno Haible  <bruno@clisp.org>
34462
34463         Emit #pragma system_header after the inclusion guard, not before.
34464         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
34465         guard that spans the entire file, not before. This enables an
34466         optimization in GCC's preprocessor.
34467         * lib/ctype.in.h: Likewise.
34468         * lib/dirent.in.h: Likewise.
34469         * lib/errno.in.h: Likewise.
34470         * lib/float.in.h: Likewise.
34471         * lib/getopt.in.h: Likewise.
34472         * lib/iconv.in.h: Likewise.
34473         * lib/langinfo.in.h: Likewise.
34474         * lib/locale.in.h: Likewise.
34475         * lib/math.in.h: Likewise.
34476         * lib/netdb.in.h: Likewise.
34477         * lib/netinet_in.in.h: Likewise.
34478         * lib/pty.in.h: Likewise.
34479         * lib/sched.in.h: Likewise.
34480         * lib/se-selinux.in.h: Likewise.
34481         * lib/search.in.h: Likewise.
34482         * lib/spawn.in.h: Likewise.
34483         * lib/stdarg.in.h: Likewise.
34484         * lib/stdint.in.h: Likewise.
34485         * lib/string.in.h: Likewise.
34486         * lib/strings.in.h: Likewise.
34487         * lib/sys_file.in.h: Likewise.
34488         * lib/sys_ioctl.in.h: Likewise.
34489         * lib/sys_time.in.h: Likewise.
34490         * lib/sys_times.in.h: Likewise.
34491         * lib/sys_utsname.in.h: Likewise.
34492         * lib/sys_wait.in.h: Likewise.
34493         * lib/sysexits.in.h: Likewise.
34494         * lib/wctype.in.h: Likewise.
34495
34496 2010-03-28  James Youngman  <jay@gnu.org>
34497
34498         save-cwd: don't leak a file descriptor when the caller execs.
34499         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
34500         saved file descriptor.
34501         * modules/save-cwd (Depends-on): Depend on cloexec.
34502
34503 2010-03-29  Bruno Haible  <bruno@clisp.org>
34504
34505         Remove vestiges of fts-lgpl module.
34506         * lib/fts_.h: Assume GNULIB_FTS is 1.
34507         * lib/fts.c: Likewise.
34508         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
34509
34510 2010-03-28  Bruno Haible  <bruno@clisp.org>
34511
34512         Fix definition of tests witness macro.
34513         * gnulib-tool (func_import): Fix definition of witness macro.
34514
34515 2010-03-28  Bruno Haible  <bruno@clisp.org>
34516
34517         Fix ioctl's protoype on glibc systems.
34518         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
34519         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
34520         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
34521         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
34522         signature. If not, arrange to replace the ioctl function.
34523         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
34524         REPLACE_IOCTL.
34525         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
34526         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
34527         Reported by Ludovic Courtès <ludo@gnu.org>.
34528
34529 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
34530
34531         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
34532         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
34533         made it so grep -r --include=GLOB* ... did not work.
34534
34535 2010-03-26  Jim Meyering  <meyering@redhat.com>
34536             Eric Blake  <eblake@redhat.com>
34537
34538         maint.mk: prohibit use of test's -o and -a operators
34539         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
34540
34541 2010-03-28  Bruno Haible  <bruno@clisp.org>
34542
34543         Remove unused GNULIB_XYZ macro definitions.
34544         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
34545         invocation.
34546
34547 2010-03-28  Bruno Haible  <bruno@clisp.org>
34548
34549         Mark privileged tests modules.
34550         * modules/idpriv-drop-tests (Status): New section.
34551         * modules/idpriv-droptemp-tests (Status): New section.
34552
34553 2010-03-28  Bruno Haible  <bruno@clisp.org>
34554
34555         Split C++ tests into separate tests modules.
34556         * modules/dirent-c++-tests: New file, extracted from
34557         modules/dirent-tests.
34558         * modules/dirent-tests: Depend on it.
34559         * modules/fcntl-h-c++-tests: New file, extracted from
34560         modules/fcntl-h-tests.
34561         * modules/fcntl-h-tests: Depend on it.
34562         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
34563         * modules/glob-tests: Depend on it.
34564         * modules/iconv-h-c++-tests: New file, extracted from
34565         modules/iconv-h-tests.
34566         * modules/iconv-h-tests: Depend on it.
34567         * modules/langinfo-c++-tests: New file, extracted from
34568         modules/langinfo-tests.
34569         * modules/langinfo-tests: Depend on it.
34570         * modules/locale-c++-tests: New file, extracted from
34571         modules/locale-tests.
34572         * modules/locale-tests: Depend on it.
34573         * modules/math-c++-tests: New file, extracted from modules/math-tests.
34574         * modules/math-tests: Depend on it.
34575         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
34576         * modules/pty-tests: Depend on it.
34577         * modules/search-c++-tests: New file, extracted from
34578         modules/search-tests.
34579         * modules/search-tests: Depend on it.
34580         * modules/signal-c++-tests: New file, extracted from
34581         modules/signal-tests.
34582         * modules/signal-tests: Depend on it.
34583         * modules/spawn-c++-tests: New file, extracted from
34584         modules/spawn-tests.
34585         * modules/spawn-tests: Depend on it.
34586         * modules/stdio-c++-tests: New file, extracted from
34587         modules/stdio-tests.
34588         * modules/stdio-tests: Depend on it.
34589         * modules/stdlib-c++-tests: New file, extracted from
34590         modules/stdlib-tests.
34591         * modules/stdlib-tests: Depend on it.
34592         * modules/string-c++-tests: New file, extracted from
34593         modules/string-tests.
34594         * modules/string-tests: Depend on it.
34595         * modules/sys_ioctl-c++-tests: New file, extracted from
34596         modules/sys_ioctl-tests.
34597         * modules/sys_ioctl-tests: Depend on it.
34598         * modules/sys_select-c++-tests: New file, extracted from
34599         modules/sys_select-tests.
34600         * modules/sys_select-tests: Depend on it.
34601         * modules/sys_socket-c++-tests: New file, extracted from
34602         modules/sys_socket-tests.
34603         * modules/sys_socket-tests: Depend on it.
34604         * modules/sys_stat-c++-tests: New file, extracted from
34605         modules/sys_stat-tests.
34606         * modules/sys_stat-tests: Depend on it.
34607         * modules/sys_time-c++-tests: New file, extracted from
34608         modules/sys_time-tests.
34609         * modules/sys_time-tests: Depend on it.
34610         * modules/time-c++-tests: New file, extracted from modules/time-tests.
34611         * modules/time-tests: Depend on it.
34612         * modules/unistd-c++-tests: New file, extracted from
34613         modules/unistd-tests.
34614         * modules/unistd-tests: Depend on it.
34615         * modules/wchar-c++-tests: New file, extracted from
34616         modules/wchar-tests.
34617         * modules/wchar-tests: Depend on it.
34618         * modules/wctype-c++-tests: New file, extracted from
34619         modules/wctype-tests.
34620         * modules/wctype-tests: Depend on it.
34621         Reported by Simon Josefsson.
34622
34623 2010-03-28  Bruno Haible  <bruno@clisp.org>
34624
34625         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
34626         * gnulib-tool (func_exists_module): New function, extracted from
34627         func_verify_module.
34628         (func_verify_module): Use it.
34629         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
34630         'foo' only if 'foo' exists.
34631         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
34632         module.
34633
34634 2010-03-28  Bruno Haible  <bruno@clisp.org>
34635
34636         gnulib-tool: Add support for special categories of tests.
34637         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
34638         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
34639         (func_usage): Document them.
34640         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
34641         inc_unportable_tests, inc_all_tests): New variables.
34642         (func_acceptable): Consider these variables.
34643         (func_modules_transitive_closure): Make it work when the 'Status' field
34644         consists of multiple words.
34645         (func_import): Store and restore the values of inc_cxx_tests,
34646         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
34647         inc_all_tests in gnulib-comp.m4.
34648         (func_create_testdir): Set inc_all_tests to true.
34649         * doc/gnulib.texi (Extra tests modules): New section.
34650         Suggested by Jim Meyering.
34651
34652 2010-03-28  Bruno Haible  <bruno@clisp.org>
34653
34654         ansi-c++-opt: Allow turning off the C++ build by default.
34655         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
34656         gl_CXX_CHOICE_DEFAULT_NO is defined.
34657         Requested by Eric Blake.
34658
34659 2010-03-28  Bruno Haible  <bruno@clisp.org>
34660
34661         unistd: Avoid #define replacements in C++ mode.
34662         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
34663         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
34664         setsockopt, shutdown, select): In C++, attach a warning to the function
34665         if possible, rather than #defining the symbol to a dysfunctional alias.
34666         Reported by John W. Eaton <jwe@gnu.org>.
34667
34668 2010-03-28  Bruno Haible  <bruno@clisp.org>
34669
34670         Fix link errors on mingw.
34671         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
34672         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
34673         $(LIBSOCKET).
34674         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
34675         $(LIBSOCKET).
34676
34677 2010-03-28  Bruno Haible  <bruno@clisp.org>
34678             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34679
34680         lib-ignore: Determine different options for different compilers.
34681         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
34682         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
34683         Add comments.
34684         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
34685         * NEWS: Mention the change.
34686
34687 2010-03-27  Bruno Haible  <bruno@clisp.org>
34688
34689         Remove unused GNULIB_XYZ macro definitions.
34690         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
34691         * modules/fseek (configure.ac): Likewise.
34692         * modules/ioctl (configure.ac): Likewise.
34693         * modules/open (configure.ac): Likewise.
34694         * modules/stdlib-safer (configure.ac): Likewise.
34695
34696 2010-03-27  Bruno Haible  <bruno@clisp.org>
34697
34698         Add a remark about certain modules.
34699         * modules/malloc (Comment): New section.
34700         * modules/realloc (Comment): Likewise.
34701         * modules/sigpipe (Comment): Likewise.
34702
34703 2010-03-27  Bruno Haible  <bruno@clisp.org>
34704
34705         Resolve conflict between the two kinds of module indicators.
34706         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
34707         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
34708         * modules/canonicalize (configure.ac): Invoke
34709         gl_MODULE_INDICATOR_FOR_TESTS.
34710         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
34711         GNULIB_XYZ.
34712         * tests/test-dirent-c++.cc: Likewise.
34713         * tests/test-dirent-safer.c: Likewise.
34714         * tests/test-dup2.c: Likewise.
34715         * tests/test-fchdir.c: Likewise.
34716         * tests/test-fcntl-h-c++.cc: Likewise.
34717         * tests/test-getopt.c: Likewise.
34718         * tests/test-getopt.h: Likewise.
34719         * tests/test-langinfo-c++.cc: Likewise.
34720         * tests/test-locale-c++.cc: Likewise.
34721         * tests/test-math-c++.cc: Likewise.
34722         * tests/test-pty-c++.cc: Likewise.
34723         * tests/test-search-c++.cc: Likewise.
34724         * tests/test-signal-c++.cc: Likewise.
34725         * tests/test-spawn-c++.cc: Likewise.
34726         * tests/test-stdio-c++.cc: Likewise.
34727         * tests/test-stdlib-c++.cc: Likewise.
34728         * tests/test-string-c++.cc: Likewise.
34729         * tests/test-sys_ioctl-c++.cc: Likewise.
34730         * tests/test-sys_select-c++.cc: Likewise.
34731         * tests/test-sys_socket-c++.cc: Likewise.
34732         * tests/test-sys_stat-c++.cc: Likewise.
34733         * tests/test-sys_time-c++.cc: Likewise.
34734         * tests/test-time-c++.cc: Likewise.
34735         * tests/test-unistd-c++.cc: Likewise.
34736         * tests/test-wchar-c++.cc: Likewise.
34737         * tests/uninorm/test-u8-nfc.c: Likewise.
34738         * tests/uninorm/test-u8-nfd.c: Likewise.
34739         * tests/uninorm/test-u8-nfkc.c: Likewise.
34740         * tests/uninorm/test-u8-nfkd.c: Likewise.
34741         * tests/uninorm/test-u16-nfc.c: Likewise.
34742         * tests/uninorm/test-u16-nfd.c: Likewise.
34743         * tests/uninorm/test-u16-nfkc.c: Likewise.
34744         * tests/uninorm/test-u16-nfkd.c: Likewise.
34745         * tests/uninorm/test-u32-nfc.c: Likewise.
34746         * tests/uninorm/test-u32-nfc-big.c: Likewise.
34747         * tests/uninorm/test-u32-nfd.c: Likewise.
34748         * tests/uninorm/test-u32-nfd-big.c: Likewise.
34749         * tests/uninorm/test-u32-nfkc.c: Likewise.
34750         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
34751         * tests/uninorm/test-u32-nfkd.c: Likewise.
34752         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
34753         * tests/uninorm/test-u32-normalize-big.c: Likewise.
34754
34755 2010-03-27  Bruno Haible  <bruno@clisp.org>
34756
34757         Distinguish two kinds of module indicators.
34758         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
34759         gl_MODULE_INDICATOR.
34760         (gl_MODULE_INDICATOR): New macro.
34761         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
34762         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
34763         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
34764         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
34765         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
34766         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
34767         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
34768         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
34769         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
34770         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
34771         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
34772         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
34773         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
34774         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
34775         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
34776         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
34777         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
34778         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
34779         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
34780         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
34781         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
34782         * modules/cloexec (configure.ac): Likewise.
34783         * modules/getopt-gnu (configure.ac): Likewise.
34784         * modules/uninorm/u8-normalize (configure.ac): Likewise.
34785         * modules/uninorm/u16-normalize (configure.ac): Likewise.
34786         * modules/uninorm/u32-normalize (configure.ac): Likewise.
34787         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
34788
34789 2010-03-27  Bruno Haible  <bruno@clisp.org>
34790
34791         New module description field 'Comment'.
34792         * gnulib-tool: New option --extract-comment.
34793         (func_usage): Document it.
34794         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
34795         (func_get_comment): New function.
34796         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
34797
34798 2010-03-27  Bruno Haible  <bruno@clisp.org>
34799
34800         Addendum to 2010-02-07 commit.
34801         * gnulib-tool (func_usage): Document --extract-applicability option.
34802
34803 2010-03-27  Bruno Haible  <bruno@clisp.org>
34804
34805         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
34806         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
34807         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
34808         rather than link errors.
34809
34810 2010-03-27  Bruno Haible  <bruno@clisp.org>
34811
34812         Avoid side effects from tests-related modules on the compilation of lib.
34813         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
34814         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
34815         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
34816         parameter. Emit into AM_CPPFLAGS a definition of the designated C
34817         macro.
34818         (func_import): Define a witness macro. Assign it a value that depends
34819         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
34820         tests-related modules.
34821         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
34822         Reported by Jim Meyering.
34823
34824 2010-03-27  Bruno Haible  <bruno@clisp.org>
34825
34826         Factorize common .m4 code.
34827         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
34828         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
34829         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
34830         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
34831         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
34832         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
34833         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
34834         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
34835         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
34836         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
34837         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
34838         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
34839         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
34840         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
34841         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
34842         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
34843         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
34844         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
34845         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
34846         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
34847         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
34848         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
34849         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
34850         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
34851         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
34852         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
34853         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
34854         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
34855         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
34856         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
34857         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
34858         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
34859
34860 2010-03-27  Bruno Haible  <bruno@clisp.org>
34861
34862         Fix a compilation error on Cygwin with g++ >= 4.3.
34863         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
34864         if it is undefined or if we alias it to chmod.
34865         (lstat): Don't warn about the use of this function if it is undefined
34866         or if we alias it to stat.
34867         Reported by Simon Josefsson.
34868
34869 2010-03-27  Bruno Haible  <bruno@clisp.org>
34870
34871         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
34872         * modules/getlogin (configure.ac): Update.
34873
34874         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
34875         * modules/getlogin_r (configure.ac): Update.
34876
34877         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
34878         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
34879         * modules/inet_ntop (configure.ac): Update.
34880
34881         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
34882         * modules/inet_pton (configure.ac): Update.
34883
34884         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
34885         * modules/mbslen (configure.ac): Update.
34886
34887         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
34888         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
34889         * modules/forkpty (configure.ac): Update.
34890         * modules/openpty (configure.ac): Update.
34891
34892 2010-03-26  Simon Josefsson  <simon@josefsson.org>
34893
34894         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
34895         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
34896
34897 2010-03-25  Eric Blake  <eblake@redhat.com>
34898
34899         maint: use pragma consistently across replacement headers
34900         * lib/ctype.in.h (system_header): Hoist for consistent placement.
34901         * lib/dirent.in.h (system_header): Likewise.
34902         * lib/errno.in.h (system_header): Likewise.
34903         * lib/float.in.h (system_header): Likewise.
34904         * lib/getopt.in.h (system_header): Likewise.
34905         * lib/iconv.in.h (system_header): Likewise.
34906         * lib/inttypes.in.h (system_header): Likewise.
34907         * lib/langinfo.in.h (system_header): Likewise.
34908         * lib/locale.in.h (system_header): Likewise.
34909         * lib/math.in.h (system_header): Likewise.
34910         * lib/netdb.in.h (system_header): Likewise.
34911         * lib/netinet_in.in.h (system_header): Likewise.
34912         * lib/pty.in.h (system_header): Likewise.
34913         * lib/sched.in.h (system_header): Likewise.
34914         * lib/se-selinux.in.h (system_header): Likewise.
34915         * lib/search.in.h (system_header): Likewise.
34916         * lib/spawn.in.h (system_header): Likewise.
34917         * lib/stdarg.in.h (system_header): Likewise.
34918         * lib/stdint.in.h (system_header): Likewise.
34919         * lib/string.in.h (system_header): Likewise.
34920         * lib/strings.in.h (system_header): Likewise.
34921         * lib/sys_file.in.h (system_header): Likewise.
34922         * lib/sys_ioctl.in.h (system_header): Likewise.
34923         * lib/sys_socket.in.h (system_header): Likewise.
34924         * lib/sys_times.in.h (system_header): Likewise.
34925         * lib/sys_utsname.in.h (system_header): Likewise.
34926         * lib/sys_wait.in.h (system_header): Likewise.
34927         * lib/sysexits.in.h (system_header): Likewise.
34928         * lib/unistd.in.h (system_header): Likewise.
34929         * lib/wctype.in.h (system_header): Likewise.
34930
34931         arpa/inet: fix mingw compilation warning
34932         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
34933         Reported by Matthew Bolte.
34934
34935 2010-03-25  Bruno Haible  <bruno@clisp.org>
34936
34937         Avoid collision between gnulib wrapper and libintl wrapper.
34938         * lib/printf.c (printf): Don't define if a printf wrapper is already
34939         defined in intl/printf.c.
34940         Reported by Michel Boaventura <michel@michelboaventura.com>.
34941
34942 2010-03-25  Bruno Haible  <bruno@clisp.org>
34943
34944         Use ANSI C.
34945         * lib/readutmp.h (getutent): Provide ANSI C prototype.
34946
34947 2010-03-25  Bruno Haible  <bruno@clisp.org>
34948
34949         Minor formatting changes.
34950         * lib/acosl.c: Insert space before function argument list.
34951         * lib/argz.c: Likewise.
34952         * lib/asinl.c: Likewise.
34953         * lib/expl.c: Likewise.
34954         * lib/gen-uni-tables.c: Likewise.
34955         * lib/gettext.h: Likewise.
34956         * lib/glthread/lock.h: Likewise.
34957         * lib/tanl.c: Likewise.
34958         * lib/uniname/uniname.c: Likewise.
34959         * tests/test-idpriv-drop.c: Likewise.
34960         * tests/test-idpriv-droptemp.c: Likewise.
34961         * tests/test-lock.c: Likewise.
34962         * tests/test-tls.c: Likewise.
34963         * lib/argp-help.c: Insert space before function-like macro argument
34964         list.
34965         * lib/memcmp.c: Likewise.
34966         * tests/test-base64.c: Likewise.
34967         * lib/localename.c: Insert space before sizeof's argument list.
34968         * lib/safe-alloc.h: Likewise.
34969         * lib/file-set.h: Insert space before macro argument list.
34970         * tests/test-argp.c: Likewise.
34971         * lib/argp-namefrob.h: Insert space before function parameter list.
34972         * lib/getaddrinfo.c: Likewise.
34973         * lib/netdb.in.h: Likewise.
34974         * lib/parse-duration.h: Likewise.
34975         * lib/parse-duration.c: Likewise.
34976         * lib/poll.c: Likewise.
34977         * lib/select.c: Likewise.
34978         * lib/trim.h: Likewise.
34979         * tests/test-usleep.c: Likewise.
34980         * lib/ldexpl.c: Insert space before function parameter list and before
34981         function argument list.
34982         * lib/logl.c: Likewise.
34983         * lib/sqrtl.c: Likewise.
34984         * lib/trim.c: Likewise.
34985         * lib/cosl.c: Use GNU style indentation. Insert space before function
34986         argument list.
34987         * lib/sinl.c: Likewise.
34988         * lib/tsearch.c: Insert space after 'for'.
34989         Reported by Jim Meyering.
34990
34991 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
34992
34993         * maint.mk (sc_Wundef_boolean): Check for the presence of the
34994         config header before grepping, as it's not present before
34995         autoreconf/configure are run.  Reported by Simon Josefsson.
34996
34997 2010-03-23  Bruno Haible  <bruno@clisp.org>
34998
34999         pt_chown: Make it work with automake < 1.11.
35000         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
35001         Reported by Simon Josefsson.
35002
35003 2010-03-23  Bruno Haible  <bruno@clisp.org>
35004
35005         pt_chown: Don't depend on GPLed modules.
35006         * lib/pt_chown.c: Don't include idpriv.h.
35007         (main): Don't drop privileges.
35008         * modules/pt_chown (Depends-on): Remove idpriv-drop.
35009         Reported by Simon Josefsson.
35010
35011 2010-03-24  Simon Josefsson  <simon@josefsson.org>
35012
35013         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
35014         suggestions from karl@freefriends.org (Karl Berry).
35015
35016 2010-03-22  Eric Blake  <eblake@redhat.com>
35017
35018         gethostname: further tweaks
35019         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
35020         are overriding gethostname.
35021         Suggested by Bruno Haible.
35022
35023 2010-03-21  Bruno Haible  <bruno@clisp.org>
35024
35025         Fix comments.
35026         * lib/forkpty.c (rpl_forkpty): Fix comment.
35027         * lib/openpty.c (rpl_openpty): Likewise.
35028         Reported by Eric Blake.
35029
35030 2010-03-22  Eric Blake  <eblake@redhat.com>
35031
35032         gethostname: fix build on mingw
35033         * lib/unistd.in.h (includes): Work around fact that mingw
35034         <winsock2.h> re-includes <unistd.h>, by avoiding any
35035         redeclarations if we are being included by <winsock2.h>.
35036         Reported by Matthias Bolte.
35037
35038 2010-03-21  Bruno Haible  <bruno@clisp.org>
35039
35040         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35041         * lib/forkpty.c (forkpty): New replacement function, from glibc with
35042         modifications.
35043         * lib/pty.in.h (forkpty): Update declaration. Add comments.
35044         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
35045         provide the replacement.
35046         * modules/forkpty (Depends-on): Add openpty, login_tty.
35047         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
35048         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
35049         * doc/glibc-functions/forkpty.texi: More supported platforms.
35050         * config/srclist.txt: Add forkpty.c (commented).
35051
35052 2010-03-21  Bruno Haible  <bruno@clisp.org>
35053
35054         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
35055         (Makefile.am): Verify that PTY_LIB is defined.
35056
35057         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
35058
35059 2010-03-21  Bruno Haible  <bruno@clisp.org>
35060
35061         Tests for module 'login_tty'.
35062         * modules/login_tty-tests: New file.
35063         * tests/test-login_tty.c: New file.
35064
35065         New module 'login_tty'.
35066         * lib/login_tty.c: New file.
35067         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
35068         * modules/login_tty: New file.
35069         * doc/glibc-functions/login_tty.texi: Mention the new module.
35070
35071 2010-03-21  Bruno Haible  <bruno@clisp.org>
35072
35073         login_tty: Documentation.
35074         * doc/glibc-functions/login_tty.texi: New file.
35075         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
35076
35077 2010-03-21  Bruno Haible  <bruno@clisp.org>
35078
35079         pty: Consistent macro naming.
35080         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
35081         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
35082         * modules/pty (configure.ac): Update.
35083
35084 2010-03-21  Bruno Haible  <bruno@clisp.org>
35085
35086         Tests for openpty: Make stricter.
35087         * tests/test-openpty.c (main): Add test of canonical processing and
35088         erase.
35089         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
35090
35091         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35092         * lib/openpty.c (openpty): New replacement function.
35093         * lib/pty.in.h: Include <termios.h>.
35094         (openpty): Update declaration. Add comments.
35095         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
35096         is not declared, arrange to provide the replacement. Check for _getpty
35097         and posix_openpt.
35098         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
35099         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
35100         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
35101         * modules/pty-tests (test_pty_c___LDADD): New variable.
35102         * doc/glibc-functions/openpty.texi: More supported platforms.
35103
35104 2010-03-21  Bruno Haible  <bruno@clisp.org>
35105
35106         setenv: Tweaks.
35107         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
35108         the test program.
35109         * doc/posix-functions/setenv.texi: Update platforms list.
35110
35111 2010-03-21  Bruno Haible  <bruno@clisp.org>
35112
35113         New module 'unlockpt'.
35114         * lib/unlockpt.c: New file, from glibc with modifications.
35115         * m4/unlockpt.m4: New file.
35116         * modules/unlockpt: New file.
35117         * lib/stdlib.in.h (unlockpt): New declaration.
35118         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
35119         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
35120         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
35121         HAVE_UNLOCKPT.
35122         * doc/posix-functions/unlockpt.texi: Mention the new module.
35123         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
35124         * config/srclist.txt: Add unlockpt.c (commented).
35125
35126 2010-03-21  Jim Meyering  <meyering@redhat.com>
35127
35128         maint.mk: prohibit inclusion of "intprops.h" without use
35129         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
35130
35131 2010-03-21  Bruno Haible  <bruno@clisp.org>
35132
35133         New module 'grantpt'.
35134         * lib/grantpt.c: New file, from glibc with modifications.
35135         * m4/grantpt.m4: New file.
35136         * modules/grantpt: New file.
35137         * lib/stdlib.in.h (grantpt): New declaration.
35138         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
35139         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
35140         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
35141         HAVE_GRANTPT.
35142         * doc/posix-functions/grantpt.texi: Mention the new module.
35143         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
35144         * config/srclist.txt: Add grantpt.c (commented).
35145
35146 2010-03-21  Bruno Haible  <bruno@clisp.org>
35147
35148         New module 'pt_chown'.
35149         * lib/pt_chown.c: New file, from glibc with modifications.
35150         * lib/pty-private.h: New file, from glibc with modifications.
35151         * modules/pt_chown: New file.
35152         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
35153
35154 2010-03-21  Bruno Haible  <bruno@clisp.org>
35155
35156         Tests for module 'ptsname'.
35157         * modules/ptsname-tests: New file.
35158         * tests/test-ptsname.c: New file.
35159
35160         New module 'ptsname'.
35161         * lib/ptsname.c: New file, from glibc with modifications.
35162         * m4/ptsname.m4: New file.
35163         * modules/ptsname: New file.
35164         * lib/stdlib.in.h (ptsname): New declaration.
35165         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
35166         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
35167         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
35168         HAVE_PTSNAME.
35169         * doc/posix-functions/ptsname.texi: Mention the new module.
35170         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
35171         * config/srclist.txt: Add ptsname.c (commented).
35172
35173 2010-03-21  Bruno Haible  <bruno@clisp.org>
35174
35175         Tests for module 'ttyname_r'.
35176         * modules/ttyname_r-tests: New file.
35177         * tests/test-ttyname_r.c: New file.
35178
35179         New module 'ttyname_r'.
35180         * lib/ttyname_r.c: New file.
35181         * m4/ttyname_r.m4: New file.
35182         * modules/ttyname_r: New file.
35183         * lib/unistd.in.h (ttyname_r): New declaration.
35184         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
35185         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
35186         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
35187         HAVE_TTYNAME_R.
35188         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
35189         * doc/posix-functions/ttyname_r.texi: Mention the new module.
35190
35191 2010-03-20  Bruno Haible  <bruno@clisp.org>
35192
35193         signal: Undefine macro definitions in C++ mode.
35194         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
35195         sigfillset): Undefine macro definitions from the system header in C++
35196         mode.
35197         Reported by John W. Eaton <jwe@gnu.org>.
35198
35199 2010-03-20  Bruno Haible  <bruno@clisp.org>
35200
35201         Ensure no #include statements inside extern "C" { ... }.
35202         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
35203         contain #include statements.
35204         * lib/time.in.h: Likewise.
35205
35206 2010-03-20  Bruno Haible  <bruno@clisp.org>
35207
35208         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
35209         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
35210         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
35211         Reported by John W. Eaton <jwe@gnu.org>.
35212
35213 2010-03-20  Bruno Haible  <bruno@clisp.org>
35214
35215         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
35216         Reported by Jim Meyering.
35217
35218 2010-03-20  Bruno Haible  <bruno@clisp.org>
35219
35220         pipe: Set errno upon failure.
35221         * lib/pipe.h: Specify that when -1 is returned, errno is set.
35222         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
35223         errno value in error message.
35224
35225 2010-03-20  Bruno Haible  <bruno@clisp.org>
35226             Jim Meyering  <meyering@redhat.com>
35227
35228         lchown: Avoid "unused variable" warning.
35229         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
35230
35231 2010-03-20  Bruno Haible  <bruno@clisp.org>
35232
35233         Work around unlink() bug on MacOS X 10.5.6.
35234         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
35235         attempting to unlink a parent directory.
35236         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
35237         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
35238         activate for the replacement function.
35239         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
35240
35241 2010-03-20  Bruno Haible  <bruno@clisp.org>
35242
35243         Fix link errors on Solaris 8.
35244         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
35245         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
35246
35247 2010-03-19  Jim Meyering  <meyering@redhat.com>
35248
35249         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
35250         The _LIBC implementation of build_range_exp correctly honors the
35251         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
35252         However, the non-_LIBC implementation would ignore that syntax-bit
35253         flag and return REG_ERANGE unconditionally.
35254         This change makes it honor that flag.
35255         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
35256         Make two pointer parameters "const".
35257         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
35258         (parse_bracket_exp): Update caller.
35259
35260         regex.m4: correct the reversed range endpoint ([b-a]) test
35261         * m4/regex.m4: When requiring that [b-a] evoke failure,
35262         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
35263         test pass once again for x86-based systems.
35264
35265 2010-03-19  Bruno Haible  <bruno@clisp.org>
35266
35267         scandir: Fix link error on Solaris 8.
35268         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
35269         macros.
35270
35271 2010-03-19  Bruno Haible  <bruno@clisp.org>
35272
35273         getusershell: Fix documentation.
35274         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
35275         module.
35276         * doc/glibc-functions/setusershell.texi: Likewise.
35277
35278         getusershell: Provide declaration, missing on Solaris 9.
35279         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
35280         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
35281         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
35282         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
35283         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35284         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
35285         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
35286         HAVE_GETUSERSHELL.
35287         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
35288
35289 2010-03-19  Bruno Haible  <bruno@clisp.org>
35290
35291         wctype: Provide iswblank function.
35292         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
35293         exists and is fine.
35294         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
35295         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
35296         * tests/test-wctype.c (main): Re-enable the iswblank tests.
35297         * doc/posix-functions/iswblank.texi: Update.
35298
35299 2010-03-19  Bruno Haible  <bruno@clisp.org>
35300
35301         Tests of module 'pty' in C++ mode.
35302         * modules/pty-tests: New file.
35303         * tests/test-pty-c++.cc: New file.
35304         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35305
35306 2010-03-19  Eric Blake  <eblake@redhat.com>
35307
35308         logb: fix documentation
35309         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
35310         1.5 declaration bug.
35311
35312         forkpty, openpty: prefer glibc's const-safe prototype
35313         * lib/forkpty.c (rpl_forkpty): New file.
35314         * lib/openpty.c (rpl_openpty): Likewise.
35315         * modules/forkpty (Files): Distribute it.
35316         * modules/openpty (Files): Likewise.
35317         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
35318         check...
35319         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
35320         replacement for for non-const BSD signature.
35321         * modules/pty (Makefile.am): Substitute witnesses.
35322         * lib/pty.in.h (forkpty, openpty): Declare replacements.
35323         * tests/test-forkpty.c: Update signature check.
35324         * tests/test-openpty.c: Likewise.
35325         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
35326         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35327
35328         forkpty, openpty: split functions into new modules
35329         * modules/pty (Makefile.am): Substitute new witnesses.
35330         (Libraries): Move library detection...
35331         * modules/forkpty: ...into new module.
35332         * modules/openpty: Another new module.
35333         * modules/pty-tests: Rename and split...
35334         * modules/forkpty-tests: ...to this...
35335         * modules/openpty-tests: ...and this.
35336         * tests/test-pty.c: Rename and split...
35337         * tests/test-forkpty.c: ...to this...
35338         * tests/test-openpty.c: ...and this.
35339         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
35340         (gl_PTY): Split library searching...
35341         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
35342         (gl_FORKPTY, gl_OPENPTY): New macros.
35343         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
35344         * NEWS: Mention the split.
35345         * MODULES.html.sh (Misc): Document the modules.
35346         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
35347         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35348
35349         pty: improve replacement header
35350         * lib/pty.in.h: New file.
35351         * modules/pty (Files): Ship it.
35352         (Makefile.am): Always build replacement.
35353         * m4/pty.m4: Rename...
35354         * m4/pty_h.m4: ...to this.
35355         (gl_PTY): Modernize setting of witness macros; update check of
35356         forkpty to take proper advantage of cache.
35357         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
35358
35359         getopt: avoid compiler warning
35360         * lib/getopt.c (attribute_hidden): Remove unused macro.
35361
35362 2010-03-18  Bruno Haible  <bruno@clisp.org>
35363
35364         Fix link errors on Solaris 8.
35365         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
35366         * modules/search-tests (test_search_c___LDADD): Likewise.
35367         * modules/signal-tests (test_signal_c___LDADD): Likewise.
35368         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
35369         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
35370         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
35371         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
35372         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
35373         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
35374
35375 2010-03-18  Bruno Haible  <bruno@clisp.org>
35376
35377         Fix bug introduced on 2010-03-14.
35378         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
35379         (gl_SPAWN_H): Require it.
35380         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
35381         Reported by Simon Josefsson.
35382
35383 2010-03-18  Bruno Haible  <bruno@clisp.org>
35384
35385         Fix typo introduced on 2009-12-31.
35386         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
35387         posix_spawn_file_actions_adddup2.
35388
35389 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
35390         and Eric Blake  <eblake@redhat.com>
35391
35392         test-vc-list-files-git: make more robust
35393         * tests/test-vc-list-files-git.sh: Unset problematic environment
35394         variables.  Chain commands together.
35395
35396 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
35397
35398         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
35399         `AC_CHECK_DECL' invocation.
35400
35401 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
35402
35403         * lib/inttostr.c (inttostr): Make sure the invocation of verify
35404         appears before executable statements. Suggested by Petr Sumbera
35405         <Petr.Sumbera@Sun.COM>.
35406
35407 2010-03-14  Bruno Haible  <bruno@clisp.org>
35408
35409         * tests/test-flock.c (test_exclusive): Comment out a test that causes
35410         portability problems. Instead use a simpler test.
35411         (main): Check that invalid arguments are rejected only on Linux.
35412
35413 2010-03-14  Bruno Haible  <bruno@clisp.org>
35414
35415         Fix bug introduced on 2009-12-31.
35416         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
35417         gl_PREREQ_SYS_H_WINSOCK2 always.
35418         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
35419         SYS_SOCKET_H variable.
35420         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
35421         Update comments.
35422         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
35423         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35424         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35425         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
35426         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
35427
35428 2010-03-14  Bruno Haible  <bruno@clisp.org>
35429
35430         Fix values returned by sinl, cosl.
35431         * lib/trigl.h: Add specification comments.
35432         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
35433         that combines the values from the precomputed table with the values of
35434         the Chebyshev polynomials.
35435
35436 2010-03-14  Bruno Haible  <bruno@clisp.org>
35437
35438         Fix compilation error when modules 'posix_spawn[p]' are not used.
35439         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
35440         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
35441
35442 2010-03-14  Bruno Haible  <bruno@clisp.org>
35443
35444         Fix compilation error on mingw when module 'time_r' is not used.
35445         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
35446         is 1.
35447         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
35448         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
35449         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
35450         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
35451
35452 2010-03-14  Bruno Haible  <bruno@clisp.org>
35453
35454         Fix compilation error with Sun C.
35455         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
35456         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
35457         instead of GCC specific ULONG_LONG_MAX.
35458         * lib/xstrtoll.c: Likewise.
35459         * lib/xstrtoull.c: Likewise.
35460
35461 2010-03-13  Bruno Haible  <bruno@clisp.org>
35462
35463         Allow the user to disable C++ code and tests.
35464         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
35465         (gl_PROG_ANSI_CXX): Require it.
35466
35467 2010-03-13  Bruno Haible  <bruno@clisp.org>
35468
35469         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
35470         cases.
35471
35472 2010-03-13  Bruno Haible  <bruno@clisp.org>
35473
35474         Test that gnulib does not break the standard C++ headers.
35475         * tests/test-locale-c++2.cc: New file.
35476         * modules/locale-tests (Files): Add it.
35477         (Makefile.am): Compile it for test-locale-c++.
35478         * tests/test-math-c++2.cc: New file.
35479         * modules/math-tests (Files): Add it.
35480         (Makefile.am): Compile it for test-math-c++.
35481         * tests/test-signal-c++2.cc: New file.
35482         * modules/signal-tests (Files): Add it.
35483         (Makefile.am): Compile it for test-signal-c++.
35484         * tests/test-stdio-c++2.cc: New file.
35485         * modules/stdio-tests (Files): Add it.
35486         (Makefile.am): Compile it for test-stdio-c++.
35487         * tests/test-stdlib-c++2.cc: New file.
35488         * modules/stdlib-tests (Files): Add it.
35489         (Makefile.am): Compile it for test-stdlib-c++.
35490         * tests/test-string-c++2.cc: New file.
35491         * modules/string-tests (Files): Add it.
35492         (Makefile.am): Compile it for test-string-c++.
35493         * tests/test-time-c++2.cc: New file.
35494         * modules/time-tests (Files): Add it.
35495         (Makefile.am): Compile it for test-time-c++.
35496         Reported by John W. Eaton <jwe@gnu.org>.
35497
35498 2010-03-13  Bruno Haible  <bruno@clisp.org>
35499
35500         * gnulib-tool (func_usage): Clarify which options are available for
35501         --create-testdir and --create-megatestdir.
35502
35503 2010-03-13  Bruno Haible  <bruno@clisp.org>
35504
35505         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
35506         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
35507         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
35508         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
35509         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
35510         when appropriate.
35511         Reported by Jim Meyering.
35512
35513 2010-03-12  Simon Josefsson  <simon@josefsson.org>
35514
35515         * gnulib-tool (func_import): Explain origin of code.
35516
35517 2010-03-12  Bruno Haible  <bruno@clisp.org>
35518
35519         Fix problem with automake's definition of CXXLINK.
35520         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
35521         Reported by Simon Josefsson and Ludovic Courtès.
35522
35523 2010-03-12  Bruno Haible  <bruno@clisp.org>
35524
35525         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
35526         stable releases.
35527
35528 2010-03-11  Bruno Haible  <bruno@clisp.org>
35529
35530         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
35531         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
35532         whether the system provides one variant or multiple variants of the
35533         function.
35534         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
35535         C++ compilers.
35536         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
35537         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
35538         Reported by Jim Meyering.
35539
35540 2010-03-09  Simon Josefsson  <simon@josefsson.org>
35541
35542         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
35543
35544 2010-03-08  Bruno Haible  <bruno@clisp.org>
35545
35546         gnulib-tool: Add support for --libtool in --create-testdir.
35547         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
35548         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
35549
35550 2010-03-08  Eric Blake  <eblake@redhat.com>
35551
35552         gnulib-tool.texi: mention possibility of git submodule
35553         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
35554         submodules.
35555         * doc/.gitignore: Ignore another generated file.
35556
35557 2010-03-08  Karl Berry  <karl@gnu.org>
35558
35559         * doc/gnulib-tool.texi (VCS Issues): Mention third option
35560         of committing gnulib files while skipping others.
35561
35562 2010-03-07  Bruno Haible  <bruno@clisp.org>
35563
35564         Tests of module 'wctype' in C++ mode.
35565         * tests/test-wctype-c++.cc: New file.
35566         * modules/wctype-tests (Files): Add it and tests/signature.h.
35567         (Depends-on): Add ansi-c++-opt.
35568         (Makefile.am): Arrange to compile and run test-wctype-c++.
35569
35570         Tests of module 'wchar' in C++ mode.
35571         * tests/test-wchar-c++.cc: New file.
35572         * modules/wchar-tests (Files): Add it and tests/signature.h.
35573         (Depends-on): Add ansi-c++-opt.
35574         (Makefile.am): Arrange to compile and run test-wchar-c++.
35575         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
35576         gl_MODULE_INDICATOR.
35577
35578         Tests of module 'unistd' in C++ mode.
35579         * tests/test-unistd-c++.cc: New file.
35580         * modules/unistd-tests (Files): Add it and tests/signature.h.
35581         (Depends-on): Add ansi-c++-opt.
35582         (Makefile.am): Arrange to compile and run test-unistd-c++.
35583         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
35584         gl_MODULE_INDICATOR.
35585
35586         Tests of module 'time' in C++ mode.
35587         * tests/test-time-c++.cc: New file.
35588         * modules/time-tests (Files): Add it and tests/signature.h.
35589         (Depends-on): Add ansi-c++-opt.
35590         (Makefile.am): Arrange to compile and run test-time-c++.
35591         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35592
35593         Tests of module 'sys_time' in C++ mode.
35594         * tests/test-sys_time-c++.cc: New file.
35595         * modules/sys_time-tests (Files): Add it and tests/signature.h.
35596         (Depends-on): Add ansi-c++-opt.
35597         (Makefile.am): Arrange to compile and run test-sys_time-c++.
35598         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
35599         gl_MODULE_INDICATOR.
35600
35601         Tests of module 'sys_stat' in C++ mode.
35602         * tests/test-sys_stat-c++.cc: New file.
35603         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
35604         (Depends-on): Add ansi-c++-opt.
35605         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
35606         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
35607         gl_MODULE_INDICATOR.
35608
35609         Tests of module 'sys_socket' in C++ mode.
35610         * tests/test-sys_socket-c++.cc: New file.
35611         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
35612         (Depends-on): Add ansi-c++-opt.
35613         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
35614         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
35615         gl_MODULE_INDICATOR.
35616
35617         Tests of module 'sys_select' in C++ mode.
35618         * tests/test-sys_select-c++.cc: New file.
35619         * modules/sys_select-tests (Files): Add it and tests/signature.h.
35620         (Depends-on): Add ansi-c++-opt.
35621         (Makefile.am): Arrange to compile and run test-sys_select-c++.
35622         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
35623         gl_MODULE_INDICATOR.
35624
35625         Tests of module 'sys_ioctl' in C++ mode.
35626         * tests/test-sys_ioctl-c++.cc: New file.
35627         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
35628         (Depends-on): Add ansi-c++-opt.
35629         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
35630         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
35631         gl_MODULE_INDICATOR.
35632
35633         Tests of module 'string' in C++ mode.
35634         * tests/test-string-c++.cc: New file.
35635         * modules/string-tests (Files): Add it and tests/signature.h.
35636         (Depends-on): Add ansi-c++-opt.
35637         (Makefile.am): Arrange to compile and run test-string-c++.
35638         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
35639         gl_MODULE_INDICATOR.
35640
35641         Tests of module 'stdlib' in C++ mode.
35642         * tests/test-stdlib-c++.cc: New file.
35643         * modules/stdlib-tests (Files): Add it and tests/signature.h.
35644         (Depends-on): Add ansi-c++-opt.
35645         (Makefile.am): Arrange to compile and run test-stdlib-c++.
35646         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
35647         gl_MODULE_INDICATOR.
35648
35649         Tests of module 'stdio' in C++ mode.
35650         * tests/test-stdio-c++.cc: New file.
35651         * modules/stdio-tests (Files): Add it and tests/signature.h.
35652         (Depends-on): Add ansi-c++-opt.
35653         (Makefile.am): Arrange to compile and run test-stdio-c++.
35654         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
35655         gl_MODULE_INDICATOR.
35656
35657         Tests of module 'spawn' in C++ mode.
35658         * tests/test-spawn-c++.cc: New file.
35659         * modules/spawn-tests (Files): Add it and tests/signature.h.
35660         (Depends-on): Add ansi-c++-opt.
35661         (Makefile.am): Arrange to compile and run test-spawn-c++.
35662         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
35663         gl_MODULE_INDICATOR.
35664
35665         Tests of module 'signal' in C++ mode.
35666         * tests/test-signal-c++.cc: New file.
35667         * modules/signal-tests (Files): Add it and tests/signature.h.
35668         (Depends-on): Add ansi-c++-opt.
35669         (Makefile.am): Arrange to compile and run test-signal-c++.
35670         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
35671         gl_MODULE_INDICATOR.
35672
35673         Tests of module 'search' in C++ mode.
35674         * tests/test-search-c++.cc: New file.
35675         * modules/search-tests (Files): Add it and tests/signature.h.
35676         (Depends-on): Add ansi-c++-opt.
35677         (Makefile.am): Arrange to compile and run test-search-c++.
35678         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
35679         gl_MODULE_INDICATOR.
35680
35681         Tests of module 'math' in C++ mode.
35682         * tests/test-math-c++.cc: New file.
35683         * modules/math-tests (Files): Add it and tests/signature.h.
35684         (Depends-on): Add ansi-c++-opt.
35685         (Makefile.am): Arrange to compile and run test-math-c++.
35686         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35687
35688         Tests of module 'locale' in C++ mode.
35689         * tests/test-locale-c++.cc: New file.
35690         * modules/locale-tests (Files): Add it and tests/signature.h.
35691         (Depends-on): Add ansi-c++-opt.
35692         (Makefile.am): Arrange to compile and run test-locale-c++.
35693         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
35694         gl_MODULE_INDICATOR.
35695
35696         Tests of module 'langinfo' in C++ mode.
35697         * tests/test-langinfo-c++.cc: New file.
35698         * modules/langinfo-tests (Files): Add it and tests/signature.h.
35699         (Depends-on): Add ansi-c++-opt.
35700         (Makefile.am): Arrange to compile and run test-langinfo-c++.
35701         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
35702         gl_MODULE_INDICATOR.
35703
35704         Tests of module 'iconv-h' in C++ mode.
35705         * tests/test-iconv-h-c++.cc: New file.
35706         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
35707         (Depends-on): Add ansi-c++-opt.
35708         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
35709
35710         Tests of module 'glob' in C++ mode.
35711         * tests/test-glob-c++.cc: New file.
35712         * modules/glob-tests (Files): Add it.
35713         (Depends-on): Add ansi-c++-opt.
35714         (Makefile.am): Arrange to compile and run test-glob-c++.
35715
35716         Tests of module 'fcntl-h' in C++ mode.
35717         * tests/test-fcntl-h-c++.cc: New file.
35718         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
35719         (Depends-on): Add ansi-c++-opt.
35720         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
35721         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
35722         gl_MODULE_INDICATOR.
35723
35724         Tests of module 'dirent' in C++ mode.
35725         * tests/test-dirent-c++.cc: New file.
35726         * modules/dirent-tests (Files): Add it and tests/signature.h.
35727         (Depends-on): Add ansi-c++-opt.
35728         (Makefile.am): Arrange to compile and run test-dirent-c++.
35729         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35730         gl_MODULE_INDICATOR.
35731
35732         New module 'ansi-c++-opt'.
35733         * modules/ansi-c++-opt: New file.
35734         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
35735
35736         Document C++ namespace mode.
35737         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
35738
35739         wctype: Avoid #define replacements in C++ mode.
35740         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
35741         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
35742         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
35743         In C++, define a namespaced alias symbol.
35744         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
35745         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
35746         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
35747         rule.
35748
35749         wchar: Avoid #define replacements in C++ mode.
35750         * lib/wchar.in.h: Include c++defs.h.
35751         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
35752         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
35753         symbol.
35754         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
35755         * modules/wchar (Depends-on): Add c++defs.
35756         (Makefile.am): Update wchar.h rule.
35757
35758         unistd: Avoid #define replacements in C++ mode.
35759         * lib/unistd.in.h: Include c++defs.h.
35760         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
35761         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
35762         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
35763         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
35764         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
35765         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
35766         symbol.
35767         (environ): Update.
35768         * modules/unistd (Depends-on): Add c++defs.
35769         (Makefile.am): Update unistd.h rule.
35770
35771         time: Avoid #define replacements in C++ mode.
35772         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
35773         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
35774         define a namespaced alias symbol.
35775         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
35776         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
35777         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
35778         * modules/time (Depends-on): Add c++defs, warn-on-use.
35779         (Makefile.am): Update time.h rule.
35780         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
35781         * modules/nanosleep (configure.ac): Likewise.
35782         * modules/strptime (configure.ac): Likewise.
35783         * modules/timegm (configure.ac): Likewise.
35784
35785         sys_time: Avoid #define replacements in C++ mode.
35786         * lib/sys_time.in.h: Include c++defs.h.
35787         (gettimeofday): In C++, define a namespaced alias symbol.
35788         * modules/sys_time (Depends-on): Add c++defs.
35789         (Makefile.am): Update sys/time.h rule.
35790
35791         sys_stat: Avoid #define replacements in C++ mode.
35792         * lib/sys_stat.in.h: Include c++defs.h.
35793         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
35794         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
35795         namespaced alias symbol.
35796         In C++, define a namespaced alias symbol.
35797         * modules/sys_stat (Depends-on): Add c++defs.
35798         (Makefile.am): Update sys/stat.h rule.
35799
35800         sys_socket: Avoid #define replacements in C++ mode.
35801         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
35802         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
35803         definitions also when the system has a <sys/socket.h>.
35804         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
35805         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
35806         In C++, define a namespaced alias symbol.
35807         * modules/sys_socket (Depends-on): Add c++defs.
35808         (Makefile.am): Update sys/socket.h rule.
35809
35810         sys_select: Avoid #define replacements in C++ mode.
35811         * lib/sys_select.in.h: Include c++defs.h. Enable the function
35812         definitions also when the system has a <sys/select.h>.
35813         (select): In C++, define a namespaced alias symbol.
35814         * modules/sys_select (Depends-on): Add c++defs.
35815         (Makefile.am): Update sys/select.h rule.
35816
35817         sys_ioctl: Avoid #define replacements in C++ mode.
35818         * lib/sys_ioctl.in.h: Include c++defs.h.
35819         (ioctl): In C++, define a namespaced alias symbol.
35820         * modules/sys_ioctl (Depends-on): Add c++defs.
35821         (Makefile.am): Update sys/ioctl.h rule.
35822
35823         string: Avoid #define replacements in C++ mode.
35824         * lib/string.in.h: Include c++defs.h.
35825         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
35826         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
35827         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
35828         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
35829         strsignal, strverscmp): In C++, define a namespaced alias symbol.
35830         * modules/string (Depends-on): Add c++defs.
35831         (Makefile.am): Update string.h rule.
35832
35833         stdlib: Avoid #define replacements in C++ mode.
35834         * lib/stdlib.in.h: Include c++defs.h.
35835         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
35836         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
35837         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
35838         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
35839         symbol.
35840         * modules/stdlib (Depends-on): Add c++defs.
35841         (Makefile.am): Update stdlib.h rule.
35842
35843         stdio: Avoid #define replacements in C++ mode.
35844         * lib/stdio.in.h: Include c++defs.h.
35845         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
35846         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
35847         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
35848         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
35849         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
35850         namespaced alias symbol.
35851         * modules/stdio (Depends-on): Add c++defs.
35852         (Makefile.am): Update stdio.h rule.
35853
35854         spawn: Avoid #define replacements in C++ mode.
35855         * lib/spawn.in.h: Include c++defs.h.
35856         (posix_spawn, posix_spawnp, posix_spawnattr_init,
35857         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
35858         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
35859         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
35860         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
35861         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
35862         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
35863         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
35864         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
35865         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
35866         In C++, define a namespaced alias symbol.
35867         * modules/spawn (Depends-on): Add c++defs.
35868         (Makefile.am): Update spawn.h rule.
35869
35870         signal: Avoid #define replacements in C++ mode.
35871         * lib/signal.in.h: Include c++defs.h.
35872         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
35873         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
35874         namespaced alias symbol.
35875         * modules/signal (Depends-on): Add c++defs.
35876         (Makefile.am): Update signal.h rule.
35877
35878         search: Avoid #define replacements in C++ mode.
35879         * lib/search.in.h: Include c++defs.h.
35880         (_gl_search_compar_fn, _gl_search_action_fn): New types.
35881         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
35882         symbol.
35883         * modules/search (Depends-on): Add c++defs.
35884         (Makefile.am): Update search.h rule.
35885
35886         math: Avoid #define replacements in C++ mode.
35887         * lib/math.in.h: Include c++defs.h.
35888         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
35889         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
35890         trunc, truncl): In C++, define a namespaced alias symbol.
35891         * modules/math (Depends-on): Add c++defs.
35892         (Makefile.am): Update math.h rule.
35893
35894         locale: Avoid #define replacements in C++ mode.
35895         * lib/locale.in.h: Include c++defs.h.
35896         (duplocale): In C++, define a namespaced alias symbol.
35897         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
35898         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
35899         * modules/locale (Depends-on): Add c++defs.
35900         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
35901
35902         langinfo: Avoid #define replacements in C++ mode.
35903         * lib/langinfo.in.h: Include c++defs.h.
35904         (nl_langinfo): In C++, define a namespaced alias symbol.
35905         * modules/langinfo (Depends-on): Add c++defs.
35906         (Makefile.am): Update langinfo.h rule.
35907
35908         iconv-h: Avoid #define replacements in C++ mode.
35909         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
35910         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
35911         symbol.
35912         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
35913         whenever iconv is present.
35914         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
35915         (Makefile.am): Update iconv.h rule.
35916
35917         glob: Avoid #define replacements in C++ mode.
35918         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
35919         (_gl_glob_errfunc_fn): New type.
35920         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
35921         symbol.
35922         * modules/glob (Depends-on): Add c++defs, warn-on-use.
35923         (Makefile.am): Update glob.h rule.
35924
35925         fcntl-h: Avoid #define replacements in C++ mode.
35926         * lib/fcntl.in.h: Include c++defs.h.
35927         (fcntl, open, openat): In C++, define a namespaced alias symbol.
35928         * modules/fcntl-h (Depends-on): Add c++defs.
35929         (Makefile.am): Update fcntl.h rule.
35930
35931         dirent: Avoid #define replacements in C++ mode.
35932         * lib/dirent.in.h: Include c++defs.h.
35933         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
35934         namespaced alias symbol.
35935         (dirfd): Update declaration.
35936         * modules/dirent (Depends-on): Add c++defs.
35937         (Makefile.am): Update dirent.h rule.
35938
35939         ctype: Make it usable in C++ code.
35940         * lib/ctype.in.h: Include c++defs.h.
35941         (isblank): Declare as extern "C".
35942         * modules/ctype (Depends-on): Add c++defs.
35943         (Makefile.am): Update ctype.h rule.
35944
35945         New module 'c++defs'.
35946         * modules/c++defs: New file.
35947         * build-aux/c++defs.h: New file.
35948         Reported by John W. Eaton <jwe@gnu.org>.
35949
35950 2010-03-07  Bruno Haible  <bruno@clisp.org>
35951
35952         logb: Provide missing declaration for Cygwin.
35953         * lib/math.in.h (logb): New declaration.
35954         * m4/logb.m4: New file.
35955         * modules/logb (Files): Add m4/logb.m4.
35956         (Depends-on): Add math.
35957         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
35958         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
35959         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
35960         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
35961         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
35962
35963 2010-03-07  Bruno Haible  <bruno@clisp.org>
35964
35965         Fix test-cond link error.
35966         * tests/test-cond.c: Include <stdio.h>.
35967
35968 2010-03-07  Bruno Haible  <bruno@clisp.org>
35969
35970         Fix test-dirent-safer link error.
35971         * modules/dirent-safer-tests (Makefile.am): Define
35972         test_dirent_safer_LDADD.
35973
35974 2010-03-07  Bruno Haible  <bruno@clisp.org>
35975
35976         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
35977         among default module list.
35978
35979 2010-03-07  Bruno Haible  <bruno@clisp.org>
35980
35981         Fix link error on platforms with GNU libiconv.
35982         * modules/unistr/u8-strcoll-tests (Makefile): Define
35983         test_u8_strcoll_LDADD.
35984         * modules/unistr/u16-strcoll-tests (Makefile): Define
35985         test_u16_strcoll_LDADD.
35986         * modules/unistr/u32-strcoll-tests (Makefile): Define
35987         test_u32_strcoll_LDADD.
35988
35989 2010-03-07  Bruno Haible  <bruno@clisp.org>
35990
35991         Use POSIX declarations for socket functions.
35992         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
35993         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
35994         rpl_sendto): Change declaration to match POSIX.
35995         * lib/connect.c (rpl_connect): Likewise.
35996         * lib/accept.c (rpl_accept): Likewise.
35997         * lib/bind.c (rpl_bind): Likewise.
35998         * lib/getpeername.c (rpl_getpeername): Likewise.
35999         * lib/getsockname.c (rpl_getsockname): Likewise.
36000         * lib/recv.c (rpl_recv): Likewise.
36001         * lib/send.c (rpl_send): Likewise.
36002         * lib/recvfrom.c (rpl_recvfrom): Likewise.
36003         * lib/sendto.c (rpl_sendto): Likewise.
36004
36005 2010-03-06  Bruno Haible  <bruno@clisp.org>
36006
36007         Clarify access, euidaccess, faccessat.
36008         * doc/posix-functions/faccessat.texi: Mention security problem under
36009         "Other problems", not "Portability problems".
36010         * doc/posix-functions/access.texi: Likewise. Mention a related security
36011         problem.
36012         * doc/glibc-functions/euidaccess.texi: Mention security problems.
36013         * lib/euidaccess.c: Add comments about platforms.
36014         * lib/unistd.in.h (access, euidaccess): Add warnings.
36015
36016 2010-03-07  Bruno Haible  <bruno@clisp.org>
36017
36018         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
36019         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
36020         (POSIX_SPAWN_SETSCHEDULER): Likewise.
36021         (POSIX_SPAWN_USEVFORK): Define in a way that works when
36022         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36023         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
36024         declare when POSIX_SPAWN_SETSCHEDULER is zero.
36025         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
36026         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
36027         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
36028         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
36029         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
36030         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
36031         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
36032         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
36033         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
36034         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
36035         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
36036         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
36037         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
36038         Likewise.
36039         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
36040         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
36041         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
36042         Likewise.
36043         * tests/test-spawn.c (main): Make it work when
36044         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36045
36046 2010-03-07  Bruno Haible  <bruno@clisp.org>
36047
36048         Fix incorrect Makefile.am generation in German locale.
36049         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36050         Execute sed command with character range in C locale.
36051
36052 2010-03-06  Bruno Haible  <bruno@clisp.org>
36053
36054         Tests for module 'iconv-h'.
36055         * modules/iconv-h-tests: New file.
36056         * tests/test-iconv-h.c: New file.
36057
36058         New module 'iconv-h'.
36059         * modules/iconv-h: New file.
36060         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
36061         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
36062         (configure.ac): Remove gl_ICONV_H.
36063         (Makefile.am): Remove rule for iconv.h.
36064
36065 2010-03-06  Bruno Haible  <bruno@clisp.org>
36066
36067         More consistent naming of *.m4 files.
36068         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
36069         * modules/wctype (Files): Update.
36070
36071         More consistent naming of *.m4 files.
36072         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
36073         * modules/wchar (Files): Update.
36074
36075 2010-03-06  Jim Meyering  <meyering@redhat.com>
36076
36077         euidaccess: relax license to LGPLv2+
36078         * modules/euidaccess (License): Relax to LGPLv2+.
36079
36080 2010-03-06  Bruno Haible  <bruno@clisp.org>
36081
36082         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
36083         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
36084         (Makefile.am): Augment lib_SOURCES instead.
36085
36086 2010-03-04  Jim Meyering  <meyering@redhat.com>
36087
36088         utime: remove obsolete module
36089         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
36090         unnecessary for years, and has been marked as obsolete for 10 months.
36091         * modules/utime: Remove file.
36092         * lib/utime.c: Remove file.
36093         * m4/utime.m4: Remove file.
36094         * m4/utimes-null.m4: Remove file.
36095         * doc/posix-functions/utime.texi (utime): Remove reference to
36096         the module.  Move the sole "fixed by gnulib" item into the
36097         "problems not fixed by Gnulib" list.
36098         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
36099
36100 2010-03-05  Simon Josefsson  <simon@josefsson.org>
36101
36102         * modules/exit (License): Relax license to LGPLv2+.
36103         (Status): Mark as obsolete.
36104         * NEWS: Mention deprecated 'exit' module.
36105         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
36106         of now obsolete 'exit'.
36107
36108 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36109
36110         fts-lgpl: remove unused module
36111         * modules/fts-lgpl: Remove.
36112         * MODULES.html.sh (func_all_modules): Adjust.
36113         * check-module (find_included_lib_files): Adjust.
36114         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
36115
36116 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
36117
36118         copy-acl: enhance Solaris ACL error handling
36119         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
36120         * lib/set-mode-acl.c (qset_acl): Likewise.
36121
36122 2010-03-02  Bruno Haible  <bruno@clisp.org>
36123
36124         spawn: Don't override the system defined values on FreeBSD 8.
36125         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
36126         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
36127         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
36128         if HAVE_POSIX_SPAWN is 1.
36129         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
36130
36131 2010-03-01  Bruno Haible  <bruno@clisp.org>
36132
36133         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
36134         regarding Automake.
36135
36136 2010-02-25  Bruno Haible  <bruno@clisp.org>
36137
36138         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
36139         * gnulib-tool: Define 'echo' as a function only before the ksh alias
36140         setting, not afterwards.
36141         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
36142
36143 2010-02-24  Eric Blake  <eblake@redhat.com>
36144
36145         bootstrap, git-version-gen: use timestamp
36146         * build-aux/git-version-gen (scriptversion): Force UTC.
36147         * build-aux/bootstrap (scriptversion): New variable.
36148
36149         bootstrap: allow older git
36150         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
36151         older than 1.6.4.  Requested by the libvirt project.
36152
36153 2010-02-23  Eric Blake  <eblake@redhat.com>
36154
36155         warn-on-use: work with old autoconf
36156         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
36157         AS_VAR semantics of autoconf 2.60.
36158         Reported by Bruno Haible.
36159
36160         bootstrap: improve some comments
36161         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
36162         clarification comments.
36163
36164         gettimeofday: provide correct function
36165         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
36166         when replacement is declared, otherwise provide gettimeofday.
36167         Reported by Michael Goffioul.
36168
36169 2010-02-23  Jim Meyering  <meyering@redhat.com>
36170
36171         lib-ignore: relax license to "unlimited", not LGPLv2+
36172         * modules/lib-ignore (License): Relax to "unlimited".
36173
36174 2010-02-23  Jim Meyering  <meyering@redhat.com>
36175
36176         lib-ignore: relax license to LGPLv2+
36177         * modules/lib-ignore (License): Relax to LGPLv2+.
36178
36179 2010-02-22  Eric Blake  <eblake@redhat.com>
36180
36181         lseek: avoid bash 3.2 broken pipe bug
36182         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
36183         warning from bash 3.2.
36184         Reported by Ben Pfaff, with analysis from Bruno Haible.
36185
36186         bootstrap: support non-FSF copyright holder
36187         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
36188         bootstrap.conf override of COPYRIGHT_HOLDER.
36189         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
36190
36191         bootstrap: interoperate with gettext 0.14.1
36192         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
36193
36194         bootstrap: allow for alternate submodule location
36195         * build-aux/bootstrap (gnulib_path): New variable; use instead of
36196         hardcoding submodule location.
36197         (gnulib_mk): Allow direct use of Makefile.am.
36198
36199         bootstrap: use GNULIB_SRCDIR to reduce disk usage
36200         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
36201         rather than reconfiguring where the submodule points.
36202
36203         gettimeofday: restore support for platforms that lack function
36204         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
36205         replacement if function is missing.
36206         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
36207         * modules/sys_time (Makefile.am): Substitute it.
36208         * lib/sys_time.in.h (gettimeofday): Check it.
36209         Reported by Michael Goffioul.
36210
36211 2010-02-21  Bruno Haible  <bruno@clisp.org>
36212
36213         * lib/stdio.in.h (obstack_printf): Fix typo.
36214
36215 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
36216
36217         vc-list-files: use bzr ls's -R option
36218         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
36219         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
36220
36221 2010-02-21  Jim Meyering  <meyering@redhat.com>
36222
36223         init.sh: fix EXEEXT shims to work also for names like test-prog
36224         * tests/init.sh: Re-exec a better shell, when needed.
36225         If the current shell lacks support for posix $(...), an init.sh-using
36226         test will now try to find a shell that supports that.  If EXEEXT is
36227         nonempty, we also require support for hyphen-in-alias-name and shell
36228         substitutions like ${var#glob}.  Failure to find such a shell results
36229         in a skipped test.
36230
36231 2010-02-21  Bruno Haible  <bruno@clisp.org>
36232
36233         Really work around around "broken pipe" error message from bash 3.2.
36234         * gnulib-tool (func_reset_sigpipe): Remove function.
36235         (echo): In bash 3.2, define to a function that uses printf.
36236         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
36237
36238 2010-02-20  Bruno Haible  <bruno@clisp.org>
36239
36240         Restore support for automake 1.9.6 with autoconf 2.61.
36241         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
36242         Reported by James Youngman <jay@gnu.org>.
36243
36244 2010-02-20  Bruno Haible  <bruno@clisp.org>
36245
36246         Improve *printf warning condition.
36247         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
36248         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
36249         and the function is overridden due to SIGPIPE emulation.
36250
36251 2010-02-20  Bruno Haible  <bruno@clisp.org>
36252
36253         * lib/stdio.in.h: Tweak comments.
36254
36255 2010-02-19  Bruno Haible  <bruno@clisp.org>
36256
36257         Make it easier to find modules. New gnulib-tool option '--find'.
36258         * gnulib-tool: New option --find.
36259         (func_usage): Document it.
36260         (func_sanitize_modulelist): New function, extracted from
36261         func_all_modules.
36262         (func_all_modules): Invoke it.
36263         * doc/gnulib-tool.texi (Which modules?): New node.
36264
36265 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
36266
36267         * lib/sys_select.in.h: Provide select replacement even if
36268         sys/select.h exists on a system, for Interix.
36269
36270 2010-02-18  Jim Meyering  <meyering@redhat.com>
36271
36272         init.sh: don't use $(...) just yet
36273         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
36274         to accommodate e.g., Solaris' /bin/sh.
36275
36276 2010-02-17  Bruno Haible  <bruno@clisp.org>
36277
36278         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
36279         Reported by Ludovic Courtès <ludo@gnu.org>.
36280
36281 2010-02-16  Simon Josefsson  <simon@josefsson.org>
36282
36283         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
36284         linking with -lintl.
36285
36286 2010-02-17  Simon Josefsson  <simon@josefsson.org>
36287
36288         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
36289         if not provided by the system's netdb.h.  Reported by
36290         ludo@gnu.org (Ludovic Courtès).
36291
36292 2010-02-15  Jim Meyering  <meyering@redhat.com>
36293
36294         init.sh: improve portability and efficiency
36295         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
36296         "dummy" in a for loop.
36297         Use '!', not '^' to select the complement of a character set used
36298         in a "case" statement.
36299         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
36300         Suggestions from Eric Blake.
36301
36302         init.sh: automatically accommodate programs with the .exe suffix
36303         Automatically arrange for an invocation of "prog" to execute the
36304         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
36305         may use the simpler "prog", yet still work when built on a system
36306         that requires specifying the added suffix.
36307         Do this by constructing a function named "prog" that invokes
36308         "prog.exe" for each .exe file in selected directories.
36309         * tests/init.sh (find_exe_basenames_): New function.
36310         (create_exe_shim_functions_): New function.
36311         (path_prepend_): Use it.
36312
36313         maint.mk: mark syntax-check sc_*.m rules as .PHONY
36314         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
36315         "make -t syntax-check" doesn't create a ton of sc_*.m files.
36316
36317 2010-02-14  Jim Meyering  <meyering@redhat.com>
36318
36319         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
36320         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
36321         (sc_prohibit_hash_pjw_without_use): New rule.
36322
36323         maint.mk: allow the default upload destination dir to be overridden
36324         * top/maint.mk (upload_dest_dir_): Define with a default that
36325         preserves the status quo.
36326         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
36327         Reported by Peter Simons.
36328
36329         maint.mk: prohibit inclusion of "hash.h" without_use
36330         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
36331
36332 2010-02-10  Jim Meyering  <meyering@redhat.com>
36333
36334         maint.mk: prohibit inclusion of "ignore-value.h" without_use
36335         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
36336
36337 2010-02-09  Eric Blake  <ebb9@byu.net>
36338         and Bruno Haible  <bruno@clisp.org>
36339
36340         obstack-printf-posix: ensure declaration
36341         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
36342         extracted from gl_FUNC_OBSTACK_PRINTF.
36343         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
36344         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36345         Likewise.
36346         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
36347         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
36348         0.
36349
36350 2010-02-08  Bruno Haible  <bruno@clisp.org>
36351
36352         gnulib-tool: Fix typo in 2010-02-07 commit.
36353         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
36354         Reported by Eric Blake.
36355
36356 2010-02-07  Bruno Haible  <bruno@clisp.org>
36357
36358         gnulib-tool: Fix up caching patches.
36359         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
36360         option --no-cache. Use associative arrays when supported by the shell.
36361         (sed_comments): New variable.
36362         (modcache): Renamed from do_cache.
36363         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
36364         abbreviate unnecessarily.
36365         (have_associative): New variable.
36366         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
36367         way also for ksh and zsh.
36368         (func_init_sed_convert_to_cache_statements): New function, extracted
36369         from func_cache_lookup_module. Add support for associative arrays.
36370         Don't set the c_MODULE_cached variable here. Ignore all lines before
36371         the first field header. Remove only the final newline, not all trailing
36372         newlines. Support empty fields correctly. Limit the use of 'eval' to
36373         assignments.
36374         (func_get_description, func_get_status, func_get_notice,
36375         func_get_applicability, func_get_filelist, func_get_dependencies,
36376         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
36377         func_get_automake_snippet, func_get_include_directive,
36378         func_get_link_directive, func_get_license, func_get_maintainer):
36379         Update documentation. List the unoptimized code first. Add support for
36380         associative arrays. Limit the use of 'eval' to assignments.
36381         (func_get_applicability): Undo stylistic pessimisations.
36382         (func_get_automake_snippet, func_get_include_directive): Reduce code
36383         duplication.
36384         (func_modules_transitive_closure, func_modules_add_dummy,
36385         func_modules_notice, func_modules_to_filelist, func_add_file,
36386         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
36387         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
36388         func_create_testdir, func_create_megatestdir): Update documentation.
36389
36390 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36391
36392         * gnulib-tool (func_cache_lookup_module): Store the module name
36393         belonging to the cache variable; error out if two different
36394         module names map to the same cache variable name.
36395
36396 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36397
36398         gnulib-tool: Make caching optional.
36399         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
36400         Update matching short versions of --no-changelog.
36401         (func_usage): Update.
36402         (sed_extract_cache_prog): Renamed from ...
36403         (sed_extract_prog): ... this; revert to old extraction script.
36404         (func_get_description, func_get_status)
36405         (func_get_notice, func_get_applicability, func_get_filelist)
36406         (func_get_dependencies, func_get_autoconf_early_snippet)
36407         (func_get_autoconf_snippet, func_get_automake_snippet)
36408         (func_get_include_directive, func_get_link_directive)
36409         (func_get_license, func_get_maintainer): If $do_cache is false,
36410         use old, non-caching extraction scripts.
36411         Suggestion by Bruno Haible.
36412
36413 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36414
36415         gnulib-tool: cache module metainformation.
36416         * gnulib-tool (sed_extract_prog): Match newline before each
36417         header, and rewrite header to a shell variable suffix.
36418         (func_cache_var, func_cache_lookup_module): New functions,
36419         to turn a module name into a cache variable prefix, and to
36420         look up and cache module metainformation.
36421         (func_get_description, func_get_status)
36422         (func_get_notice, func_get_applicability, func_get_filelist)
36423         (func_get_dependencies, func_get_autoconf_early_snippet)
36424         (func_get_autoconf_snippet, func_get_automake_snippet)
36425         (func_get_include_directive, func_get_link_directive)
36426         (func_get_license, func_get_maintainer): Use
36427         func_cache_lookup_module.
36428
36429 2010-02-07  Bruno Haible  <bruno@clisp.org>
36430
36431         fnctl: Fix missing dependency.
36432         * modules/fcntl (Depends-on): Add getdtablesize.
36433         Reported by John W. Eaton <jwe@gnu.org>.
36434
36435 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36436
36437         Argp: fix recognition of short alias options.
36438
36439         * lib/argp-parse.c (convert_options): Fix improper use of
36440         `|' between character values.
36441         * tests/test-argp.c (group1_option): New alias option
36442         --read (-r).
36443         (group1_parser): Special handling for 'r'.
36444         (test15): New test case.
36445         (test_fun): Add test15.
36446         * tests/test-argp-2.sh: Update expected --help and --usage
36447         outputs.
36448
36449 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36450
36451         * tests/test-argp.c: Fix indentation.
36452
36453 2010-02-04  Eric Blake  <ebb9@byu.net>
36454
36455         gettimeofday: expose type of second argument
36456         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
36457         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
36458         * tests/test-gettimeofday.c: Use it to silence warning.
36459         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
36460         the issue.
36461
36462 2010-02-03  Jim Meyering  <meyering@redhat.com>
36463
36464         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
36465         * lib/regcomp.c (TYPE_SIGNED): Define.
36466         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
36467
36468         regcomp.c: avoid a new -Wshadow warning
36469         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
36470
36471 2010-02-01  Jim Meyering  <meyering@redhat.com>
36472
36473         removing useless parentheses in cpp #define directives
36474         For motivation, see commit c0221df4, "define STREQ(a,b)
36475         consistently, removing useless parentheses"
36476         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
36477         * lib/mountlist.c (MNT_IGNORE): Likewise.
36478         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
36479
36480 2010-02-01  Eric Blake  <ebb9@byu.net>
36481
36482         sys_time: use link-warning
36483         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
36484         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
36485         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
36486         * modules/sys_time (Depends-on): Add warn-on-use.
36487         (Makefile.am): Always build replacement.
36488         (configure.ac): Update substitutions.
36489         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
36490         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
36491         bother with SYS_TIME_H.
36492         * modules/gettimeofday (configure.ac): Declare indicator.
36493         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
36494         in use.
36495
36496         closein-tests: silence compiler warning
36497         * tests/test-closein.c (main): Ignore fread result.
36498         * modules/closein-tests (Depends-on): Add ignore-value.
36499
36500         tests: silence warning about system return
36501         * tests/test-areadlink-with-size.c (main): Ignore system result.
36502         * tests/test-areadlink.c (main): Likewise.
36503         * tests/test-areadlinkat-with-size.c (main): Likewise.
36504         * tests/test-areadlinkat.c (main): Likewise.
36505         * tests/test-canonicalize-lgpl.c (main): Likewise.
36506         * tests/test-canonicalize.c (main): Likewise.
36507         * tests/test-chown.c (main): Likewise.
36508         * tests/test-fchownat.c (main): Likewise.
36509         * tests/test-fdutimensat.c (main): Likewise.
36510         * tests/test-fstatat.c (main): Likewise.
36511         * tests/test-futimens.c (main): Likewise.
36512         * tests/test-lchown.c (main): Likewise.
36513         * tests/test-link.c (main): Likewise.
36514         * tests/test-linkat.c (main): Likewise.
36515         * tests/test-lstat.c (main): Likewise.
36516         * tests/test-mkdir.c (main): Likewise.
36517         * tests/test-mkdirat.c (main): Likewise.
36518         * tests/test-mkfifo.c (main): Likewise.
36519         * tests/test-mkfifoat.c (main): Likewise.
36520         * tests/test-mknod.c (main): Likewise.
36521         * tests/test-readlink.c (main): Likewise.
36522         * tests/test-remove.c (main): Likewise.
36523         * tests/test-rename.c (main): Likewise.
36524         * tests/test-renameat.c (main): Likewise.
36525         * tests/test-rmdir.c (main): Likewise.
36526         * tests/test-symlink.c (main): Likewise.
36527         * tests/test-symlinkat.c (main): Likewise.
36528         * tests/test-unlink.c (main): Likewise.
36529         * tests/test-unlinkat.c (main): Likewise.
36530         * tests/test-utimens.c (main): Likewise.
36531         * tests/test-utimensat.c (main): Likewise.
36532         * modules/areadlink-tests (Depends-on): Add ignore-value.
36533         * modules/areadlink-with-size-tests (Depends-on): Likewise.
36534         * modules/areadlinkat-tests (Depends-on): Likewise.
36535         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
36536         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
36537         * modules/canonicalize-tests (Depends-on): Likewise.
36538         * modules/chown-tests (Depends-on): Likewise.
36539         * modules/fdutimensat-tests (Depends-on): Likewise.
36540         * modules/futimens-tests (Depends-on): Likewise.
36541         * modules/lchown-tests (Depends-on): Likewise.
36542         * modules/link-tests (Depends-on): Likewise.
36543         * modules/linkat-tests (Depends-on): Likewise.
36544         * modules/lstat-tests (Depends-on): Likewise.
36545         * modules/mkdir-tests (Depends-on): Likewise.
36546         * modules/mkfifo-tests (Depends-on): Likewise.
36547         * modules/mkfifoat-tests (Depends-on): Likewise.
36548         * modules/mknod-tests (Depends-on): Likewise.
36549         * modules/openat-tests (Depends-on): Likewise.
36550         * modules/readlink-tests (Depends-on): Likewise.
36551         * modules/remove-tests (Depends-on): Likewise.
36552         * modules/rename-tests (Depends-on): Likewise.
36553         * modules/renameat-tests (Depends-on): Likewise.
36554         * modules/rmdir-tests (Depends-on): Likewise.
36555         * modules/symlink-tests (Depends-on): Likewise.
36556         * modules/symlinkat-tests (Depends-on): Likewise.
36557         * modules/unlink-tests (Depends-on): Likewise.
36558         * modules/utimens-tests (Depends-on): Likewise.
36559         * modules/utimensat-tests (Depends-on): Likewise.
36560
36561 2010-01-31  Bruno Haible  <bruno@clisp.org>
36562
36563         Perform the same test for many <math.h> functions.
36564         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
36565         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
36566         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
36567         of gl_MATHFUNC.
36568         * modules/acos (configure.ac): Likewise.
36569         * modules/asin (configure.ac): Likewise.
36570         * modules/atan (configure.ac): Likewise.
36571         * modules/atan2 (configure.ac): Likewise.
36572         * modules/cbrt (configure.ac): Likewise.
36573         * modules/copysign (configure.ac): Likewise.
36574         * modules/cos (configure.ac): Likewise.
36575         * modules/cosh (configure.ac): Likewise.
36576         * modules/erf (configure.ac): Likewise.
36577         * modules/erfc (configure.ac): Likewise.
36578         * modules/exp (configure.ac): Likewise.
36579         * modules/fmod (configure.ac): Likewise.
36580         * modules/hypot (configure.ac): Likewise.
36581         * modules/j0 (configure.ac): Likewise.
36582         * modules/j1 (configure.ac): Likewise.
36583         * modules/jn (configure.ac): Likewise.
36584         * modules/lgamma (configure.ac): Likewise.
36585         * modules/log (configure.ac): Likewise.
36586         * modules/log10 (configure.ac): Likewise.
36587         * modules/log1p (configure.ac): Likewise.
36588         * modules/pow (configure.ac): Likewise.
36589         * modules/remainder (configure.ac): Likewise.
36590         * modules/sin (configure.ac): Likewise.
36591         * modules/sinh (configure.ac): Likewise.
36592         * modules/tan (configure.ac): Likewise.
36593         * modules/tanh (configure.ac): Likewise.
36594         * modules/y0 (configure.ac): Likewise.
36595         * modules/y1 (configure.ac): Likewise.
36596         * modules/yn (configure.ac): Likewise.
36597         Suggested by Paolo Bonzini.
36598
36599 2010-01-31  Bruno Haible  <bruno@clisp.org>
36600
36601         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
36602
36603 2010-01-31  Bruno Haible  <bruno@clisp.org>
36604
36605         Work around getdelim() bug on FreeBSD 8.0.
36606         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
36607         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
36608         not work.
36609         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
36610         is 1.
36611         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
36612         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
36613         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
36614         a non-zero size.
36615         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
36616
36617 2010-01-31  Bruno Haible  <bruno@clisp.org>
36618
36619         Work around getline() bug on FreeBSD 8.0.
36620         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
36621         and a non-zero size.
36622         * tests/test-getline.c (main): Likewise.
36623         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
36624         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
36625
36626 2010-01-28  Eric Blake  <ebb9@byu.net>
36627
36628         regex: fix build failure
36629         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
36630         platforms.
36631
36632 2010-01-28  Jim Meyering  <meyering@redhat.com>
36633
36634         regex: do not ignore memory allocation failure
36635         * lib/regex_internal.c (create_cd_newstate): Detect
36636         re_node_set_init_copy failure.   Extracted from glibc commit
36637         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36638
36639         regex: sync more white-space changes from libc
36640         * lib/regex_internal.c: White-space only changes.
36641         * lib/regexec.c: Likewise.
36642
36643         regex: add many uses of __attribute_warn_unused_result__
36644         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
36645         * lib/regexec.c: Likewise.
36646         Extracted from a messy glibc commit.
36647
36648         regcomp.c: spelling and merge-artifact from glibc
36649         * lib/regcomp.c: Merge remainder of glibc's
36650         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36651
36652         regcomp.c: sync white-space changes from glibc
36653         * lib/regcomp.c: Merge to accommodate white space
36654         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36655
36656         regcomp.c: do not ignore internal return values
36657         * lib/regcomp.c: Do not ignore internal return values.
36658         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
36659         but without its white-space changes and spelling fixes.
36660
36661         regex_internal.h: define __attribute_warn_unused_result__
36662         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
36663
36664         maint: add a syntax-check rule to check for vulnerable Makefile.in
36665         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
36666
36667 2010-01-27  Jim Meyering  <meyering@redhat.com>
36668
36669         ncftpput-ftp: clean up spaces
36670         * build-aux/ncftpput-ftp: Make Copyright line consistent.
36671         Remove trailing blanks.
36672
36673 2010-01-27  Simon Josefsson  <simon@josefsson.org>
36674
36675         * build-aux/git-version-gen: Fix copyright statement.
36676         * build-aux/gnupload: Likewise.
36677         * tests/test-arcfour.c: Likewise.
36678         * tests/test-arctwo.c: Likewise.
36679         * tests/test-count-one-bits.c: Likewise.
36680         * tests/test-crc.c: Likewise.
36681         * tests/test-des.c: Likewise.
36682         * tests/test-gc-arcfour.c: Likewise.
36683         * tests/test-gc-arctwo.c: Likewise.
36684         * tests/test-gc-des.c: Likewise.
36685         * tests/test-gc-hmac-md5.c: Likewise.
36686         * tests/test-gc-hmac-sha1.c: Likewise.
36687         * tests/test-gc-md2.c: Likewise.
36688         * tests/test-gc-md4.c: Likewise.
36689         * tests/test-gc-md5.c: Likewise.
36690         * tests/test-gc-pbkdf2-sha1.c: Likewise.
36691         * tests/test-gc-rijndael.c: Likewise.
36692         * tests/test-gc-sha1.c: Likewise.
36693         * tests/test-gc.c: Likewise.
36694         * tests/test-gethostname.c: Likewise.
36695         * tests/test-gettimeofday.c: Likewise.
36696         * tests/test-hash.c: Likewise.
36697         * tests/test-hmac-md5.c: Likewise.
36698         * tests/test-hmac-sha1.c: Likewise.
36699         * tests/test-md2.c: Likewise.
36700         * tests/test-md4.c: Likewise.
36701         * tests/test-md5.c: Likewise.
36702         * tests/test-memchr.c: Likewise.
36703         * tests/test-memchr2.c: Likewise.
36704         * tests/test-memcmp.c: Likewise.
36705         * tests/test-memmem.c: Likewise.
36706         * tests/test-memrchr.c: Likewise.
36707         * tests/test-rawmemchr.c: Likewise.
36708         * tests/test-read-file.c: Likewise.
36709         * tests/test-rijndael.c: Likewise.
36710         * tests/test-sockets.c: Likewise.
36711         * tests/test-strchrnul.c: Likewise.
36712         * tests/test-strstr.c: Likewise.
36713         * tests/test-strtod.c: Likewise.
36714         * build-aux/ncftpput-ftp: Likewise.
36715
36716 2010-01-26  Eric Blake  <ebb9@byu.net>
36717
36718         ignore-value: update recommended header name
36719         * modules/ignore-value (Include): Only use <> for headers that
36720         exist in glibc.
36721
36722 2010-01-26  Jim Meyering  <meyering@redhat.com>
36723
36724         test-userspec.c: avoid compiler warnings
36725         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
36726         and "initialization discards qualifiers..." warnings.
36727         Put the first "uid" in its own scope, and make char* members "const".
36728
36729 2010-01-25  Bruno Haible  <bruno@clisp.org>
36730
36731         gnulib-tool: Make warning diagnostics consistent.
36732         * gnulib-tool (func_warning): New function.
36733         Use it everywhere where gnulib-tool produces output to stderr and it is
36734         not a fatal error.
36735
36736 2010-01-25  Bruno Haible  <bruno@clisp.org>
36737
36738         Fix test dependencies.
36739         * modules/xstrtol-tests (Depends-on): Add inttypes.
36740         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
36741
36742 2010-01-25 Pádraig Brady <P@draigBrady.com>
36743
36744         syntax-check: detect incorrect boolean macro values in config.h
36745         * modules/maintainer-makefile (configure.ac): Parameterize the location
36746         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
36747         The logic is from Eric Blake and the location indicated by Jim Meyering.
36748         Note the more natural CONFIG_HEADER name is prohibited by automake
36749         for backwards compatibility reasons.
36750         * top/maint.mk (sc_Wundef_boolean): New rule.
36751
36752 2010-01-25  Jim Meyering  <meyering@redhat.com>
36753
36754         bootstrap: detect MacOS 10.6's shasum, too
36755         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
36756         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
36757
36758 2010-01-23  Jim Meyering  <meyering@redhat.com>
36759
36760         xstrtoll: new module
36761         * modules/xstrtoll: New file.
36762         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
36763         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
36764         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
36765         ./configure fails if you use this module and lack "long long".
36766         * modules/xstrtoll-tests: New module.
36767         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
36768         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
36769         new init.sh-based test framework.
36770
36771 2010-01-24  Bruno Haible  <bruno@clisp.org>
36772
36773         Tests for module 'yn'.
36774         * modules/yn-tests: New file.
36775         * tests/test-yn.c: New file.
36776
36777         Tests for module 'y1'.
36778         * modules/y1-tests: New file.
36779         * tests/test-y1.c: New file.
36780
36781         Tests for module 'y0'.
36782         * modules/y0-tests: New file.
36783         * tests/test-y0.c: New file.
36784
36785         Tests for module 'tanh'.
36786         * modules/tanh-tests: New file.
36787         * tests/test-tanh.c: New file.
36788
36789         Tests for module 'tan'.
36790         * modules/tan-tests: New file.
36791         * tests/test-tan.c: New file.
36792
36793         Tests for module 'sqrt'.
36794         * modules/sqrt-tests: New file.
36795         * tests/test-sqrt.c: New file.
36796
36797         Tests for module 'sinh'.
36798         * modules/sinh-tests: New file.
36799         * tests/test-sinh.c: New file.
36800
36801         Tests for module 'sin'.
36802         * modules/sin-tests: New file.
36803         * tests/test-sin.c: New file.
36804
36805         Tests for module 'rint'.
36806         * modules/rint-tests: New file.
36807         * tests/test-rint.c: New file.
36808
36809         Tests for module 'remainder'.
36810         * modules/remainder-tests: New file.
36811         * tests/test-remainder.c: New file.
36812
36813         Tests for module 'pow'.
36814         * modules/pow-tests: New file.
36815         * tests/test-pow.c: New file.
36816
36817         Tests for module 'nextafter'.
36818         * modules/nextafter-tests: New file.
36819         * tests/test-nextafter.c: New file.
36820
36821         Tests for module 'modf'.
36822         * modules/modf-tests: New file.
36823         * tests/test-modf.c: New file.
36824
36825         Tests for module 'logb'.
36826         * modules/logb-tests: New file.
36827         * tests/test-logb.c: New file.
36828
36829         Tests for module 'log1p'.
36830         * modules/log1p-tests: New file.
36831         * tests/test-log1p.c: New file.
36832
36833         Tests for module 'log10'.
36834         * modules/log10-tests: New file.
36835         * tests/test-log10.c: New file.
36836
36837         Tests for module 'log'.
36838         * modules/log-tests: New file.
36839         * tests/test-log.c: New file.
36840
36841         Tests for module 'lgamma'.
36842         * modules/lgamma-tests: New file.
36843         * tests/test-lgamma.c: New file.
36844
36845         Tests for module 'ldexp'.
36846         * modules/ldexp-tests: New file.
36847         * tests/test-ldexp.c: New file.
36848
36849         Tests for module 'jn'.
36850         * modules/jn-tests: New file.
36851         * tests/test-jn.c: New file.
36852
36853         Tests for module 'j1'.
36854         * modules/j1-tests: New file.
36855         * tests/test-j1.c: New file.
36856
36857         Tests for module 'j0'.
36858         * modules/j0-tests: New file.
36859         * tests/test-j0.c: New file.
36860
36861         Tests for module 'hypot'.
36862         * modules/hypot-tests: New file.
36863         * tests/test-hypot.c: New file.
36864
36865         Tests for module 'fmod'.
36866         * modules/fmod-tests: New file.
36867         * tests/test-fmod.c: New file.
36868
36869         Tests for module 'fabs'.
36870         * modules/fabs-tests: New file.
36871         * tests/test-fabs.c: New file.
36872
36873         Tests for module 'exp'.
36874         * modules/exp-tests: New file.
36875         * tests/test-exp.c: New file.
36876
36877         Tests for module 'erfc'.
36878         * modules/erfc-tests: New file.
36879         * tests/test-erfc.c: New file.
36880
36881         Tests for module 'erf'.
36882         * modules/erf-tests: New file.
36883         * tests/test-erf.c: New file.
36884
36885         Tests for module 'cosh'.
36886         * modules/cosh-tests: New file.
36887         * tests/test-cosh.c: New file.
36888
36889         Tests for module 'cos'.
36890         * modules/cos-tests: New file.
36891         * tests/test-cos.c: New file.
36892
36893         Tests for module 'copysign'.
36894         * modules/copysign-tests: New file.
36895         * tests/test-copysign.c: New file.
36896
36897         Tests for module 'cbrt'.
36898         * modules/cbrt-tests: New file.
36899         * tests/test-cbrt.c: New file.
36900
36901         Tests for module 'atan2'.
36902         * modules/atan2-tests: New file.
36903         * tests/test-atan2.c: New file.
36904
36905         Tests for module 'atan'.
36906         * modules/atan-tests: New file.
36907         * tests/test-atan.c: New file.
36908
36909         Tests for module 'asin'.
36910         * modules/asin-tests: New file.
36911         * tests/test-asin.c: New file.
36912
36913         Tests for module 'acos'.
36914         * modules/acos-tests: New file.
36915         * tests/test-acos.c: New file.
36916
36917 2010-01-24  Bruno Haible  <bruno@clisp.org>
36918
36919         Fix tests for common <math.h> functions.
36920         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
36921         code snippet that references the function pointer, rather than merely
36922         calling the function. Substitute the FUNC_LIBM variable.
36923         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
36924         * modules/acos (configure.ac): Likewise.
36925         * modules/asin (configure.ac): Likewise.
36926         * modules/atan (configure.ac): Likewise.
36927         * modules/atan2 (configure.ac): Likewise.
36928         * modules/cbrt (configure.ac): Likewise.
36929         * modules/copysign (configure.ac): Likewise.
36930         * modules/cos (configure.ac): Likewise.
36931         * modules/cosh (configure.ac): Likewise.
36932         * modules/erf (configure.ac): Likewise.
36933         * modules/erfc (configure.ac): Likewise.
36934         * modules/exp (configure.ac): Likewise.
36935         * modules/fabs (configure.ac): Likewise.
36936         * modules/fmod (configure.ac): Likewise.
36937         * modules/hypot (configure.ac): Likewise.
36938         * modules/j0 (configure.ac): Likewise.
36939         * modules/j1 (configure.ac): Likewise.
36940         * modules/jn (configure.ac): Likewise.
36941         * modules/ldexp (configure.ac): Likewise.
36942         * modules/lgamma (configure.ac): Likewise.
36943         * modules/log (configure.ac): Likewise.
36944         * modules/log10 (configure.ac): Likewise.
36945         * modules/log1p (configure.ac): Likewise.
36946         * modules/logb (configure.ac): Likewise.
36947         * modules/modf (configure.ac): Likewise.
36948         * modules/nextafter (configure.ac): Likewise.
36949         * modules/pow (configure.ac): Likewise.
36950         * modules/remainder (configure.ac): Likewise.
36951         * modules/rint (configure.ac): Likewise.
36952         * modules/sin (configure.ac): Likewise.
36953         * modules/sinh (configure.ac): Likewise.
36954         * modules/tan (configure.ac): Likewise.
36955         * modules/tanh (configure.ac): Likewise.
36956         * modules/y0 (configure.ac): Likewise.
36957         * modules/y1 (configure.ac): Likewise.
36958         * modules/yn (configure.ac): Likewise.
36959
36960 2010-01-24  Bruno Haible  <bruno@clisp.org>
36961
36962         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
36963         * tests/test-acosl.c (x): New variable.
36964         (main): Store argument in x and fetch it from x.
36965         * tests/test-asinl.c (x): New variable.
36966         (main): Store argument in x and fetch it from x.
36967         * tests/test-atanl.c (x): New variable.
36968         (main): Store argument in x and fetch it from x.
36969         * tests/test-cosl.c (x): New variable.
36970         (main): Store argument in x and fetch it from x.
36971         * tests/test-expl.c (x): New variable.
36972         (main): Store argument in x and fetch it from x.
36973         * tests/test-logl.c (x): New variable.
36974         (main): Store argument in x and fetch it from x.
36975         * tests/test-sinl.c (x): New variable.
36976         (main): Store argument in x and fetch it from x.
36977         * tests/test-sqrtl.c (x): New variable.
36978         (main): Store argument in x and fetch it from x.
36979         * tests/test-tanl.c (x): New variable.
36980         (main): Store argument in x and fetch it from x.
36981
36982 2010-01-24  Bruno Haible  <bruno@clisp.org>
36983
36984         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
36985         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
36986         assignments to the initial TESTS_ENVIRONMENT.
36987         * doc/gnulib.texi (Unit test modules): Document it.
36988         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
36989         TESTS_ENVIRONMENT.
36990         * modules/btowc-tests (Makefile.am): Likewise.
36991         * modules/c-stack-tests (Makefile.am): Likewise.
36992         * modules/c-strcase-tests (Makefile.am): Likewise.
36993         * modules/copy-file-tests (Makefile.am): Likewise.
36994         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
36995         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
36996         * modules/mbrtowc-tests (Makefile.am): Likewise.
36997         * modules/mbscasecmp-tests (Makefile.am): Likewise.
36998         * modules/mbscasestr-tests (Makefile.am): Likewise.
36999         * modules/mbschr-tests (Makefile.am): Likewise.
37000         * modules/mbscspn-tests (Makefile.am): Likewise.
37001         * modules/mbsinit-tests (Makefile.am): Likewise.
37002         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37003         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
37004         * modules/mbspbrk-tests (Makefile.am): Likewise.
37005         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37006         * modules/mbsrchr-tests (Makefile.am): Likewise.
37007         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
37008         * modules/mbsspn-tests (Makefile.am): Likewise.
37009         * modules/mbsstr-tests (Makefile.am): Likewise.
37010         * modules/nl_langinfo-tests (Makefile.am): Likewise.
37011         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
37012         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37013         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37014         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37015         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37016         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
37017         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37018         * modules/wcrtomb-tests (Makefile.am): Likewise.
37019         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
37020         * modules/wcsrtombs-tests (Makefile.am): Likewise.
37021         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
37022         assignments from TESTS_ENVIRONMENT.
37023         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
37024         augmentation.
37025         * modules/argp-version-etc-tests (Makefile.am): Likewise.
37026         * modules/atexit-tests (Makefile.am): Likewise.
37027         * modules/binary-io-tests (Makefile.am): Likewise.
37028         * modules/closein-tests (Makefile.am): Likewise.
37029         * modules/dprintf-posix-tests (Makefile.am): Likewise.
37030         * modules/exclude-tests (Makefile.am): Likewise.
37031         * modules/fflush-tests (Makefile.am): Likewise.
37032         * modules/fpending-tests (Makefile.am): Likewise.
37033         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37034         * modules/freadahead-tests (Makefile.am): Likewise.
37035         * modules/freadptr-tests (Makefile.am): Likewise.
37036         * modules/freadseek-tests (Makefile.am): Likewise.
37037         * modules/fseek-tests (Makefile.am): Likewise.
37038         * modules/fseeko-tests (Makefile.am): Likewise.
37039         * modules/ftell-tests (Makefile.am): Likewise.
37040         * modules/ftello-tests (Makefile.am): Likewise.
37041         * modules/idpriv-drop-tests (Makefile.am): Likewise.
37042         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
37043         * modules/lseek-tests (Makefile.am): Likewise.
37044         * modules/parse-duration-tests (Makefile.am): Likewise.
37045         * modules/perror-tests (Makefile.am): Likewise.
37046         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
37047         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
37048         * modules/pipe-tests (Makefile.am): Likewise.
37049         * modules/pread-tests (Makefile.am): Likewise.
37050         * modules/printf-posix-tests (Makefile.am): Likewise.
37051         * modules/select-tests (Makefile.am): Likewise.
37052         * modules/sigpipe-tests (Makefile.am): Likewise.
37053         * modules/tsearch-tests (Makefile.am): Likewise.
37054         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
37055         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
37056         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37057         * modules/uniwidth/width-tests (Makefile.am): Likewise.
37058         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
37059         * modules/version-etc-tests (Makefile.am): Likewise.
37060         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37061         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37062         * modules/xalloc-die-tests (Makefile.am): Likewise.
37063         * modules/xprintf-posix-tests (Makefile.am): Likewise.
37064         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37065         * modules/xstrtol-tests (Makefile.am): Likewise.
37066         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37067         * modules/yesno-tests (Makefile.am): Likewise.
37068         Suggested by Jim Meyering.
37069
37070 2010-01-24  Bruno Haible  <bruno@clisp.org>
37071
37072         More documentation.
37073         * doc/gnulib.texi (Writing modules): New chapter.
37074         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
37075         the new chapter.
37076
37077 2010-01-24  Jim Meyering  <meyering@redhat.com>
37078
37079         maint.mk: do not prepend "./" after filtering
37080         * top/maint.mk (_prepend_srcdir_prefix): New variable
37081         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
37082         "./" when $(srcdir) is ".".
37083
37084         define STREQ(a,b) consistently, removing useless parentheses
37085         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
37086         since the only risk is that "a" or "b" contains an unparenthesized
37087         comma, but if either did that, STREQ would have 3 or more arguments.
37088         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
37089         * lib/fts.c (STREQ): Remove unnecessary parentheses.
37090         * lib/hash-triple.c (STREQ): Likewise.
37091         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
37092         * lib/getugroups.c (STREQ): Likewise.
37093
37094 2010-01-23  Jim Meyering  <meyering@redhat.com>
37095
37096         maint.mk: fix syntax-check in a non-srcdir build directory
37097         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
37098         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
37099
37100 2010-01-22  Jim Meyering  <meyering@redhat.com>
37101
37102         userspec: add unit tests
37103         * tests/test-userspec.c: New file.
37104         * modules/userspec-tests: Likewise.
37105
37106 2010-01-21  Jim Meyering  <meyering@redhat.com>
37107
37108         maint.mk: handle source file names containing "." robustly
37109         * top/maint.mk (_dot_escaped_srcdir): Define.
37110         (VC_LIST): Use it in LHS of sed substitution.
37111
37112 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
37113
37114         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
37115         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
37116         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
37117         from a non-srcdir build.
37118
37119 2010-01-20  Eric Blake  <ebb9@byu.net>
37120
37121         warn-on-use: use instead of link-warning
37122         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
37123         * modules/unistd (Depends-on, Makefile.am): Likewise.
37124         * modules/arpa_inet (Depends-on): Replace link-warning with
37125         warn-on-use.
37126         (Makefile.am): Update rules accordingly.
37127         * modules/ctype (Depends-on, Makefile.am): Likewise.
37128         * modules/dirent (Depends-on, Makefile.am): Likewise.
37129         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
37130         * modules/inttypes (Depends-on, Makefile.am): Likewise.
37131         * modules/langinfo (Depends-on, Makefile.am): Likewise.
37132         * modules/locale (Depends-on, Makefile.am): Likewise.
37133         * modules/math (Depends-on, Makefile.am): Likewise.
37134         * modules/search (Depends-on, Makefile.am): Likewise.
37135         * modules/signal (Depends-on, Makefile.am): Likewise.
37136         * modules/spawn (Depends-on, Makefile.am): Likewise.
37137         * modules/stdlib (Depends-on, Makefile.am): Likewise.
37138         * modules/string (Depends-on, Makefile.am): Likewise.
37139         * modules/strings (Depends-on, Makefile.am): Likewise.
37140         * modules/sys_file (Depends-on, Makefile.am): Likewise.
37141         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
37142         * modules/sys_select (Depends-on, Makefile.am): Likewise.
37143         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
37144         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
37145         * modules/sys_times (Depends-on, Makefile.am): Likewise.
37146         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
37147         * modules/wchar (Depends-on, Makefile.am): Likewise.
37148         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
37149         should be poisoned.
37150         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
37151         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
37152         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
37153         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37154         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
37155         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
37156         * m4/math_h.m4 (gl_MATH_H): Likewise.
37157         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37158         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
37159         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37160         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
37161         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
37162         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
37163         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
37164         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
37165         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
37166         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37167         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37168         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
37169         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
37170         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
37171         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37172         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37173         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
37174         GL_LINK_WARNING.
37175         * lib/ctype.in.h: Likewise.
37176         * lib/dirent.in.h: Likewise.
37177         * lib/fcntl.in.h: Likewise.
37178         * lib/inttypes.in.h: Likewise.
37179         * lib/langinfo.in.h: Likewise.
37180         * lib/locale.in.h: Likewise.
37181         * lib/math.in.h: Likewise.
37182         * lib/search.in.h: Likewise.
37183         * lib/signal.in.h: Likewise.
37184         * lib/spawn.in.h: Likewise.
37185         * lib/stdio.in.h: Likewise.
37186         * lib/stdlib.in.h: Likewise.
37187         * lib/string.in.h: Likewise.
37188         * lib/strings.in.h: Likewise.
37189         * lib/sys_file.in.h: Likewise.
37190         * lib/sys_ioctl.in.h: Likewise.
37191         * lib/sys_select.in.h: Likewise.
37192         * lib/sys_socket.in.h: Likewise.
37193         * lib/sys_stat.in.h: Likewise.
37194         * lib/sys_times.in.h: Likewise.
37195         * lib/sys_utsname.in.h: Likewise.
37196         * lib/unistd.in.h: Likewise.
37197         * lib/wchar.in.h: Likewise.
37198
37199 2010-01-20  Bruno Haible  <bruno@clisp.org>
37200
37201         Avoid duplicate -lm.
37202         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
37203         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
37204         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
37205         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
37206         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
37207         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
37208         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
37209         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
37210         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
37211         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
37212         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
37213         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
37214         Reported by Paolo Bonzini.
37215
37216 2010-01-19  Bruno Haible  <bruno@clisp.org>
37217
37218         langinfo, nl_langinfo: Relicense under LGPLv2+.
37219         * modules/langinfo (License): Change to LGPLv2+.
37220         * modules/nl_langinfo (License): Likewise.
37221         Patch by David Lutterkort <lutter@redhat.com>.
37222
37223 2010-01-19  Bruno Haible  <bruno@clisp.org>
37224
37225         Avoid compilation error with cc on OSF/1 5.1.
37226         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
37227         statement, not before.
37228         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37229
37230 2010-01-18  Bruno Haible  <bruno@clisp.org>
37231
37232         Avoid a link error due to the __printf__ symbol.
37233         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
37234         and 2.6.x.
37235         (__format__, __printf__): Remove definitions.
37236         * lib/argp-fmtstream.h: Likewise.
37237         * lib/argp.h: Likewise.
37238         * lib/error.h: Likewise.
37239         * lib/vasnprintf.h: Likewise.
37240         * lib/xprintf.h: Likewise.
37241         * lib/xvasprintf.h: Likewise.
37242         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37243
37244 2010-01-18  Bruno Haible  <bruno@clisp.org>
37245
37246         Tests for module 'tanl'.
37247         * modules/tanl-tests: New file.
37248         * tests/test-tanl.c: New file.
37249
37250         Tests for module 'sqrtl'.
37251         * modules/sqrtl-tests: New file.
37252         * tests/test-sqrtl.c: New file.
37253
37254         Tests for module 'sinl'.
37255         * modules/sinl-tests: New file.
37256         * tests/test-sinl.c: New file.
37257
37258         Tests for module 'logl'.
37259         * modules/logl-tests: New file.
37260         * tests/test-logl.c: New file.
37261
37262         Tests for module 'expl'.
37263         * modules/expl-tests: New file.
37264         * tests/test-expl.c: New file.
37265
37266         Tests for module 'cosl'.
37267         * modules/cosl-tests: New file.
37268         * tests/test-cosl.c: New file.
37269
37270         Tests for module 'atanl'.
37271         * modules/atanl-tests: New file.
37272         * tests/test-atanl.c: New file.
37273
37274         Tests for module 'asinl'.
37275         * modules/asinl-tests: New file.
37276         * tests/test-asinl.c: New file.
37277
37278         Tests for module 'acosl'.
37279         * modules/acosl-tests: New file.
37280         * tests/test-acosl.c: New file.
37281
37282         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37283         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
37284         tanl): Use the standard gnulib idiom.
37285         * lib/cosl.c: Don't include trigl.c and sincosl.c.
37286         * lib/sinl.c: Likewise.
37287         * lib/tanl.c: Don't include trigl.c.
37288         (kernel_tanl): Make static.
37289         * lib/sincosl.c: Include trigl.h first.
37290         * lib/trigl.c: Likewise.
37291         * m4/acosl.m4: New file.
37292         * m4/asinl.m4: New file.
37293         * m4/atanl.m4: New file.
37294         * m4/cosl.m4: New file.
37295         * m4/expl.m4: New file.
37296         * m4/logl.m4: New file.
37297         * m4/sinl.m4: New file.
37298         * m4/sqrtl.m4: New file.
37299         * m4/tanl.m4: New file.
37300         * m4/mathl.m4: Remove file.
37301         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
37302         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37303         Don't initialize GNULIB_MATHL.
37304         * modules/acosl: New file.
37305         * modules/asinl: New file.
37306         * modules/atanl: New file.
37307         * modules/cosl: New file.
37308         * modules/expl: New file.
37309         * modules/logl: New file.
37310         * modules/sinl: New file.
37311         * modules/sqrtl: New file.
37312         * modules/tanl: New file.
37313         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
37314         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
37315         substitute GNULIB_MATHL.
37316         * modules/mathl: Rewritten.
37317         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
37318         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
37319         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
37320         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
37321         * doc/posix-functions/expl.texi: Mention the 'expl' module.
37322         * doc/posix-functions/logl.texi: Mention the 'logl' module.
37323         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
37324         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
37325         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
37326
37327 2010-01-18  Bruno Haible  <bruno@clisp.org>
37328
37329         sqrt: Make gl_FUNC_SQRT requirable.
37330         * m4/sqrt.m4: New file.
37331         * modules/sqrt (Files): Add it.
37332         (configure.ac): Invoke gl_FUNC_SQRT.
37333
37334 2010-01-18  Bruno Haible  <bruno@clisp.org>
37335
37336         New modules for common <math.h> functions.
37337         * m4/mathfunc.m4: New file.
37338         * modules/acos: New file.
37339         * modules/asin: New file.
37340         * modules/atan: New file.
37341         * modules/atan2: New file.
37342         * modules/cbrt: New file.
37343         * modules/copysign: New file.
37344         * modules/cos: New file.
37345         * modules/cosh: New file.
37346         * modules/erf: New file.
37347         * modules/erfc: New file.
37348         * modules/exp: New file.
37349         * modules/fabs: New file.
37350         * modules/fmod: New file.
37351         * modules/hypot: New file.
37352         * modules/j0: New file.
37353         * modules/j1: New file.
37354         * modules/jn: New file.
37355         * modules/ldexp: New file.
37356         * modules/lgamma: New file.
37357         * modules/log: New file.
37358         * modules/log10: New file.
37359         * modules/log1p: New file.
37360         * modules/logb: New file.
37361         * modules/modf: New file.
37362         * modules/nextafter: New file.
37363         * modules/pow: New file.
37364         * modules/remainder: New file.
37365         * modules/rint: New file.
37366         * modules/sin: New file.
37367         * modules/sinh: New file.
37368         * modules/sqrt: New file.
37369         * modules/tan: New file.
37370         * modules/tanh: New file.
37371         * modules/y0: New file.
37372         * modules/y1: New file.
37373         * modules/yn: New file.
37374         * doc/posix-functions/acos.texi: Mention the 'acos' module.
37375         * doc/posix-functions/asin.texi: Mention the 'asin' module.
37376         * doc/posix-functions/atan.texi: Mention the 'atan' module.
37377         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
37378         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
37379         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
37380         * doc/posix-functions/cos.texi: Mention the 'cos' module.
37381         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
37382         * doc/posix-functions/erf.texi: Mention the 'erf' module.
37383         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
37384         * doc/posix-functions/exp.texi: Mention the 'exp' module.
37385         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
37386         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
37387         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
37388         * doc/posix-functions/j0.texi: Mention the 'j0' module.
37389         * doc/posix-functions/j1.texi: Mention the 'j1' module.
37390         * doc/posix-functions/jn.texi: Mention the 'jn' module.
37391         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
37392         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
37393         * doc/posix-functions/log.texi: Mention the 'log' module.
37394         * doc/posix-functions/log10.texi: Mention the 'log10' module.
37395         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
37396         * doc/posix-functions/logb.texi: Mention the 'logb' module.
37397         * doc/posix-functions/modf.texi: Mention the 'modf' module.
37398         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
37399         * doc/posix-functions/pow.texi: Mention the 'pow' module.
37400         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
37401         * doc/posix-functions/rint.texi: Mention the 'rint' module.
37402         * doc/posix-functions/sin.texi: Mention the 'sin' module.
37403         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
37404         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
37405         * doc/posix-functions/tan.texi: Mention the 'tan' module.
37406         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
37407         * doc/posix-functions/y0.texi: Mention the 'y0' module.
37408         * doc/posix-functions/y1.texi: Mention the 'y1' module.
37409         * doc/posix-functions/yn.texi: Mention the 'yn' module.
37410
37411 2010-01-18  Jim Meyering  <meyering@redhat.com>
37412
37413         ignore-value: relax license to LGPLv2+
37414         * modules/ignore-value (License): Relax to LGPLv2+.
37415
37416         getdate: don't leak when TZ contains two or more '"'s
37417         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
37418         double quote in TZ after the first one.
37419
37420         readtokens: do not leak internal token_lengths buffer
37421         * lib/readtokens.c (readtokens): Free the local, lengths,
37422         when the supplied "token_lengths" parameter is NULL.
37423
37424 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37425
37426         Fix a couple of missing LIBTHREAD link failures on AIX.
37427         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
37428         $(LIBTHREAD).
37429         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
37430
37431         Link test-poll against INET_PTON_LIB.
37432         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
37433         for inet_pton on Solaris 10.
37434
37435 2010-01-17  Bruno Haible  <bruno@clisp.org>
37436
37437         unistdio/*-sprintf: Fix typo in module description.
37438         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
37439         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
37440         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
37441         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
37442         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
37443         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
37444         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
37445         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37446
37447 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37448
37449         gnulib-tool: fix filelist for AIX, HP-UX ksh.
37450         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
37451         variables in shell case patterns, for AIX and HP-UX ksh.
37452
37453         Split large sed scripts, for HP-UX sed.
37454         * modules/stdio: Split sed scripts around 50 sed commands,
37455         to avoid HP-UX limit of 99 commands, in the near future.
37456         * modules/string: Likewise.
37457         * modules/unistd: Likewise.
37458
37459         gnulib-tool: avoid writing in the current directory.
37460         * gnulib-tool (func_emit_lib_Makefile_am)
37461         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
37462         not in the current directory, so concurrent gnulib-tool
37463         instances do not interfere.
37464
37465 2010-01-16  Jim Meyering  <meyering@redhat.com>
37466
37467         doc: update users.txt
37468         * users.txt: Add grep.
37469         (diffutils, gzip): Update URLs.
37470
37471 2010-01-12  Bruno Haible  <bruno@clisp.org>
37472
37473         posix_spawn: Avoid test failure on Cygwin.
37474         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
37475         characters.
37476         Reported by Simon Josefsson.
37477
37478 2010-01-12  Bruno Haible  <bruno@clisp.org>
37479
37480         * tests/test-cond.c (main): When skipping the test, show the reason.
37481
37482 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37483
37484         * lib/striconv.c (str_cd_iconv): Avoid if before free.
37485
37486 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37487
37488         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
37489         VC_LIST_ALWAYS_EXCLUDE_REGEX.
37490
37491 2010-01-12  Eric Blake  <ebb9@byu.net>
37492
37493         build: guarantee AS_VAR_IF
37494         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
37495         (gl_AS_VAR_IF): Move...
37496         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
37497         Reported by Simon Josefsson.
37498
37499 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37500
37501         * lib/stdio.in.h: Fix typo.
37502
37503 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37504
37505         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
37506         libgpg-error.
37507
37508 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37509
37510         * tests/test-xalloc-die.sh: Use $EXEEXT.
37511
37512 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37513             Bruno Haible  <bruno@clisp.org>
37514
37515         getlogin, getlogin_r: Avoid test failure.
37516         * tests/test-getlogin.c: Include <stdio.h>.
37517         (main): Skip the test when the function fails because stdin is not a
37518         tty.
37519         * tests/test-getlogin_r.c: Include <stdio.h>.
37520         (main): Skip the test when the function fails because stdin is not a
37521         tty.
37522
37523 2010-01-11  Eric Blake  <ebb9@byu.net>
37524
37525         tests: avoid more large file warnings
37526         * tests/test-fflush.c: Avoid warning about ftell use.
37527         * tests/test-fseek.c: Avoid warning about fseek use.
37528
37529 2010-01-10  Bruno Haible  <bruno@clisp.org>
37530
37531         nproc: Work better on Linux when /proc and /sys are not mounted.
37532         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
37533         as lower bound when, on glibc/Linux systems,
37534         sysconf (_SC_NPROCESSORS_CONF) returns 1.
37535         Suggested by Pádraig Brady <P@draigbrady.com>.
37536         Reported by Dmitry V. Levin <ldv@altlinux.org>.
37537
37538         nproc: Refactor.
37539         * lib/nproc.c (num_processors_via_affinity_mask): New function,
37540         extracted from num_processors.
37541         (num_processors): Call it.
37542
37543 2010-01-11  Jim Meyering  <meyering@redhat.com>
37544
37545         utimecmp: avoid new warning from upcoming gcc-4.5.0
37546         * lib/utimecmp.c (BILLION): Define using #define rather than an
37547         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
37548
37549 2010-01-11  Eric Blake  <ebb9@byu.net>
37550
37551         math: add portability warnings for classification macros
37552         * modules/math (Depends-on): Add warn-on-use.
37553         (Makefile.am): Provide new substitutions.
37554         * m4/math_h.m4 (gl_MATH_H): Require inline.
37555         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
37556         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
37557         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
37558         implement warnings.
37559
37560         unistd: warn on use of environ without module
37561         * modules/unistd (Depends-on): Add warn-on-use.
37562         (Makefile.am): Provide new substitutions.
37563         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
37564         * lib/unistd.in.h (environ): Wrap with a warning helper function.
37565
37566         stdio: warn on suspicious uses
37567         * modules/stdio (Depends-on): Add warn-on-use.
37568         (Makefile.am): Provide new substitutions.
37569         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
37570         fseeko.
37571         * lib/stdio.in.h (gets): Always warn on use.
37572         (fseek, ftell): Adjust when warnings are issued, and honor
37573         _GL_NO_LARGE_FILES as a way to silence the warning.
37574         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
37575         any warning about large file offsets.
37576         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
37577         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
37578         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
37579         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
37580         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
37581         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
37582         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
37583         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
37584
37585         warn-on-use: new module
37586         * modules/warn-on-use: New file.
37587         * build-aux/warn-on-use.h: Likewise.
37588         * m4/warn-on-use.m4: Likewise.
37589         * MODULES.html.sh (Support for building): Mention it.
37590
37591 2010-01-10  Bruno Haible  <bruno@clisp.org>
37592
37593         Tests for module 'unistr/u32-strdup'.
37594         * modules/unistr/u32-strdup-tests: New file.
37595         * tests/unistr/test-u32-strdup.c: New file.
37596
37597         Tests for module 'unistr/u16-strdup'.
37598         * modules/unistr/u16-strdup-tests: New file.
37599         * tests/unistr/test-u16-strdup.c: New file.
37600
37601         Tests for module 'unistr/u8-strdup'.
37602         * modules/unistr/u8-strdup-tests: New file.
37603         * tests/unistr/test-u8-strdup.c: New file.
37604         * tests/unistr/test-strdup.h: New file.
37605
37606         Tests for module 'unistr/u32-strncmp'.
37607         * modules/unistr/u32-strncmp-tests: New file.
37608         * tests/unistr/test-u32-strncmp.c: New file.
37609
37610         Tests for module 'unistr/u16-strncmp'.
37611         * modules/unistr/u16-strncmp-tests: New file.
37612         * tests/unistr/test-u16-strncmp.c: New file.
37613
37614         Tests for module 'unistr/u8-strncmp'.
37615         * modules/unistr/u8-strncmp-tests: New file.
37616         * tests/unistr/test-u8-strncmp.c: New file.
37617         * tests/unistr/test-strncmp.h: New file.
37618
37619         Tests for module 'unistr/u32-strcoll'.
37620         * modules/unistr/u32-strcoll-tests: New file.
37621         * tests/unistr/test-u32-strcoll.c: New file.
37622
37623         Tests for module 'unistr/u16-strcoll'.
37624         * modules/unistr/u16-strcoll-tests: New file.
37625         * tests/unistr/test-u16-strcoll.c: New file.
37626
37627         Tests for module 'unistr/u8-strcoll'.
37628         * modules/unistr/u8-strcoll-tests: New file.
37629         * tests/unistr/test-u8-strcoll.c: New file.
37630
37631         Tests for module 'unistr/u32-strcmp'.
37632         * modules/unistr/u32-strcmp-tests: New file.
37633         * tests/unistr/test-u32-strcmp.c: New file.
37634         * tests/unistr/test-u32-strcmp.h: New file.
37635
37636         Tests for module 'unistr/u16-strcmp'.
37637         * modules/unistr/u16-strcmp-tests: New file.
37638         * tests/unistr/test-u16-strcmp.c: New file.
37639         * tests/unistr/test-u16-strcmp.h: New file.
37640
37641         Tests for module 'unistr/u8-strcmp'.
37642         * modules/unistr/u8-strcmp-tests: New file.
37643         * tests/unistr/test-u8-strcmp.c: New file.
37644         * tests/unistr/test-u8-strcmp.h: New file.
37645         * tests/unistr/test-strcmp.h: New file.
37646
37647         Tests for module 'unistr/u32-strncat'.
37648         * modules/unistr/u32-strncat-tests: New file.
37649         * tests/unistr/test-u32-strncat.c: New file.
37650
37651         Tests for module 'unistr/u16-strncat'.
37652         * modules/unistr/u16-strncat-tests: New file.
37653         * tests/unistr/test-u16-strncat.c: New file.
37654
37655         Tests for module 'unistr/u8-strncat'.
37656         * modules/unistr/u8-strncat-tests: New file.
37657         * tests/unistr/test-u8-strncat.c: New file.
37658         * tests/unistr/test-strncat.h: New file.
37659
37660         Tests for module 'unistr/u32-strcat'.
37661         * modules/unistr/u32-strcat-tests: New file.
37662         * tests/unistr/test-u32-strcat.c: New file.
37663
37664         Tests for module 'unistr/u16-strcat'.
37665         * modules/unistr/u16-strcat-tests: New file.
37666         * tests/unistr/test-u16-strcat.c: New file.
37667
37668         Tests for module 'unistr/u8-strcat'.
37669         * modules/unistr/u8-strcat-tests: New file.
37670         * tests/unistr/test-u8-strcat.c: New file.
37671         * tests/unistr/test-strcat.h: New file.
37672
37673         Tests for module 'unistr/u32-stpncpy'.
37674         * modules/unistr/u32-stpncpy-tests: New file.
37675         * tests/unistr/test-u32-stpncpy.c: New file.
37676
37677         Tests for module 'unistr/u16-stpncpy'.
37678         * modules/unistr/u16-stpncpy-tests: New file.
37679         * tests/unistr/test-u16-stpncpy.c: New file.
37680
37681         Tests for module 'unistr/u8-stpncpy'.
37682         * modules/unistr/u8-stpncpy-tests: New file.
37683         * tests/unistr/test-u8-stpncpy.c: New file.
37684         * tests/unistr/test-stpncpy.h: New file.
37685
37686         Tests for module 'unistr/u32-strncpy'.
37687         * modules/unistr/u32-strncpy-tests: New file.
37688         * tests/unistr/test-u32-strncpy.c: New file.
37689
37690         Tests for module 'unistr/u16-strncpy'.
37691         * modules/unistr/u16-strncpy-tests: New file.
37692         * tests/unistr/test-u16-strncpy.c: New file.
37693
37694         Tests for module 'unistr/u8-strncpy'.
37695         * modules/unistr/u8-strncpy-tests: New file.
37696         * tests/unistr/test-u8-strncpy.c: New file.
37697         * tests/unistr/test-strncpy.h: New file.
37698
37699         Tests for module 'unistr/u32-stpcpy'.
37700         * modules/unistr/u32-stpcpy-tests: New file.
37701         * tests/unistr/test-u32-stpcpy.c: New file.
37702
37703         Tests for module 'unistr/u16-stpcpy'.
37704         * modules/unistr/u16-stpcpy-tests: New file.
37705         * tests/unistr/test-u16-stpcpy.c: New file.
37706
37707         Tests for module 'unistr/u8-stpcpy'.
37708         * modules/unistr/u8-stpcpy-tests: New file.
37709         * tests/unistr/test-u8-stpcpy.c: New file.
37710         * tests/unistr/test-stpcpy.h: New file.
37711
37712         Tests for module 'unistr/u32-strcpy'.
37713         * modules/unistr/u32-strcpy-tests: New file.
37714         * tests/unistr/test-u32-strcpy.c: New file.
37715
37716         Tests for module 'unistr/u16-strcpy'.
37717         * modules/unistr/u16-strcpy-tests: New file.
37718         * tests/unistr/test-u16-strcpy.c: New file.
37719
37720         Tests for module 'unistr/u8-strcpy'.
37721         * modules/unistr/u8-strcpy-tests: New file.
37722         * tests/unistr/test-u8-strcpy.c: New file.
37723         * tests/unistr/test-strcpy.h: New file.
37724
37725         Tests for module 'unistr/u32-strnlen'.
37726         * modules/unistr/u32-strnlen-tests: New file.
37727         * tests/unistr/test-u32-strnlen.c: New file.
37728
37729         Tests for module 'unistr/u16-strnlen'.
37730         * modules/unistr/u16-strnlen-tests: New file.
37731         * tests/unistr/test-u16-strnlen.c: New file.
37732
37733         Tests for module 'unistr/u8-strnlen'.
37734         * modules/unistr/u8-strnlen-tests: New file.
37735         * tests/unistr/test-u8-strnlen.c: New file.
37736         * tests/unistr/test-strnlen.h: New file.
37737
37738         Tests for module 'unistr/u32-strlen'.
37739         * modules/unistr/u32-strlen-tests: New file.
37740         * tests/unistr/test-u32-strlen.c: New file.
37741
37742         Tests for module 'unistr/u16-strlen'.
37743         * modules/unistr/u16-strlen-tests: New file.
37744         * tests/unistr/test-u16-strlen.c: New file.
37745
37746         Tests for module 'unistr/u8-strlen'.
37747         * modules/unistr/u8-strlen-tests: New file.
37748         * tests/unistr/test-u8-strlen.c: New file.
37749
37750         Tests for module 'unistr/u32-prev'.
37751         * modules/unistr/u32-prev-tests: New file.
37752         * tests/unistr/test-u32-prev.c: New file.
37753
37754         Tests for module 'unistr/u16-prev'.
37755         * modules/unistr/u16-prev-tests: New file.
37756         * tests/unistr/test-u16-prev.c: New file.
37757
37758         Tests for module 'unistr/u8-prev'.
37759         * modules/unistr/u8-prev-tests: New file.
37760         * tests/unistr/test-u8-prev.c: New file.
37761
37762         Tests for module 'unistr/u32-next'.
37763         * modules/unistr/u32-next-tests: New file.
37764         * tests/unistr/test-u32-next.c: New file.
37765
37766         Tests for module 'unistr/u16-next'.
37767         * modules/unistr/u16-next-tests: New file.
37768         * tests/unistr/test-u16-next.c: New file.
37769
37770         Tests for module 'unistr/u8-next'.
37771         * modules/unistr/u8-next-tests: New file.
37772         * tests/unistr/test-u8-next.c: New file.
37773
37774         Tests for module 'unistr/u32-strmbtouc'.
37775         * modules/unistr/u32-strmbtouc-tests: New file.
37776         * tests/unistr/test-u32-strmbtouc.c: New file.
37777
37778         Tests for module 'unistr/u16-strmbtouc'.
37779         * modules/unistr/u16-strmbtouc-tests: New file.
37780         * tests/unistr/test-u16-strmbtouc.c: New file.
37781
37782         Tests for module 'unistr/u8-strmbtouc'.
37783         * modules/unistr/u8-strmbtouc-tests: New file.
37784         * tests/unistr/test-u8-strmbtouc.c: New file.
37785
37786         Tests for module 'unistr/u32-strmblen'.
37787         * modules/unistr/u32-strmblen-tests: New file.
37788         * tests/unistr/test-u32-strmblen.c: New file.
37789
37790         Tests for module 'unistr/u16-strmblen'.
37791         * modules/unistr/u16-strmblen-tests: New file.
37792         * tests/unistr/test-u16-strmblen.c: New file.
37793
37794         Tests for module 'unistr/u8-strmblen'.
37795         * modules/unistr/u8-strmblen-tests: New file.
37796         * tests/unistr/test-u8-strmblen.c: New file.
37797
37798         Tests for module 'unistr/u32-cpy-alloc'.
37799         * modules/unistr/u32-cpy-alloc-tests: New file.
37800         * tests/unistr/test-u32-cpy-alloc.c: New file.
37801
37802         Tests for module 'unistr/u16-cpy-alloc'.
37803         * modules/unistr/u16-cpy-alloc-tests: New file.
37804         * tests/unistr/test-u16-cpy-alloc.c: New file.
37805
37806         Tests for module 'unistr/u8-cpy-alloc'.
37807         * modules/unistr/u8-cpy-alloc-tests: New file.
37808         * tests/unistr/test-u8-cpy-alloc.c: New file.
37809         * tests/unistr/test-cpy-alloc.h: New file.
37810
37811         Tests for module 'unistr/u32-mbsnlen'.
37812         * modules/unistr/u32-mbsnlen-tests: New file.
37813         * tests/unistr/test-u32-mbsnlen.c: New file.
37814
37815         Tests for module 'unistr/u16-mbsnlen'.
37816         * modules/unistr/u16-mbsnlen-tests: New file.
37817         * tests/unistr/test-u16-mbsnlen.c: New file.
37818
37819         Tests for module 'unistr/u8-mbsnlen'.
37820         * modules/unistr/u8-mbsnlen-tests: New file.
37821         * tests/unistr/test-u8-mbsnlen.c: New file.
37822
37823         Tests for module 'unistr/u32-chr'.
37824         * modules/unistr/u32-chr-tests: New file.
37825         * tests/unistr/test-u32-chr.c: New file.
37826
37827         Tests for module 'unistr/u16-chr'.
37828         * modules/unistr/u16-chr-tests: New file.
37829         * tests/unistr/test-u16-chr.c: New file.
37830
37831         Tests for module 'unistr/u8-chr'.
37832         * modules/unistr/u8-chr-tests: New file.
37833         * tests/unistr/test-u8-chr.c: New file.
37834         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
37835
37836         Tests for module 'unistr/u32-cmp2'.
37837         * modules/unistr/u32-cmp2-tests: New file.
37838         * tests/unistr/test-u32-cmp2.c: New file.
37839
37840         Tests for module 'unistr/u16-cmp2'.
37841         * modules/unistr/u16-cmp2-tests: New file.
37842         * tests/unistr/test-u16-cmp2.c: New file.
37843
37844         Tests for module 'unistr/u8-cmp2'.
37845         * modules/unistr/u8-cmp2-tests: New file.
37846         * tests/unistr/test-u8-cmp2.c: New file.
37847         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
37848
37849         Tests for module 'unistr/u32-cmp'.
37850         * modules/unistr/u32-cmp-tests: New file.
37851         * tests/unistr/test-u32-cmp.c: New file.
37852
37853         Tests for module 'unistr/u16-cmp'.
37854         * modules/unistr/u16-cmp-tests: New file.
37855         * tests/unistr/test-u16-cmp.c: New file.
37856
37857         Tests for module 'unistr/u8-cmp'.
37858         * modules/unistr/u8-cmp-tests: New file.
37859         * tests/unistr/test-u8-cmp.c: New file.
37860         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
37861
37862         Tests for module 'unistr/u32-set'.
37863         * modules/unistr/u32-set-tests: New file.
37864         * tests/unistr/test-u32-set.c: New file.
37865
37866         Tests for module 'unistr/u16-set'.
37867         * modules/unistr/u16-set-tests: New file.
37868         * tests/unistr/test-u16-set.c: New file.
37869
37870         Tests for module 'unistr/u8-set'.
37871         * modules/unistr/u8-set-tests: New file.
37872         * tests/unistr/test-u8-set.c: New file.
37873         * tests/unistr/test-set.h: New file.
37874
37875         Tests for module 'unistr/u32-move'.
37876         * modules/unistr/u32-move-tests: New file.
37877         * tests/unistr/test-u32-move.c: New file.
37878
37879         Tests for module 'unistr/u16-move'.
37880         * modules/unistr/u16-move-tests: New file.
37881         * tests/unistr/test-u16-move.c: New file.
37882
37883         Tests for module 'unistr/u8-move'.
37884         * modules/unistr/u8-move-tests: New file.
37885         * tests/unistr/test-u8-move.c: New file.
37886         * tests/unistr/test-move.h: New file.
37887
37888         Tests for module 'unistr/u32-cpy'.
37889         * modules/unistr/u32-cpy-tests: New file.
37890         * tests/unistr/test-u32-cpy.c: New file.
37891
37892         Tests for module 'unistr/u16-cpy'.
37893         * modules/unistr/u16-cpy-tests: New file.
37894         * tests/unistr/test-u16-cpy.c: New file.
37895
37896         Tests for module 'unistr/u8-cpy'.
37897         * modules/unistr/u8-cpy-tests: New file.
37898         * tests/unistr/test-u8-cpy.c: New file.
37899         * tests/unistr/test-cpy.h: New file.
37900
37901 2010-01-09  Bruno Haible  <bruno@clisp.org>
37902
37903         Tests for module 'unistr/u32-uctomb'.
37904         * modules/unistr/u32-uctomb-tests: New file.
37905         * tests/unistr/test-u32-uctomb.c: New file.
37906
37907         Tests for module 'unistr/u16-uctomb'.
37908         * modules/unistr/u16-uctomb-tests: New file.
37909         * tests/unistr/test-u16-uctomb.c: New file.
37910
37911         Tests for module 'unistr/u8-uctomb'.
37912         * modules/unistr/u8-uctomb-tests: New file.
37913         * tests/unistr/test-u8-uctomb.c: New file.
37914
37915         Tests for module 'unistr/u32-mbtoucr'.
37916         * modules/unistr/u32-mbtoucr-tests: New file.
37917         * tests/unistr/test-u32-mbtoucr.c: New file.
37918
37919         Tests for module 'unistr/u16-mbtoucr'.
37920         * modules/unistr/u16-mbtoucr-tests: New file.
37921         * tests/unistr/test-u16-mbtoucr.c: New file.
37922
37923         Tests for module 'unistr/u8-mbtoucr'.
37924         * modules/unistr/u8-mbtoucr-tests: New file.
37925         * tests/unistr/test-u8-mbtoucr.c: New file.
37926
37927         Tests for module 'unistr/u32-mbtouc'.
37928         * modules/unistr/u32-mbtouc-tests: New file.
37929         * tests/unistr/test-u32-mbtouc.c: New file.
37930
37931         Tests for module 'unistr/u16-mbtouc'.
37932         * modules/unistr/u16-mbtouc-tests: New file.
37933         * tests/unistr/test-u16-mbtouc.c: New file.
37934
37935         Tests for module 'unistr/u8-mbtouc'.
37936         * modules/unistr/u8-mbtouc-tests: New file.
37937         * tests/unistr/test-u8-mbtouc.c: New file.
37938
37939         Tests for module 'unistr/u32-mbtouc-unsafe'.
37940         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
37941         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
37942         * tests/unistr/test-u32-mbtouc.h: New file.
37943
37944         Tests for module 'unistr/u16-mbtouc-unsafe'.
37945         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
37946         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
37947         * tests/unistr/test-u16-mbtouc.h: New file.
37948
37949         Tests for module 'unistr/u8-mbtouc-unsafe'.
37950         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
37951         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
37952         * tests/unistr/test-u8-mbtouc.h: New file.
37953
37954         Tests for module 'unistr/u32-mblen'.
37955         * modules/unistr/u32-mblen-tests: New file.
37956         * tests/unistr/test-u32-mblen.c: New file.
37957
37958         Tests for module 'unistr/u16-mblen'.
37959         * modules/unistr/u16-mblen-tests: New file.
37960         * tests/unistr/test-u16-mblen.c: New file.
37961
37962         Tests for module 'unistr/u8-mblen'.
37963         * modules/unistr/u8-mblen-tests: New file.
37964         * tests/unistr/test-u8-mblen.c: New file.
37965
37966         Tests for module 'unistr/u32-to-u16'.
37967         * modules/unistr/u32-to-u16-tests: New file.
37968         * tests/unistr/test-u32-to-u16.c: New file.
37969
37970         Tests for module 'unistr/u32-to-u8'.
37971         * modules/unistr/u32-to-u8-tests: New file.
37972         * tests/unistr/test-u32-to-u8.c: New file.
37973
37974         Tests for module 'unistr/u16-to-u32'.
37975         * modules/unistr/u16-to-u32-tests: New file.
37976         * tests/unistr/test-u16-to-u32.c: New file.
37977
37978         Tests for module 'unistr/u16-to-u8'.
37979         * modules/unistr/u16-to-u8-tests: New file.
37980         * tests/unistr/test-u16-to-u8.c: New file.
37981
37982         Tests for module 'unistr/u8-to-u32'.
37983         * modules/unistr/u8-to-u32-tests: New file.
37984         * tests/unistr/test-u8-to-u32.c: New file.
37985
37986         Tests for module 'unistr/u8-to-u16'.
37987         * modules/unistr/u8-to-u16-tests: New file.
37988         * tests/unistr/test-u8-to-u16.c: New file.
37989
37990         Tests for module 'unistr/u32-check'.
37991         * modules/unistr/u32-check-tests: New file.
37992         * tests/unistr/test-u32-check.c: New file.
37993
37994         Tests for module 'unistr/u16-check'.
37995         * modules/unistr/u16-check-tests: New file.
37996         * tests/unistr/test-u16-check.c: New file.
37997
37998         Tests for module 'unistr/u8-check'.
37999         * modules/unistr/u8-check-tests: New file.
38000         * tests/unistr/test-u8-check.c: New file.
38001
38002         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
38003         (category_equals): New function.
38004         (main): Add more tests.
38005         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
38006
38007         * tests/unictype/test-bidi_byname.c (main): Add more tests.
38008
38009 2010-01-10  Bruno Haible  <bruno@clisp.org>
38010
38011         unistr/u*-strcoll: Try harder to distinguish different strings.
38012         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
38013         compare s1 and s2 to see if they are different.
38014
38015 2010-01-10  Bruno Haible  <bruno@clisp.org>
38016
38017         unistr/u*-stpncpy: Fix the return value.
38018         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
38019         description of the return value consistent with stpncpy in glibc.
38020         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
38021         written non-NUL unit.
38022
38023 2010-01-10  Bruno Haible  <bruno@clisp.org>
38024
38025         unistr/u*-next: Add missing dependencies.
38026         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
38027         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
38028         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
38029
38030 2010-01-10  Bruno Haible  <bruno@clisp.org>
38031
38032         unistr/u8-mbsnlen: Fix return value for incomplete character.
38033         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
38034         u8_mblen.
38035         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
38036         Remove unistr/u8-mblen.
38037         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
38038         u16_mblen.
38039         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
38040         Remove unistr/u16-mblen.
38041
38042 2010-01-10  Bruno Haible  <bruno@clisp.org>
38043
38044         wchar: Fix compilation error when <wchar.h> is used from coreutils.
38045         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
38046         Reported by Brian Gough <bjg@gnu.org> and
38047         Chris Clayton <chris2553@googlemail.com> via
38048         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
38049
38050 2010-01-09  Bruno Haible  <bruno@clisp.org>
38051
38052         unistr/u16-to-u32: Reject invalid input.
38053         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
38054         u16_mbtouc.
38055         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
38056         Remove unistr/u16-mbtouc.
38057
38058         unistr/u16-to-u8: Reject invalid input.
38059         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
38060         u16_mbtouc.
38061         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
38062         Remove unistr/u16-mbtouc.
38063
38064         unistr/u8-to-u32: Reject invalid input.
38065         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
38066         u8_mbtouc.
38067         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
38068         Remove unistr/u8-mbtouc.
38069
38070         unistr/u8-to-u16: Reject invalid input.
38071         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
38072         u8_mbtouc.
38073         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
38074         Remove unistr/u8-mbtouc.
38075
38076 2010-01-09  Bruno Haible  <bruno@clisp.org>
38077
38078         Tests for module 'getlogin'.
38079         * modules/getlogin-tests: New file.
38080         * tests/test-getlogin.c: New file.
38081
38082         New module 'getlogin'.
38083         * lib/unistd.in.h (getlogin): New declaration.
38084         * lib/getlogin.c: New file.
38085         * m4/getlogin.m4: New file.
38086         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
38087         HAVE_GETLOGIN.
38088         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
38089         HAVE_GETLOGIN.
38090         * modules/getlogin: New file.
38091         * doc/posix-functions/getlogin.texi: Mention the new module.
38092         Reported by John W. Eaton <jwe@gnu.org>.
38093
38094 2010-01-09  Bruno Haible  <bruno@clisp.org>
38095
38096         getlogin_r: Support for native Windows.
38097         * lib/getlogin_r.c: Include <windows.h>
38098         (getlogin_r): Implement for native Windows.
38099         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
38100         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
38101         via John W. Eaton <jwe@gnu.org>.
38102
38103 2010-01-09  Bruno Haible  <bruno@clisp.org>
38104
38105         getlogin_r: Small fixes.
38106         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
38107         succeeds.
38108         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
38109         before testing whether getlogin_r is declared. No need to set
38110         HAVE_DECL_GETLOGIN_R to 1.
38111         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
38112
38113 2010-01-09  Bruno Haible  <bruno@clisp.org>
38114
38115         * lib/unistd.in.h (getlogin_r): Add comment.
38116
38117 2010-01-09  Bruno Haible  <bruno@clisp.org>
38118
38119         Tests for module 'getlogin_r'.
38120         * modules/getlogin_r-tests: New file.
38121         * tests/test-getlogin_r.c: New file.
38122
38123 2010-01-09  Jim Meyering  <meyering@redhat.com>
38124
38125         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
38126         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
38127         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
38128
38129 2010-01-08  Simon Josefsson  <simon@josefsson.org>
38130
38131         * lib/dup2.c (rpl_dup2): Improve comment.
38132
38133 2010-01-08  Eric Blake  <ebb9@byu.net>
38134
38135         maint.mk: allow packages to add makefile @@ exceptions
38136         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
38137         (sc_makefile_check): Rename...
38138         (sc_makefile_at_at_check): ...to this, and use hook.
38139
38140         dup2: work around mingw bug
38141         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
38142         Reported by Simon Josefsson.
38143
38144 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
38145
38146         glob: Fix C++ compilation.
38147         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
38148         C++.
38149
38150 2010-01-07  Bruno Haible  <bruno@clisp.org>
38151
38152         Fix indentation of wctype.in.h, broken since 2007-01-06.
38153         * lib/wctype.in.h: Fix indentation of preprocessor directives.
38154
38155 2010-01-07  Bruno Haible  <bruno@clisp.org>
38156
38157         mbslen: Avoid collision with system function.
38158         * lib/string.in.h [MirBSD]: Include <wchar.h>.
38159         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
38160         * m4/mbslen.m4: New file.
38161         * modules/mbslen (Files): Add it.
38162         (configure.ac): Invoke gl_MBSLEN.
38163         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
38164         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
38165         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
38166         via Ian Beckwith <ianb@erislabs.net>.
38167
38168 2010-01-07  Bruno Haible  <bruno@clisp.org>
38169
38170         dirent: Document the last fix.
38171         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
38172
38173 2010-01-07  Bruno Haible  <bruno@clisp.org>
38174
38175         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
38176         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
38177         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
38178         va_list are defined.
38179         * doc/posix-headers/stdio.texi: Document the bug of missing types.
38180         Reported by Eric Blake.
38181
38182 2010-01-07  Bruno Haible  <bruno@clisp.org>
38183
38184         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
38185         * modules/xlist (Depends-on): Add 'list',
38186         * modules/xoset (Depends-on): Add 'oset'.
38187         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38188
38189 2010-01-07  Bruno Haible  <bruno@clisp.org>
38190
38191         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
38192         * doc/posix-functions/strncasecmp.texi: Likewise.
38193
38194 2010-01-07  Bruno Haible  <bruno@clisp.org>
38195
38196         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
38197
38198 2010-01-07  John W. Eaton  <jwe@octave.org>
38199
38200         wctype: allow C++ use
38201         * lib/wctype.in.h: Add extern "C" block for C++.
38202
38203 2010-01-06  Eric Blake  <ebb9@byu.net>
38204
38205         maint.mk: detect incorrect GFDL usage
38206         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
38207
38208 2010-01-06  Jim Meyering  <meyering@redhat.com>
38209         and Eric Blake  <ebb9@byu.net>
38210
38211         maint.mk: ignore multi-line copyright in NEWS
38212         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
38213
38214 2010-01-06  Eric Blake  <ebb9@byu.net>
38215
38216         select: add missing dependency
38217         * modules/select-tests (Depends-on): Move sockets dependency...
38218         * modules/select (Depends-on): ...here.
38219         Reported by Ian Beckwith.
38220
38221         doc: regenerate INSTALL
38222         * doc/INSTALL: Reflect recent autoconf update.
38223         * doc/INSTALL.ISO: Likewise.
38224         * doc/INSTALL.UTF-8: Likewise.
38225
38226         pread: fix compilation on glibc
38227         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
38228         Reported by Ralf Wildenhues.
38229
38230         dirent: fix test failure
38231         * lib/dirent.in.h (includes): Guarantee ino_t.
38232         Reported by Ralf Wildenhues.
38233
38234 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
38235
38236         linkat, renameat: avoid bad free
38237         * lib/at-func2.c (at_func2): Fix typo.
38238         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
38239
38240 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38241
38242         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
38243         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
38244         to avoid failure of symlink test later.
38245
38246 2010-01-06  Eric Blake  <ebb9@byu.net>
38247
38248         stdio, unistd: guarantee ssize_t
38249         * lib/unistd.in.h (includes): Ensure that types required by POSIX
38250         2008 are exposed when needed.
38251         * lib/stdio.in.h (includes): Likewise.
38252         Reported by Ralf Wildenhues.
38253
38254 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
38255
38256         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
38257         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
38258         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
38259
38260 2010-01-06  Jim Meyering  <meyering@redhat.com>
38261
38262         readtokens: this module *does* require xalloc.h
38263         It uses only functions that were omitted by the old syntax-check rule.
38264         * lib/readtokens.c: Include "xalloc.h" once again.
38265         * modules/readtokens (Depends-on): Add xalloc.
38266         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
38267
38268 2010-01-05  Eric Blake  <ebb9@byu.net>
38269
38270         maint: support 'make announcement' from a VPATH build
38271         * top/maint.mk (announcement): Look for correct NEWS file.
38272
38273 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
38274
38275         utimens (fdutimens): ignore a negative FD, per contract
38276         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
38277         when we have a valid file descriptor.  Otherwise, using a brand
38278         new glibc (with just-patched futimens that now fails with EBADF)
38279         would cause this function to fail with ENOSYS.
38280         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
38281         See also http://bugzilla.redhat.com/552320.
38282
38283 2010-01-05  Eric Blake  <ebb9@byu.net>
38284
38285         strcase: document what it provides
38286         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
38287         gnulib module.
38288         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
38289         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
38290
38291 2010-01-05  Jim Meyering  <meyering@redhat.com>
38292
38293         maint: remove useless inclusions of "xalloc.h"
38294         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
38295         * lib/readtokens.c: Likewise.
38296         * lib/same.c: Likewise.
38297         * modules/getloadavg (Depends-on): Remove xalloc.
38298         * modules/readtokens: Likewise.
38299         * modules/same: Likewise.
38300
38301         maint.mk: include 4 more function names in alloca.h-checking regexp
38302         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
38303         regexp.  Before, we would give a false-positive (saying alloca.h
38304         is included unnecessarily) when the only uses involved omitted symbols.
38305
38306         xalloc.h: use consistent formatting
38307         * lib/xalloc.h: Move declarations to start in the first column.
38308
38309 2010-01-05  Eric Blake  <ebb9@byu.net>
38310
38311         mkdir: avoid xalloc
38312         * lib/mkdir.c (includes): Drop unused header.
38313         Reported by John W. Eaton.
38314
38315 2010-01-04  Jim Meyering  <meyering@redhat.com>
38316
38317         nl_langinfo: avoid configure-time syntax error
38318         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
38319         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
38320         the empty string.  Don't let that provoke a shell syntax error.
38321
38322         regcomp, regexec, fnmatch: avoid array bounds read error
38323         * lib/regcomp.c (build_equiv_class): From glibc:
38324         Use only the low 24 bits of a findidx return value as an index
38325         into the weights array.  Patch by Ulrich Drepper:
38326         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
38327         * lib/regexec.c (check_node_accept_bytes): Likewise.
38328         * lib/fnmatch_loop.c (FCT): Likewise.
38329
38330         regcomp: skip collseq lookup when there are no rules
38331         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
38332         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
38333
38334         regcomp: recognize ill-formed { } expressions
38335         * lib/regcomp.c (parse_dup_op): From glibc:
38336         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
38337
38338         regcomp: fix typo in comment
38339         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
38340         s/satisfy/satisfies/.
38341
38342         regcomp: sync from glibc: remove dead store
38343         * lib/regcomp.c (duplicate_node_closure): Remove useless
38344         search_duplicated_node call and dead store.
38345
38346         regcomp: sync from glibc; always use nl_langinfo
38347         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
38348         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
38349         * modules/regex (Depends-on): Add nl_langinfo.
38350
38351 2010-01-04  Eric Blake  <ebb9@byu.net>
38352
38353         fdopendir: fix configure test
38354         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
38355
38356 2010-01-01  Bruno Haible  <bruno@clisp.org>
38357
38358         wchar: Remove unused configure check.
38359         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
38360
38361 2010-01-01  Eric Blake  <ebb9@byu.net>
38362
38363         headers: make check of system header explicit
38364         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
38365         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
38366         ourselves.
38367         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38368         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38369         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
38370         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
38371         internals.
38372         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
38373         missing.
38374         Suggested by Bruno Haible.
38375
38376 2010-01-01  Jim Meyering  <meyering@redhat.com>
38377
38378         ChangeLog: tweak to eliminate unnecessary copyright line
38379         * ChangeLog: Remove a copyright line that was mistakenly updated
38380         by today's update-copyright run.  Reported by Eric Blake.
38381
38382         test-update-copyright: don't let envvar setting cause test failure
38383         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
38384
38385 2010-01-01  Bruno Haible  <bruno@clisp.org>
38386
38387         localename: Avoid gcc warning.
38388         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
38389         function if it is not used.
38390
38391 2010-01-01  Jim Meyering  <meyering@redhat.com>
38392
38393         update nearly all FSF copyright year lists to include 2010
38394         Use the same procedure as for 2009, outlined in
38395         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
38396
38397         version-etc: set COPYRIGHT_YEAR to 2010
38398         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
38399
38400 2009-12-31  Eric Blake  <ebb9@byu.net>
38401
38402         doc: correct availability of cygwin 1.5.x getopt
38403         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
38404         variables.
38405         * doc/posix-functions/opterr.texi (opterr): Likewise.
38406         * doc/posix-functions/optind.texi (optind): Likewise.
38407         * doc/posix-functions/optopt.texi (optopt): Likewise.
38408         * doc/posix-functions/tzname.texi (tzname): Likewise.
38409
38410         openat: update maintainer
38411         * modules/openat (Maintainer): Add myself.
38412
38413         utimens: avoid shadowing warning
38414         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
38415         buffers into one, to avoid shadowing, as well as avoiding a
38416         redundant stat.
38417         Reported by Jim Meyering.
38418
38419         test-dup2: avoid compiler warning
38420         * tests/test-dup2.c (is_inheritable): Only define if used.
38421
38422 2010-01-01  Bruno Haible  <bruno@clisp.org>
38423
38424         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
38425         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
38426         defined, use wctomb instead of wcrtomb.
38427
38428 2010-01-01  Bruno Haible  <bruno@clisp.org>
38429
38430         iconv: Reject native Solaris iconv.
38431         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
38432         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
38433
38434 2009-12-31  Bruno Haible  <bruno@clisp.org>
38435
38436         * tests/test-signal.c (main): Remove test of 'SIG'.
38437
38438 2009-12-31  Bruno Haible  <bruno@clisp.org>
38439
38440         spawn: Fix incomplete fix.
38441         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
38442         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
38443         warnings for GNULIB_POSIXCHECK again.
38444         Reported by Eric Blake.
38445
38446 2009-12-31  Bruno Haible  <bruno@clisp.org>
38447
38448         Avoid namespace pollution on glibc systems.
38449         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
38450         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
38451         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
38452         glibc systems.
38453
38454 2009-12-31  Bruno Haible  <bruno@clisp.org>
38455
38456         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
38457         (gl_REPLACE_WCHAR_H): Turn into a no-op.
38458         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
38459         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
38460         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
38461         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
38462         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
38463
38464 2009-12-31  Bruno Haible  <bruno@clisp.org>
38465
38466         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
38467         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
38468         afterwards.
38469
38470 2009-12-31  Bruno Haible  <bruno@clisp.org>
38471
38472         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
38473         SYS_UTSNAME_H.
38474
38475 2009-12-31  Bruno Haible  <bruno@clisp.org>
38476
38477         spawn: Fix misapplied patch.
38478         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
38479         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
38480         warnings for GNULIB_POSIXCHECK.
38481
38482 2009-12-31  Bruno Haible  <bruno@clisp.org>
38483
38484         times: Update after sys_times changed.
38485         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
38486         * modules/times (Files): Add it.
38487         (configure.ac): Invoke gl_FUNC_TIMES.
38488
38489 2009-12-31  Bruno Haible  <bruno@clisp.org>
38490
38491         Use AC_C_INLINE where necessary.
38492         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
38493         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
38494         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
38495         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
38496         * m4/mbfile.m4 (gl_MBFILE): Likewise.
38497         * m4/mbiter.m4 (gl_MBITER): Likewise.
38498         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
38499         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
38500         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
38501         * modules/u64 (configure.ac): Likewise.
38502
38503 2009-12-31  Bruno Haible  <bruno@clisp.org>
38504
38505         Use AC_C_INLINE instead of module 'inline' where possible.
38506         * modules/inline (Description): Clarify purpose.
38507         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
38508         * modules/count-one-bits (Depends-on): Remove inline.
38509         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
38510         * modules/openat (Depends-on): Remove inline.
38511         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
38512         instead of depending on module 'inline'.
38513         * modules/filevercmp (Depends-on, configure.ac): Likewise.
38514         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
38515         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
38516         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
38517         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
38518         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
38519         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
38520         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
38521         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
38522         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
38523         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
38524         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
38525         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
38526         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
38527         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
38528         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
38529         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
38530         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
38531         Likewise.
38532         * modules/unictype/property-ascii-hex-digit (Depends-on,
38533         configure.ac): Likewise.
38534         * modules/unictype/property-bidi-arabic-digit (Depends-on,
38535         configure.ac): Likewise.
38536         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
38537         configure.ac): Likewise.
38538         * modules/unictype/property-bidi-block-separator (Depends-on,
38539         configure.ac): Likewise.
38540         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
38541         configure.ac): Likewise.
38542         * modules/unictype/property-bidi-common-separator (Depends-on,
38543         configure.ac): Likewise.
38544         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
38545         Likewise.
38546         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
38547         configure.ac): Likewise.
38548         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
38549         configure.ac): Likewise.
38550         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
38551         configure.ac): Likewise.
38552         * modules/unictype/property-bidi-european-digit (Depends-on,
38553         configure.ac): Likewise.
38554         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
38555         configure.ac): Likewise.
38556         * modules/unictype/property-bidi-left-to-right (Depends-on,
38557         configure.ac): Likewise.
38558         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
38559         configure.ac): Likewise.
38560         * modules/unictype/property-bidi-other-neutral (Depends-on,
38561         configure.ac): Likewise.
38562         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
38563         Likewise.
38564         * modules/unictype/property-bidi-segment-separator (Depends-on,
38565         configure.ac): Likewise.
38566         * modules/unictype/property-bidi-whitespace (Depends-on,
38567         configure.ac): Likewise.
38568         * modules/unictype/property-combining (Depends-on, configure.ac):
38569         Likewise.
38570         * modules/unictype/property-composite (Depends-on, configure.ac):
38571         Likewise.
38572         * modules/unictype/property-currency-symbol (Depends-on,
38573         configure.ac): Likewise.
38574         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
38575         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
38576         Likewise.
38577         * modules/unictype/property-default-ignorable-code-point (Depends-on,
38578         configure.ac): Likewise.
38579         * modules/unictype/property-deprecated (Depends-on, configure.ac):
38580         Likewise.
38581         * modules/unictype/property-diacritic (Depends-on, configure.ac):
38582         Likewise.
38583         * modules/unictype/property-extender (Depends-on, configure.ac):
38584         Likewise.
38585         * modules/unictype/property-format-control (Depends-on, configure.ac):
38586         Likewise.
38587         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
38588         Likewise.
38589         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
38590         Likewise.
38591         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
38592         Likewise.
38593         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
38594         Likewise.
38595         * modules/unictype/property-hyphen (Depends-on, configure.ac):
38596         Likewise.
38597         * modules/unictype/property-id-continue (Depends-on, configure.ac):
38598         Likewise.
38599         * modules/unictype/property-id-start (Depends-on, configure.ac):
38600         Likewise.
38601         * modules/unictype/property-ideographic (Depends-on, configure.ac):
38602         Likewise.
38603         * modules/unictype/property-ids-binary-operator (Depends-on,
38604         configure.ac): Likewise.
38605         * modules/unictype/property-ids-trinary-operator (Depends-on,
38606         configure.ac): Likewise.
38607         * modules/unictype/property-ignorable-control (Depends-on,
38608         configure.ac): Likewise.
38609         * modules/unictype/property-iso-control (Depends-on, configure.ac):
38610         Likewise.
38611         * modules/unictype/property-join-control (Depends-on, configure.ac):
38612         Likewise.
38613         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
38614         Likewise.
38615         * modules/unictype/property-line-separator (Depends-on, configure.ac):
38616         Likewise.
38617         * modules/unictype/property-logical-order-exception (Depends-on,
38618         configure.ac): Likewise.
38619         * modules/unictype/property-lowercase (Depends-on, configure.ac):
38620         Likewise.
38621         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
38622         * modules/unictype/property-non-break (Depends-on, configure.ac):
38623         Likewise.
38624         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
38625         Likewise.
38626         * modules/unictype/property-numeric (Depends-on, configure.ac):
38627         Likewise.
38628         * modules/unictype/property-other-alphabetic (Depends-on,
38629         configure.ac): Likewise.
38630         * modules/unictype/property-other-default-ignorable-code-point
38631         (Depends-on, configure.ac): Likewise.
38632         * modules/unictype/property-other-grapheme-extend (Depends-on,
38633         configure.ac): Likewise.
38634         * modules/unictype/property-other-id-continue (Depends-on,
38635         configure.ac): Likewise.
38636         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
38637         Likewise.
38638         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
38639         Likewise.
38640         * modules/unictype/property-other-math (Depends-on, configure.ac):
38641         Likewise.
38642         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
38643         Likewise.
38644         * modules/unictype/property-paired-punctuation (Depends-on,
38645         configure.ac): Likewise.
38646         * modules/unictype/property-paragraph-separator (Depends-on,
38647         configure.ac): Likewise.
38648         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
38649         Likewise.
38650         * modules/unictype/property-pattern-white-space (Depends-on,
38651         configure.ac): Likewise.
38652         * modules/unictype/property-private-use (Depends-on, configure.ac):
38653         Likewise.
38654         * modules/unictype/property-punctuation (Depends-on, configure.ac):
38655         Likewise.
38656         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
38657         Likewise.
38658         * modules/unictype/property-radical (Depends-on, configure.ac):
38659         Likewise.
38660         * modules/unictype/property-sentence-terminal (Depends-on,
38661         configure.ac): Likewise.
38662         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
38663         Likewise.
38664         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
38665         * modules/unictype/property-terminal-punctuation (Depends-on,
38666         configure.ac): Likewise.
38667         * modules/unictype/property-titlecase (Depends-on, configure.ac):
38668         Likewise.
38669         * modules/unictype/property-unassigned-code-value (Depends-on,
38670         configure.ac): Likewise.
38671         * modules/unictype/property-unified-ideograph (Depends-on,
38672         configure.ac): Likewise.
38673         * modules/unictype/property-uppercase (Depends-on, configure.ac):
38674         Likewise.
38675         * modules/unictype/property-variation-selector (Depends-on,
38676         configure.ac): Likewise.
38677         * modules/unictype/property-white-space (Depends-on, configure.ac):
38678         Likewise.
38679         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
38680         Likewise.
38681         * modules/unictype/property-xid-start (Depends-on, configure.ac):
38682         Likewise.
38683         * modules/unictype/property-zero-width (Depends-on, configure.ac):
38684         Likewise.
38685         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
38686         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
38687         Likewise.
38688
38689 2009-12-31  Bruno Haible  <bruno@clisp.org>
38690
38691         Remove unnecessary AC_C_INLINE invocation.
38692         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
38693         since 2009-08-21.
38694
38695 2009-12-31  Jim Meyering  <meyering@redhat.com>
38696
38697         maint.mk: don't require explicit gpg_key_ID in cfg.mk
38698         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
38699         With this change, we can all remove the gpg_key_ID = ... definition
38700         from our respective cfg.mk files.
38701
38702         maint.mk: create announcement template in ~/, not in /tmp
38703         * top/maint.mk (emit_upload_commands): Adjust.
38704         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
38705         Remove temporary file, .ci-msg.
38706
38707 2009-12-31  Eric Blake  <ebb9@byu.net>
38708
38709         link-warning: always build headers with link warnings
38710         * modules/arpa_inet (Makefile.am): Always build replacement
38711         header.
38712         * modules/ctype (Makefile.am): Likewise.
38713         * modules/dirent (Makefile.am): Likewise.
38714         * modules/inttypes (Makefile.am): Likewise.
38715         * modules/langinfo (Makefile.am): Likewise.
38716         * modules/locale (Makefile.am): Likewise.
38717         * modules/spawn (Makefile.am): Likewise.
38718         * modules/sys_file (Makefile.am): Likewise.
38719         * modules/sys_ioctl (Makefile.am): Likewise.
38720         * modules/sys_select (Makefile.am): Likewise.
38721         * modules/sys_socket (Makefile.am): Likewise.
38722         * modules/sys_times (Makefile.am): Likewise.
38723         * modules/sys_utsname (Makefile.am): Likewise.
38724         * modules/sys_wait (Makefile.am): Likewise.
38725         * modules/wchar (Makefile.am): Likewise.
38726         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
38727         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
38728         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
38729         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
38730         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
38731         Likewise.
38732         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38733         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
38734         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
38735         Likewise.
38736         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
38737         Likewise.
38738         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
38739         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
38740         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
38741         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38742         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
38743         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
38744         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
38745         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
38746         (gl_WCHAR_H_DEFAULTS): Likewise.
38747
38748 2009-12-31  Eric Blake  <ebb9@byu.net>
38749
38750         signal, spawn: use link warnings
38751         * lib/signal.in.h (sigset_t): Make unconditional.
38752         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
38753         (sigpending, sigprocmask, sigaction): Add link warnings.
38754         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
38755         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
38756         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
38757         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
38758         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
38759         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
38760         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
38761         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
38762         (posix_spawn_file_actions_destroy)
38763         (posix_spawn_file_actions_addopen)
38764         (posix_spawn_file_actions_addclose)
38765         (posix_spawn_file_actions_adddup2): Likewise.
38766         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
38767         * tests/test-signal.c (main): Enhance test.
38768
38769         spawn: improve wrapper support
38770         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
38771         (gl_SPAWN_H_DEFAULTS): New defaults.
38772         * modules/spawn (Makefile.am): Substitute them.
38773         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
38774         Only declare if missing or broken.
38775
38776         sys_times, sys_utsname: use include_next
38777         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
38778         header.
38779         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
38780         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
38781         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
38782         * modules/sys_times (Depends-on): Add include_next.
38783         (Makefile.am): Substitute additional values.
38784         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
38785         * lib/sys_times.in.h (includes): Include native header, if
38786         available.
38787         * lib/sys_utsname.in.h (includes): Likewise.
38788         * tests/test-sys_times.c (main): Enhance test.
38789
38790         fdutimensat: revert prior patch
38791         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
38792         utimens.h.
38793         Reported by Bruno Haible.
38794
38795 2009-12-30  Eric Blake  <ebb9@byu.net>
38796
38797         sys_wait: drop link-warning dependency
38798         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
38799         link-warning efforts.
38800         * lib/sys_wait.in.h: Likewise.
38801
38802         fdutimensat: remove bogus dependency
38803         * modules/fdutimensat (Depends-on): Drop inline.
38804
38805         unistd: fix typo
38806         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
38807
38808 2009-12-30  Bruno Haible  <bruno@clisp.org>
38809
38810         Fix compilation error with Solaris cc.
38811         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
38812         * lib/unicase/u16-is-invariant.c: Likewise.
38813         * lib/unicase/u32-is-invariant.c: Likewise.
38814         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
38815
38816 2009-12-30  Bruno Haible  <bruno@clisp.org>
38817
38818         Fix test crash.
38819         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
38820         locales.
38821         Reported by Simon Josefsson <simon@josefsson.org>.
38822
38823 2009-12-30  Bruno Haible  <bruno@clisp.org>
38824
38825         Fix compilation error on most platforms.
38826         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
38827         Reported by Simon Josefsson <simon@josefsson.org>
38828         and Nelson H. F. Beebe <beebe@math.utah.edu>.
38829
38830 2009-12-30  Eric Blake  <ebb9@byu.net>
38831
38832         futimens, utimensat: work around ntfs-3g bug
38833         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
38834         a ctime bug is present, and expand workaround to cover ntfs-3g.
38835         * lib/utimens.c (fdutimens, lutimens): Likewise.
38836         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
38837         (validate_timespec): Adjust return value.
38838         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
38839         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38840         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
38841
38842 2009-12-29  Eric Blake  <ebb9@byu.net>
38843
38844         link-warning: make usage consistent
38845         * modules/ctype (Depends-on): Add link-warning.
38846         (Makefile.am): Update rules accordingly.
38847         * modules/langinfo (Depends-on, Makefile.am): Likewise.
38848         * modules/locale (Depends-on, Makefile.am): Likewise.
38849         * modules/sys_file (Makefile.am): Likewise.
38850         * modules/getopt-posix (Makefile.am): Delete unused link warning
38851         efforts.
38852         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
38853         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
38854         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
38855         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
38856
38857         stdio: remove unused variables
38858         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
38859         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
38860         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
38861
38862         tests: test more substitute headers
38863         * modules/ctype-tests: New file.
38864         * modules/dirent-tests: Likewise.
38865         * modules/spawn-tests: Likewise.
38866         * modules/sys_file-tests: Likewise.
38867         * modules/sys_ioctl-tests: Likewise.
38868         * modules/sys_wait-tests: Likewise.
38869         * tests/test-ctype.c: Likewise.
38870         * tests/test-dirent.c: Likewise.
38871         * tests/test-spawn.c: Likewise.
38872         * tests/test-sys_file.c: Likewise.
38873         * tests/test-sys_ioctl.c: Likewise.
38874         * tests/test-sys_wait.c: Likewise.
38875         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
38876         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
38877         whether or not flock is in use.
38878
38879         tests: remove License section from module
38880         * modules/arpa_inet-tests: Remove unneeded section.
38881         * modules/byteswap-tests: Likewise.
38882         * modules/ceilf-tests: Likewise.
38883         * modules/ceill-tests: Likewise.
38884         * modules/crypto/des-tests: Likewise.
38885         * modules/crypto/gc-arcfour-tests: Likewise.
38886         * modules/crypto/gc-arctwo-tests: Likewise.
38887         * modules/crypto/gc-des-tests: Likewise.
38888         * modules/crypto/gc-hmac-md5-tests: Likewise.
38889         * modules/crypto/gc-hmac-sha1-tests: Likewise.
38890         * modules/crypto/gc-md2-tests: Likewise.
38891         * modules/crypto/gc-md4-tests: Likewise.
38892         * modules/crypto/gc-md5-tests: Likewise.
38893         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
38894         * modules/crypto/gc-rijndael-tests: Likewise.
38895         * modules/crypto/gc-sha1-tests: Likewise.
38896         * modules/crypto/gc-tests: Likewise.
38897         * modules/crypto/md2-tests: Likewise.
38898         * modules/crypto/md4-tests: Likewise.
38899         * modules/fcntl-h-tests: Likewise.
38900         * modules/floorf-tests: Likewise.
38901         * modules/floorl-tests: Likewise.
38902         * modules/frexp-nolibm-tests: Likewise.
38903         * modules/frexp-tests: Likewise.
38904         * modules/frexpl-nolibm-tests: Likewise.
38905         * modules/frexpl-tests: Likewise.
38906         * modules/getaddrinfo-tests: Likewise.
38907         * modules/inttypes-tests: Likewise.
38908         * modules/isfinite-tests: Likewise.
38909         * modules/isinf-tests: Likewise.
38910         * modules/ldexpl-tests: Likewise.
38911         * modules/locale-tests: Likewise.
38912         * modules/math-tests: Likewise.
38913         * modules/netdb-tests: Likewise.
38914         * modules/netinet_in-tests: Likewise.
38915         * modules/printf-frexp-tests: Likewise.
38916         * modules/printf-frexpl-tests: Likewise.
38917         * modules/priv-set-tests: Likewise.
38918         * modules/random_r-tests: Likewise.
38919         * modules/round-tests: Likewise.
38920         * modules/roundf-tests: Likewise.
38921         * modules/roundl-tests: Likewise.
38922         * modules/search-tests: Likewise.
38923         * modules/select-tests: Likewise.
38924         * modules/signal-tests: Likewise.
38925         * modules/stdbool-tests: Likewise.
38926         * modules/stddef-tests: Likewise.
38927         * modules/stdint-tests: Likewise.
38928         * modules/stdio-tests: Likewise.
38929         * modules/stdlib-tests: Likewise.
38930         * modules/string-tests: Likewise.
38931         * modules/strings-tests: Likewise.
38932         * modules/sys_select-tests: Likewise.
38933         * modules/sys_socket-tests: Likewise.
38934         * modules/sys_stat-tests: Likewise.
38935         * modules/sys_time-tests: Likewise.
38936         * modules/sys_utsname-tests: Likewise.
38937         * modules/sysexits-tests: Likewise.
38938         * modules/time-tests: Likewise.
38939         * modules/trunc-tests: Likewise.
38940         * modules/truncf-tests: Likewise.
38941         * modules/truncl-tests: Likewise.
38942         * modules/tsearch-tests: Likewise.
38943         * modules/unistd-tests: Likewise.
38944         * modules/wchar-tests: Likewise.
38945         * modules/wctype-tests: Likewise.
38946
38947         tests: fix license on several tests
38948         * tests/test-des.c: Update to GPLv3+.
38949         * tests/test-flock.c: Likewise.
38950         * tests/test-fsync.c: Likewise.
38951         * tests/test-futimens.h: Likewise.
38952         * tests/test-gc-arcfour.c: Likewise.
38953         * tests/test-gc-arctwo.c: Likewise.
38954         * tests/test-gc-des.c: Likewise.
38955         * tests/test-gc-hmac-md5.c: Likewise.
38956         * tests/test-gc-hmac-sha1.c: Likewise.
38957         * tests/test-gc-md2.c: Likewise.
38958         * tests/test-gc-md4.c: Likewise.
38959         * tests/test-gc-md5.c: Likewise.
38960         * tests/test-gc-pbkdf2-sha1.c: Likewise.
38961         * tests/test-gc-rijndael.c: Likewise.
38962         * tests/test-gc-sha1.c: Likewise.
38963         * tests/test-gc.c: Likewise.
38964         * tests/test-getcwd.c: Likewise.
38965         * tests/test-link.c: Likewise.
38966         * tests/test-link.h: Likewise.
38967         * tests/test-lutimens.h: Likewise.
38968         * tests/test-md2.c: Likewise.
38969         * tests/test-md4.c: Likewise.
38970         * tests/test-mkdir.h: Likewise.
38971         * tests/test-rename.c: Likewise.
38972         * tests/test-rename.h: Likewise.
38973         * tests/test-safe-alloc.c: Likewise.
38974         * tests/test-utimens-common.h: Likewise.
38975         * tests/test-utimens.h: Likewise.
38976
38977         maint: sync license texts
38978         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
38979         * doc/gpl-3.0.texi: Revert copyright year update.
38980         * doc/lgpl-3.0.texi: Likewise.
38981
38982 2009-12-29  Jim Meyering  <meyering@redhat.com>
38983
38984         update nearly all FSF copyright year lists to include 2009
38985         The files named by the following are exempted:
38986             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
38987               test -f "$dst" && { echo "$dst"; continue; }
38988               test -d "$dst" || continue
38989               echo "$dst"/$(basename "$src")
38990             done > exempt
38991             git ls-files tests/unictype >> exempt
38992         In the remaining files, convert to all-interval notation if
38993         - there is already at least one year interval like 2000-2003
38994         - the file is maintained by me
38995         - the file is in lib/uni*/, where that style already prevails
38996         Otherwise, use update-copyright's default.
38997
38998 2009-12-29  Simon Josefsson  <simon@josefsson.org>
38999         and Eric Blake  <ebb9@byu.net>
39000
39001         tests: don't require debug system() to pass
39002         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
39003         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39004         * tests/test-unlink.h (test_unlink_func): Likewise.
39005         * tests/test-fstatat.c (main): ...into callers.
39006         * tests/test-lstat.c (main): Likewise.
39007         * tests/test-rmdir.c (main): Likewise.
39008         * tests/test-unlink.c (main): Likewise.
39009         * tests/test-unlinkat.c (main): Likewise.
39010         * tests/test-areadlink-with-size.c (main): Don't require a
39011         debug-only system call to pass, aiding cross-testing to mingw.
39012         * tests/test-areadlink.c (main): Likewise.
39013         * tests/test-areadlinkat-with-size.c (main): Likewise.
39014         * tests/test-areadlinkat.c (main): Likewise.
39015         * tests/test-canonicalize-lgpl.c (main): Likewise.
39016         * tests/test-canonicalize.c (main): Likewise.
39017         * tests/test-chown.c (main): Likewise.
39018         * tests/test-fchownat.c (main): Likewise.
39019         * tests/test-lchown.c (main): Likewise.
39020         * tests/test-fdutimensat.c (main): Likewise.
39021         * tests/test-futimens.c (main): Likewise.
39022         * tests/test-link.c (main): Likewise.
39023         * tests/test-linkat.c (main): Likewise.
39024         * tests/test-mkdir.c (main): Likewise.
39025         * tests/test-mkdirat.c (main): Likewise.
39026         * tests/test-mkfifo.c (main): Likewise.
39027         * tests/test-mkfifoat.c (main): Likewise.
39028         * tests/test-mknod.c (main): Likewise.
39029         * tests/test-readlink.c (main): Likewise.
39030         * tests/test-remove.c (main): Likewise.
39031         * tests/test-rename.c (main): Likewise.
39032         * tests/test-renameat.c (main): Likewise.
39033         * tests/test-symlink.c (main): Likewise.
39034         * tests/test-symlinkat.c (main): Likewise.
39035         * tests/test-utimens.c (main): Likewise.
39036         * tests/test-utimensat.c (main): Likewise.
39037
39038 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39039
39040         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
39041         on $(UNUSED_PARAMETER_H) to avoid build failure.
39042
39043 2009-12-28  Jim Meyering  <meyering@redhat.com>
39044
39045         update-copyright: you may specify a max. line length other than 72
39046         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39047
39048         maint: use consistent FSF copyright line syntax
39049         * lib/posixtm.c: Add missing comma in FSF copyright line.
39050         * lib/posixtm.h: Likewise.
39051         * lib/getugroups.c: Add missing ", Inc.".
39052
39053         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
39054         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
39055         FSF copyright line.  Remove trailing blanks.
39056
39057 2009-12-28  Eric Blake  <ebb9@byu.net>
39058
39059         test-dup2: reduce dependencies
39060         * modules/cloexec (Configure.ac): Set witness.
39061         * modules/dup2-tests (Depends-on): Drop cloexec.
39062         * tests/test-dup2.c (main): Skip portion of test if cloexec module
39063         not present.
39064         Suggested by Bruno Haible.
39065
39066 2009-12-26  Bruno Haible  <bruno@clisp.org>
39067
39068         Remove an unneeded dependency.
39069         * modules/fseterr (Depends-on): Remove dup2.
39070
39071 2009-12-26  Eric Blake  <ebb9@byu.net>
39072
39073         tests: use macros.h in more places
39074         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
39075         (ASSERT_STREAM): Provide default of stderr.
39076         * tests/test-dirent-safer.c: Include macros.h, using alternate
39077         stream for assertions.
39078         * tests/test-dup-safer.c: Likewise.
39079         * tests/test-freopen-safer.c: Likewise.
39080         * tests/test-getopt.c: Likewise.
39081         * tests/test-openat-safer.c: Likewise.
39082         * tests/test-pipe.c: Likewise.
39083         * tests/test-popen-safer.c: Likewise.
39084         * modules/dirent-safer-tests (Files): Include macros.h.
39085         * modules/unistd-safer-tests (Files): Likewise.
39086         * modules/freopen-safer-tests (Files): Likewise.
39087         * modules/getopt-posix-tests (Files): Likewise.
39088         * modules/openat-safer-tests (Files): Likewise.
39089         * modules/pipe-tests (Files): Likewise.
39090
39091 2009-12-26  Bruno Haible  <bruno@clisp.org>
39092
39093         javacomp: Portability fix.
39094         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
39095         that it also works on Solaris.
39096
39097 2009-12-26  Bruno Haible  <bruno@clisp.org>
39098
39099         localename: Fix storage allocation of gl_locale_name_thread's result.
39100         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
39101         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
39102         all platforms that have 'uselocale'.
39103         (gl_locale_name_thread_unsafe): New function, extracted from
39104         gl_locale_name_thread.
39105         (gl_locale_name_thread): Call struniq on all platforms that have
39106         'uselocale'.
39107         * tests/test-localename.c (test_locale_name_thread): Check that the
39108         resulting strings are permanently allocated.
39109         * modules/localename-tests (Depends-on): Add strdup.
39110
39111 2009-12-26  Bruno Haible  <bruno@clisp.org>
39112
39113         * tests/test-localename.c (categories): Fill in the strings.
39114
39115 2009-12-26  Jim Meyering  <meyering@redhat.com>
39116
39117         isdir: complete the removal of m4/isdir.m4
39118         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
39119
39120         isdir: clean up, since at least grep still uses it
39121         * lib/isdir.c: Include "isdir.h".
39122         (S_ISDIR): Remove now-unneeded definition.
39123         * modules/isdir (Files): Add lib/isdir.h.
39124         * lib/isdir.h: New file, with declaration.
39125         * m4/isdir.m4: Remove file -- unneeded.
39126
39127 2009-12-25  Bruno Haible  <bruno@clisp.org>
39128
39129         selinux-h: Make generated .h files standalone.
39130         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
39131         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
39132         * lib/se-selinux.in.h: Likewise.
39133         * modules/selinux-h (Depends-on): Add unused-parameter.
39134         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
39135         selinux/selinux.h and selinux/context.h.
39136         Suggested by Eric Blake.
39137
39138 2009-12-25  Bruno Haible  <bruno@clisp.org>
39139
39140         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
39141         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
39142         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
39143         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
39144         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
39145
39146 2009-12-24  Bruno Haible  <bruno@clisp.org>
39147
39148         openat: Fix warning.
39149         * lib/openat-proc.c: Include <unistd.h>.
39150
39151 2009-12-24  Bruno Haible  <bruno@clisp.org>
39152
39153         New module 'unused-parameter'.
39154         * build-aux/unused-parameter.h: New file, extracted from earlier
39155         gnulib-common.m4.
39156         * modules/unused-parameter: New file.
39157         * lib/unistr.h: Include unused-parameter.h.
39158         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
39159         _GL_UNUSED.
39160         * modules/unistr/base (Depends-on): Add unused-parameter.
39161
39162 2009-12-24  Bruno Haible  <bruno@clisp.org>
39163
39164         Add missing dependencies to 'extensions' module.
39165         * m4/extensions.m4: Add comment.
39166         * modules/accept4 (Depends-on): Add extensions.
39167         * modules/dup3 (Depends-on): Likewise.
39168         * modules/fcntl (Depends-on): Likewise.
39169         * modules/futimens (Depends-on): Likewise.
39170         * modules/mknod (Depends-on): Likewise.
39171         * modules/pipe2 (Depends-on): Likewise.
39172         * modules/stat-time (Depends-on): Likewise.
39173         * modules/strcasestr-simple (Depends-on): Likewise.
39174         * modules/strsignal (Depends-on): Likewise.
39175         * modules/utimensat (Depends-on): Likewise.
39176         * modules/localcharset (Depends-on): Likewise. Needed because of
39177         gl_FCNTL_O_FLAGS.
39178         * modules/wcrtomb (Depends-on): Likewise. Needed because of
39179         AC_TYPE_MBSTATE_T.
39180         * modules/wcsnrtombs (Depends-on): Likewise.
39181         * modules/wcsrtombs (Depends-on): Likewise.
39182
39183 2009-12-24  Bruno Haible  <bruno@clisp.org>
39184
39185         binary-io: Avoid gcc warning due to SET_BINARY.
39186         * lib/binary-io.h (SET_BINARY): Cast the result to void.
39187         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
39188
39189 2009-12-24  Bruno Haible  <bruno@clisp.org>
39190
39191         Avoid future namespace pollution on glibc systems.
39192         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
39193         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
39194         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
39195         glibc systems.
39196
39197 2009-12-24  Bruno Haible  <bruno@clisp.org>
39198
39199         Refactor common macros used in tests.
39200         * tests/macros.h: New file.
39201         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
39202         and/or <stdlib.h>, if appropriate.
39203         (ASSERT, SIZEOF): Remove macros.
39204         * tests/test-areadlink-with-size.c: Likewise.
39205         * tests/test-areadlinkat.c: Likewise.
39206         * tests/test-areadlinkat-with-size.c: Likewise.
39207         * tests/test-argmatch.c: Likewise.
39208         * tests/test-argv-iter.c: Likewise.
39209         * tests/test-array-mergesort.c: Likewise.
39210         * tests/test-array_list.c: Likewise.
39211         * tests/test-array_oset.c: Likewise.
39212         * tests/test-avltree_list.c: Likewise.
39213         * tests/test-avltree_oset.c: Likewise.
39214         * tests/test-avltreehash_list.c: Likewise.
39215         * tests/test-base64.c: Likewise.
39216         * tests/test-binary-io.c: Likewise.
39217         * tests/test-bitrotate.c: Likewise.
39218         * tests/test-btowc.c: Likewise.
39219         * tests/test-byteswap.c: Likewise.
39220         * tests/test-c-ctype.c: Likewise.
39221         * tests/test-c-stack.c: Likewise.
39222         * tests/test-c-strcasecmp.c: Likewise.
39223         * tests/test-c-strcasestr.c: Likewise.
39224         * tests/test-c-strncasecmp.c: Likewise.
39225         * tests/test-c-strstr.c: Likewise.
39226         * tests/test-canonicalize-lgpl.c: Likewise.
39227         * tests/test-canonicalize.c: Likewise.
39228         * tests/test-carray_list.c: Likewise.
39229         * tests/test-ceilf1.c: Likewise.
39230         * tests/test-ceilf2.c: Likewise.
39231         * tests/test-ceill.c: Likewise.
39232         * tests/test-chown.c: Likewise.
39233         * tests/test-cloexec.c: Likewise.
39234         * tests/test-copy-acl.c: Likewise.
39235         * tests/test-copy-file.c: Likewise.
39236         * tests/test-count-one-bits.c: Likewise.
39237         * tests/test-dprintf-posix.c: Likewise.
39238         * tests/test-dup2.c: Likewise.
39239         * tests/test-dup3.c: Likewise.
39240         * tests/test-duplocale.c: Likewise.
39241         * tests/test-fbufmode.c: Likewise.
39242         * tests/test-fchdir.c: Likewise.
39243         * tests/test-fchownat.c: Likewise.
39244         * tests/test-fcntl-safer.c: Likewise.
39245         * tests/test-fcntl.c: Likewise.
39246         * tests/test-fdopendir.c: Likewise.
39247         * tests/test-fdutimensat.c: Likewise.
39248         * tests/test-fflush2.c: Likewise.
39249         * tests/test-file-has-acl.c: Likewise.
39250         * tests/test-filevercmp.c: Likewise.
39251         * tests/test-flock.c: Likewise.
39252         * tests/test-floorf1.c: Likewise.
39253         * tests/test-floorf2.c: Likewise.
39254         * tests/test-floorl.c: Likewise.
39255         * tests/test-fnmatch.c: Likewise.
39256         * tests/test-fopen.h: Likewise.
39257         * tests/test-fpending.c: Likewise.
39258         * tests/test-fprintf-posix.c: Likewise.
39259         * tests/test-fpurge.c: Likewise.
39260         * tests/test-freadable.c: Likewise.
39261         * tests/test-freadahead.c: Likewise.
39262         * tests/test-freading.c: Likewise.
39263         * tests/test-freadptr.c: Likewise.
39264         * tests/test-freadptr2.c: Likewise.
39265         * tests/test-freadseek.c: Likewise.
39266         * tests/test-freopen.c: Likewise.
39267         * tests/test-frexp.c: Likewise.
39268         * tests/test-frexpl.c: Likewise.
39269         * tests/test-fseek.c: Likewise.
39270         * tests/test-fseeko.c: Likewise.
39271         * tests/test-fstatat.c: Likewise.
39272         * tests/test-fstrcmp.c: Likewise.
39273         * tests/test-fsync.c: Likewise.
39274         * tests/test-ftell.c: Likewise.
39275         * tests/test-ftello.c: Likewise.
39276         * tests/test-func.c: Likewise.
39277         * tests/test-futimens.c: Likewise.
39278         * tests/test-fwritable.c: Likewise.
39279         * tests/test-fwriting.c: Likewise.
39280         * tests/test-getcwd.c: Likewise.
39281         * tests/test-getdate.c: Likewise.
39282         * tests/test-getdelim.c: Likewise.
39283         * tests/test-getdtablesize.c: Likewise.
39284         * tests/test-getgroups.c: Likewise.
39285         * tests/test-getline.c: Likewise.
39286         * tests/test-getndelim2.c: Likewise.
39287         * tests/test-glob.c: Likewise.
39288         * tests/test-hash.c: Likewise.
39289         * tests/test-i-ring.c: Likewise.
39290         * tests/test-iconv-utf.c: Likewise.
39291         * tests/test-iconv.c: Likewise.
39292         * tests/test-idpriv-drop.c: Likewise.
39293         * tests/test-idpriv-droptemp.c: Likewise.
39294         * tests/test-inet_ntop.c: Likewise.
39295         * tests/test-inet_pton.c: Likewise.
39296         * tests/test-isblank.c: Likewise.
39297         * tests/test-isfinite.c: Likewise.
39298         * tests/test-isinf.c: Likewise.
39299         * tests/test-isnan.c: Likewise.
39300         * tests/test-isnand.h: Likewise.
39301         * tests/test-isnanf.h: Likewise.
39302         * tests/test-isnanl.h: Likewise.
39303         * tests/test-lchown.c: Likewise.
39304         * tests/test-ldexpl.c: Likewise.
39305         * tests/test-link.c: Likewise.
39306         * tests/test-linkat.c: Likewise.
39307         * tests/test-linked_list.c: Likewise.
39308         * tests/test-linkedhash_list.c: Likewise.
39309         * tests/test-localename.c: Likewise.
39310         * tests/test-lseek.c: Likewise.
39311         * tests/test-lstat.c: Likewise.
39312         * tests/test-mbmemcasecmp.c: Likewise.
39313         * tests/test-mbmemcasecoll.c: Likewise.
39314         * tests/test-mbrtowc.c: Likewise.
39315         * tests/test-mbscasecmp.c: Likewise.
39316         * tests/test-mbscasestr1.c: Likewise.
39317         * tests/test-mbscasestr2.c: Likewise.
39318         * tests/test-mbscasestr3.c: Likewise.
39319         * tests/test-mbscasestr4.c: Likewise.
39320         * tests/test-mbschr.c: Likewise.
39321         * tests/test-mbscspn.c: Likewise.
39322         * tests/test-mbsinit.c: Likewise.
39323         * tests/test-mbsncasecmp.c: Likewise.
39324         * tests/test-mbsnrtowcs.c: Likewise.
39325         * tests/test-mbspbrk.c: Likewise.
39326         * tests/test-mbspcasecmp.c: Likewise.
39327         * tests/test-mbsrchr.c: Likewise.
39328         * tests/test-mbsrtowcs.c: Likewise.
39329         * tests/test-mbsspn.c: Likewise.
39330         * tests/test-mbsstr1.c: Likewise.
39331         * tests/test-mbsstr2.c: Likewise.
39332         * tests/test-mbsstr3.c: Likewise.
39333         * tests/test-memchr.c: Likewise.
39334         * tests/test-memchr2.c: Likewise.
39335         * tests/test-memcmp.c: Likewise.
39336         * tests/test-memmem.c: Likewise.
39337         * tests/test-memrchr.c: Likewise.
39338         * tests/test-mkdir.c: Likewise.
39339         * tests/test-mkdirat.c: Likewise.
39340         * tests/test-mkfifo.c: Likewise.
39341         * tests/test-mkfifoat.c: Likewise.
39342         * tests/test-mknod.c: Likewise.
39343         * tests/test-nanosleep.c: Likewise.
39344         * tests/test-nl_langinfo.c: Likewise.
39345         * tests/test-obstack-printf.c: Likewise.
39346         * tests/test-open.c: Likewise.
39347         * tests/test-openat.c: Likewise.
39348         * tests/test-pipe-filter-gi1.c: Likewise.
39349         * tests/test-pipe-filter-gi2-main.c: Likewise.
39350         * tests/test-pipe-filter-ii1.c: Likewise.
39351         * tests/test-pipe-filter-ii2-main.c: Likewise.
39352         * tests/test-pipe2.c: Likewise.
39353         * tests/test-popen.h: Likewise.
39354         * tests/test-posixtm.c: Likewise.
39355         * tests/test-pread.c: Likewise.
39356         * tests/test-printf-frexp.c: Likewise.
39357         * tests/test-printf-frexpl.c: Likewise.
39358         * tests/test-printf-posix.c: Likewise.
39359         * tests/test-priv-set.c: Likewise.
39360         * tests/test-quotearg.c: Likewise.
39361         * tests/test-random_r.c: Likewise.
39362         * tests/test-rawmemchr.c: Likewise.
39363         * tests/test-rbtree_list.c: Likewise.
39364         * tests/test-rbtree_oset.c: Likewise.
39365         * tests/test-rbtreehash_list.c: Likewise.
39366         * tests/test-readlink.c: Likewise.
39367         * tests/test-remove.c: Likewise.
39368         * tests/test-rename.c: Likewise.
39369         * tests/test-renameat.c: Likewise.
39370         * tests/test-rmdir.c: Likewise.
39371         * tests/test-round1.c: Likewise.
39372         * tests/test-roundf1.c: Likewise.
39373         * tests/test-roundl.c: Likewise.
39374         * tests/test-safe-alloc.c: Likewise.
39375         * tests/test-sameacls.c: Likewise.
39376         * tests/test-set-mode-acl.c: Likewise.
39377         * tests/test-setenv.c: Likewise.
39378         * tests/test-sigaction.c: Likewise.
39379         * tests/test-signbit.c: Likewise.
39380         * tests/test-sleep.c: Likewise.
39381         * tests/test-snprintf-posix.c: Likewise.
39382         * tests/test-snprintf.c: Likewise.
39383         * tests/test-sprintf-posix.c: Likewise.
39384         * tests/test-stat-time.c: Likewise.
39385         * tests/test-stat.c: Likewise.
39386         * tests/test-strcasestr.c: Likewise.
39387         * tests/test-strchrnul.c: Likewise.
39388         * tests/test-strerror.c: Likewise.
39389         * tests/test-striconv.c: Likewise.
39390         * tests/test-striconveh.c: Likewise.
39391         * tests/test-striconveha.c: Likewise.
39392         * tests/test-strsignal.c: Likewise.
39393         * tests/test-strstr.c: Likewise.
39394         * tests/test-strtod.c: Likewise.
39395         * tests/test-strverscmp.c: Likewise.
39396         * tests/test-symlink.c: Likewise.
39397         * tests/test-symlinkat.c: Likewise.
39398         * tests/test-trunc1.c: Likewise.
39399         * tests/test-trunc2.c: Likewise.
39400         * tests/test-truncf1.c: Likewise.
39401         * tests/test-truncf2.c: Likewise.
39402         * tests/test-truncl.c: Likewise.
39403         * tests/test-uname.c: Likewise.
39404         * tests/test-unlink.c: Likewise.
39405         * tests/test-unlinkat.c: Likewise.
39406         * tests/test-unsetenv.c: Likewise.
39407         * tests/test-usleep.c: Likewise.
39408         * tests/test-utimens.c: Likewise.
39409         * tests/test-utimensat.c: Likewise.
39410         * tests/test-vasnprintf-posix.c: Likewise.
39411         * tests/test-vasnprintf-posix2.c: Likewise.
39412         * tests/test-vasnprintf.c: Likewise.
39413         * tests/test-vasprintf-posix.c: Likewise.
39414         * tests/test-vasprintf.c: Likewise.
39415         * tests/test-vdprintf-posix.c: Likewise.
39416         * tests/test-vfprintf-posix.c: Likewise.
39417         * tests/test-vprintf-posix.c: Likewise.
39418         * tests/test-vsnprintf-posix.c: Likewise.
39419         * tests/test-vsnprintf.c: Likewise.
39420         * tests/test-vsprintf-posix.c: Likewise.
39421         * tests/test-wcrtomb.c: Likewise.
39422         * tests/test-wcsnrtombs.c: Likewise.
39423         * tests/test-wcsrtombs.c: Likewise.
39424         * tests/test-wctype.c: Likewise.
39425         * tests/test-wcwidth.c: Likewise.
39426         * tests/test-xfprintf-posix.c: Likewise.
39427         * tests/test-xmemdup0.c: Likewise.
39428         * tests/test-xprintf-posix.c: Likewise.
39429         * tests/test-xvasprintf.c: Likewise.
39430         * tests/unicase/test-locale-language.c: Likewise.
39431         * tests/unicase/test-mapping-part1.h: Likewise.
39432         * tests/unicase/test-predicate-part1.h: Likewise.
39433         * tests/unicase/test-u8-casecmp.c: Likewise.
39434         * tests/unicase/test-u8-casecoll.c: Likewise.
39435         * tests/unicase/test-u8-casefold.c: Likewise.
39436         * tests/unicase/test-u8-is-cased.c: Likewise.
39437         * tests/unicase/test-u8-is-casefolded.c: Likewise.
39438         * tests/unicase/test-u8-is-lowercase.c: Likewise.
39439         * tests/unicase/test-u8-is-titlecase.c: Likewise.
39440         * tests/unicase/test-u8-is-uppercase.c: Likewise.
39441         * tests/unicase/test-u8-tolower.c: Likewise.
39442         * tests/unicase/test-u8-totitle.c: Likewise.
39443         * tests/unicase/test-u8-toupper.c: Likewise.
39444         * tests/unicase/test-u16-casecmp.c: Likewise.
39445         * tests/unicase/test-u16-casecoll.c: Likewise.
39446         * tests/unicase/test-u16-casefold.c: Likewise.
39447         * tests/unicase/test-u16-is-cased.c: Likewise.
39448         * tests/unicase/test-u16-is-casefolded.c: Likewise.
39449         * tests/unicase/test-u16-is-lowercase.c: Likewise.
39450         * tests/unicase/test-u16-is-titlecase.c: Likewise.
39451         * tests/unicase/test-u16-is-uppercase.c: Likewise.
39452         * tests/unicase/test-u16-tolower.c: Likewise.
39453         * tests/unicase/test-u16-totitle.c: Likewise.
39454         * tests/unicase/test-u16-toupper.c: Likewise.
39455         * tests/unicase/test-u32-casecmp.c: Likewise.
39456         * tests/unicase/test-u32-casecoll.c: Likewise.
39457         * tests/unicase/test-u32-casefold.c: Likewise.
39458         * tests/unicase/test-u32-is-cased.c: Likewise.
39459         * tests/unicase/test-u32-is-casefolded.c: Likewise.
39460         * tests/unicase/test-u32-is-lowercase.c: Likewise.
39461         * tests/unicase/test-u32-is-titlecase.c: Likewise.
39462         * tests/unicase/test-u32-is-uppercase.c: Likewise.
39463         * tests/unicase/test-u32-tolower.c: Likewise.
39464         * tests/unicase/test-u32-totitle.c: Likewise.
39465         * tests/unicase/test-u32-toupper.c: Likewise.
39466         * tests/unicase/test-ulc-casecmp.c: Likewise.
39467         * tests/unicase/test-ulc-casecoll.c: Likewise.
39468         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
39469         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
39470         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
39471         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
39472         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
39473         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
39474         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
39475         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
39476         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
39477         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
39478         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
39479         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
39480         * tests/unictype/test-bidi_byname.c: Likewise.
39481         * tests/unictype/test-bidi_name.c: Likewise.
39482         * tests/unictype/test-bidi_of.c: Likewise.
39483         * tests/unictype/test-bidi_test.c: Likewise.
39484         * tests/unictype/test-block_list.c: Likewise.
39485         * tests/unictype/test-block_of.c: Likewise.
39486         * tests/unictype/test-block_test.c: Likewise.
39487         * tests/unictype/test-categ_and.c: Likewise.
39488         * tests/unictype/test-categ_and_not.c: Likewise.
39489         * tests/unictype/test-categ_byname.c: Likewise.
39490         * tests/unictype/test-categ_name.c: Likewise.
39491         * tests/unictype/test-categ_none.c: Likewise.
39492         * tests/unictype/test-categ_of.c: Likewise.
39493         * tests/unictype/test-categ_or.c: Likewise.
39494         * tests/unictype/test-categ_test_withtable.c: Likewise.
39495         * tests/unictype/test-combining.c: Likewise.
39496         * tests/unictype/test-decdigit.c: Likewise.
39497         * tests/unictype/test-digit.c: Likewise.
39498         * tests/unictype/test-mirror.c: Likewise.
39499         * tests/unictype/test-numeric.c: Likewise.
39500         * tests/unictype/test-pr_byname.c: Likewise.
39501         * tests/unictype/test-pr_test.c: Likewise.
39502         * tests/unictype/test-predicate-part1.h: Likewise.
39503         * tests/unictype/test-scripts.c: Likewise.
39504         * tests/unictype/test-sy_c_ident.c: Likewise.
39505         * tests/unictype/test-sy_java_ident.c: Likewise.
39506         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
39507         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
39508         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
39509         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
39510         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
39511         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
39512         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
39513         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
39514         * tests/uninorm/test-canonical-decomposition.c: Likewise.
39515         * tests/uninorm/test-compat-decomposition.c: Likewise.
39516         * tests/uninorm/test-composition.c: Likewise.
39517         * tests/uninorm/test-decomposing-form.c: Likewise.
39518         * tests/uninorm/test-decomposition.c: Likewise.
39519         * tests/uninorm/test-u8-nfc.c: Likewise.
39520         * tests/uninorm/test-u8-nfd.c: Likewise.
39521         * tests/uninorm/test-u8-nfkc.c: Likewise.
39522         * tests/uninorm/test-u8-nfkd.c: Likewise.
39523         * tests/uninorm/test-u8-normcmp.c: Likewise.
39524         * tests/uninorm/test-u8-normcoll.c: Likewise.
39525         * tests/uninorm/test-u16-nfc.c: Likewise.
39526         * tests/uninorm/test-u16-nfd.c: Likewise.
39527         * tests/uninorm/test-u16-nfkc.c: Likewise.
39528         * tests/uninorm/test-u16-nfkd.c: Likewise.
39529         * tests/uninorm/test-u16-normcmp.c: Likewise.
39530         * tests/uninorm/test-u16-normcoll.c: Likewise.
39531         * tests/uninorm/test-u32-nfc.c: Likewise.
39532         * tests/uninorm/test-u32-nfd.c: Likewise.
39533         * tests/uninorm/test-u32-nfkc.c: Likewise.
39534         * tests/uninorm/test-u32-nfkd.c: Likewise.
39535         * tests/uninorm/test-u32-normalize-big.c: Likewise.
39536         * tests/uninorm/test-u32-normcmp.c: Likewise.
39537         * tests/uninorm/test-u32-normcoll.c: Likewise.
39538         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
39539         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
39540         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
39541         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
39542         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
39543         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
39544         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
39545         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
39546         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
39547         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
39548         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
39549         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
39550         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
39551         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
39552         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
39553         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
39554         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
39555         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
39556         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
39557         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
39558         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
39559         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
39560         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
39561         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
39562         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
39563         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
39564         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
39565         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
39566         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
39567         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
39568         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
39569         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
39570         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
39571         * tests/uniwidth/test-u8-strwidth.c: Likewise.
39572         * tests/uniwidth/test-u8-width.c: Likewise.
39573         * tests/uniwidth/test-u16-strwidth.c: Likewise.
39574         * tests/uniwidth/test-u16-width.c: Likewise.
39575         * tests/uniwidth/test-u32-strwidth.c: Likewise.
39576         * tests/uniwidth/test-u32-width.c: Likewise.
39577         * tests/uniwidth/test-uc_width.c: Likewise.
39578         * tests/uniwidth/test-uc_width2.c: Likewise.
39579         * modules/acl-tests (Files): Add tests/macros.h.
39580         * modules/areadlink-tests (Files): Likewise.
39581         * modules/areadlink-with-size-tests (Files): Likewise.
39582         * modules/areadlinkat-tests (Files): Likewise.
39583         * modules/areadlinkat-with-size-tests (Files): Likewise.
39584         * modules/argmatch-tests (Files): Likewise.
39585         * modules/argv-iter-tests (Files): Likewise.
39586         * modules/array-list-tests (Files): Likewise.
39587         * modules/array-mergesort-tests (Files): Likewise.
39588         * modules/array-oset-tests (Files): Likewise.
39589         * modules/avltree-list-tests (Files): Likewise.
39590         * modules/avltree-oset-tests (Files): Likewise.
39591         * modules/avltreehash-list-tests (Files): Likewise.
39592         * modules/base64-tests (Files): Likewise.
39593         * modules/binary-io-tests (Files): Likewise.
39594         * modules/bitrotate-tests (Files): Likewise.
39595         * modules/btowc-tests (Files): Likewise.
39596         * modules/byteswap-tests (Files): Likewise.
39597         * modules/c-ctype-tests (Files): Likewise.
39598         * modules/c-stack-tests (Files): Likewise.
39599         * modules/c-strcase-tests (Files): Likewise.
39600         * modules/c-strcasestr-tests (Files): Likewise.
39601         * modules/c-strstr-tests (Files): Likewise.
39602         * modules/canonicalize-lgpl-tests (Files): Likewise.
39603         * modules/canonicalize-tests (Files): Likewise.
39604         * modules/carray-list-tests (Files): Likewise.
39605         * modules/ceilf-tests (Files): Likewise.
39606         * modules/ceill-tests (Files): Likewise.
39607         * modules/chown-tests (Files): Likewise.
39608         * modules/cloexec-tests (Files): Likewise.
39609         * modules/copy-file-tests (Files): Likewise.
39610         * modules/count-one-bits-tests (Files): Likewise.
39611         * modules/dprintf-posix-tests (Files): Likewise.
39612         * modules/dup2-tests (Files): Likewise.
39613         * modules/dup3-tests (Files): Likewise.
39614         * modules/duplocale-tests (Files): Likewise.
39615         * modules/fbufmode-tests (Files): Likewise.
39616         * modules/fchdir-tests (Files): Likewise.
39617         * modules/fcntl-safer-tests (Files): Likewise.
39618         * modules/fcntl-tests (Files): Likewise.
39619         * modules/fdopendir-tests (Files): Likewise.
39620         * modules/fdutimensat-tests (Files): Likewise.
39621         * modules/fflush-tests (Files): Likewise.
39622         * modules/filevercmp-tests (Files): Likewise.
39623         * modules/flock-tests (Files): Likewise.
39624         * modules/floorf-tests (Files): Likewise.
39625         * modules/floorl-tests (Files): Likewise.
39626         * modules/fnmatch-tests (Files): Likewise.
39627         * modules/fopen-safer-tests (Files): Likewise.
39628         * modules/fopen-tests (Files): Likewise.
39629         * modules/fpending-tests (Files): Likewise.
39630         * modules/fprintf-posix-tests (Files): Likewise.
39631         * modules/fpurge-tests (Files): Likewise.
39632         * modules/freadable-tests (Files): Likewise.
39633         * modules/freadahead-tests (Files): Likewise.
39634         * modules/freading-tests (Files): Likewise.
39635         * modules/freadptr-tests (Files): Likewise.
39636         * modules/freadseek-tests (Files): Likewise.
39637         * modules/freopen-tests (Files): Likewise.
39638         * modules/frexp-nolibm-tests (Files): Likewise.
39639         * modules/frexp-tests (Files): Likewise.
39640         * modules/frexpl-nolibm-tests (Files): Likewise.
39641         * modules/frexpl-tests (Files): Likewise.
39642         * modules/fseek-tests (Files): Likewise.
39643         * modules/fseeko-tests (Files): Likewise.
39644         * modules/fstrcmp-tests (Files): Likewise.
39645         * modules/fsync-tests (Files): Likewise.
39646         * modules/ftell-tests (Files): Likewise.
39647         * modules/ftello-tests (Files): Likewise.
39648         * modules/func-tests (Files): Likewise.
39649         * modules/futimens-tests (Files): Likewise.
39650         * modules/fwritable-tests (Files): Likewise.
39651         * modules/fwriting-tests (Files): Likewise.
39652         * modules/getcwd-tests (Files): Likewise.
39653         * modules/getdate-tests (Files): Likewise.
39654         * modules/getdelim-tests (Files): Likewise.
39655         * modules/getdtablesize-tests (Files): Likewise.
39656         * modules/getgroups-tests (Files): Likewise.
39657         * modules/getline-tests (Files): Likewise.
39658         * modules/getndelim2-tests (Files): Likewise.
39659         * modules/glob-tests (Files): Likewise.
39660         * modules/hash-tests (Files): Likewise.
39661         * modules/i-ring-tests (Files): Likewise.
39662         * modules/iconv-tests (Files): Likewise.
39663         * modules/iconv_open-utf-tests (Files): Likewise.
39664         * modules/idpriv-drop-tests (Files): Likewise.
39665         * modules/idpriv-droptemp-tests (Files): Likewise.
39666         * modules/inet_ntop-tests (Files): Likewise.
39667         * modules/inet_pton-tests (Files): Likewise.
39668         * modules/isblank-tests (Files): Likewise.
39669         * modules/isfinite-tests (Files): Likewise.
39670         * modules/isinf-tests (Files): Likewise.
39671         * modules/isnan-tests (Files): Likewise.
39672         * modules/isnand-nolibm-tests (Files): Likewise.
39673         * modules/isnand-tests (Files): Likewise.
39674         * modules/isnanf-nolibm-tests (Files): Likewise.
39675         * modules/isnanf-tests (Files): Likewise.
39676         * modules/isnanl-nolibm-tests (Files): Likewise.
39677         * modules/isnanl-tests (Files): Likewise.
39678         * modules/lchown-tests (Files): Likewise.
39679         * modules/ldexpl-tests (Files): Likewise.
39680         * modules/link-tests (Files): Likewise.
39681         * modules/linkat-tests (Files): Likewise.
39682         * modules/linked-list-tests (Files): Likewise.
39683         * modules/linkedhash-list-tests (Files): Likewise.
39684         * modules/localename-tests (Files): Likewise.
39685         * modules/lseek-tests (Files): Likewise.
39686         * modules/lstat-tests (Files): Likewise.
39687         * modules/mbmemcasecmp-tests (Files): Likewise.
39688         * modules/mbmemcasecoll-tests (Files): Likewise.
39689         * modules/mbrtowc-tests (Files): Likewise.
39690         * modules/mbscasecmp-tests (Files): Likewise.
39691         * modules/mbscasestr-tests (Files): Likewise.
39692         * modules/mbschr-tests (Files): Likewise.
39693         * modules/mbscspn-tests (Files): Likewise.
39694         * modules/mbsinit-tests (Files): Likewise.
39695         * modules/mbsncasecmp-tests (Files): Likewise.
39696         * modules/mbsnrtowcs-tests (Files): Likewise.
39697         * modules/mbspbrk-tests (Files): Likewise.
39698         * modules/mbspcasecmp-tests (Files): Likewise.
39699         * modules/mbsrchr-tests (Files): Likewise.
39700         * modules/mbsrtowcs-tests (Files): Likewise.
39701         * modules/mbsspn-tests (Files): Likewise.
39702         * modules/mbsstr-tests (Files): Likewise.
39703         * modules/memchr-tests (Files): Likewise.
39704         * modules/memchr2-tests (Files): Likewise.
39705         * modules/memcmp-tests (Files): Likewise.
39706         * modules/memmem-tests (Files): Likewise.
39707         * modules/memrchr-tests (Files): Likewise.
39708         * modules/mkdir-tests (Files): Likewise.
39709         * modules/mkfifo-tests (Files): Likewise.
39710         * modules/mkfifoat-tests (Files): Likewise.
39711         * modules/mknod-tests (Files): Likewise.
39712         * modules/nanosleep-tests (Files): Likewise.
39713         * modules/nl_langinfo-tests (Files): Likewise.
39714         * modules/obstack-printf-tests (Files): Likewise.
39715         * modules/open-tests (Files): Likewise.
39716         * modules/openat-tests (Files): Likewise.
39717         * modules/pipe-filter-gi-tests (Files): Likewise.
39718         * modules/pipe-filter-ii-tests (Files): Likewise.
39719         * modules/pipe2-tests (Files): Likewise.
39720         * modules/popen-safer-tests (Files): Likewise.
39721         * modules/popen-tests (Files): Likewise.
39722         * modules/posixtm-tests (Files): Likewise.
39723         * modules/pread-tests (Files): Likewise.
39724         * modules/printf-frexp-tests (Files): Likewise.
39725         * modules/printf-frexpl-tests (Files): Likewise.
39726         * modules/printf-posix-tests (Files): Likewise.
39727         * modules/priv-set-tests (Files): Likewise.
39728         * modules/quotearg-tests (Files): Likewise.
39729         * modules/random_r-tests (Files): Likewise.
39730         * modules/rawmemchr-tests (Files): Likewise.
39731         * modules/rbtree-list-tests (Files): Likewise.
39732         * modules/rbtree-oset-tests (Files): Likewise.
39733         * modules/rbtreehash-list-tests (Files): Likewise.
39734         * modules/readlink-tests (Files): Likewise.
39735         * modules/remove-tests (Files): Likewise.
39736         * modules/rename-tests (Files): Likewise.
39737         * modules/renameat-tests (Files): Likewise.
39738         * modules/rmdir-tests (Files): Likewise.
39739         * modules/round-tests (Files): Likewise.
39740         * modules/roundf-tests (Files): Likewise.
39741         * modules/roundl-tests (Files): Likewise.
39742         * modules/safe-alloc-tests (Files): Likewise.
39743         * modules/setenv-tests (Files): Likewise.
39744         * modules/sigaction-tests (Files): Likewise.
39745         * modules/signbit-tests (Files): Likewise.
39746         * modules/sleep-tests (Files): Likewise.
39747         * modules/snprintf-posix-tests (Files): Likewise.
39748         * modules/snprintf-tests (Files): Likewise.
39749         * modules/sprintf-posix-tests (Files): Likewise.
39750         * modules/stat-tests (Files): Likewise.
39751         * modules/stat-time-tests (Files): Likewise.
39752         * modules/strcasestr-tests (Files): Likewise.
39753         * modules/strchrnul-tests (Files): Likewise.
39754         * modules/strerror-tests (Files): Likewise.
39755         * modules/striconv-tests (Files): Likewise.
39756         * modules/striconveh-tests (Files): Likewise.
39757         * modules/striconveha-tests (Files): Likewise.
39758         * modules/strsignal-tests (Files): Likewise.
39759         * modules/strstr-tests (Files): Likewise.
39760         * modules/strtod-tests (Files): Likewise.
39761         * modules/strverscmp-tests (Files): Likewise.
39762         * modules/symlink-tests (Files): Likewise.
39763         * modules/symlinkat-tests (Files): Likewise.
39764         * modules/trunc-tests (Files): Likewise.
39765         * modules/truncf-tests (Files): Likewise.
39766         * modules/truncl-tests (Files): Likewise.
39767         * modules/uname-tests (Files): Likewise.
39768         * modules/unicase/cased-tests (Files): Likewise.
39769         * modules/unicase/ignorable-tests (Files): Likewise.
39770         * modules/unicase/locale-language-tests (Files): Likewise.
39771         * modules/unicase/tolower-tests (Files): Likewise.
39772         * modules/unicase/totitle-tests (Files): Likewise.
39773         * modules/unicase/toupper-tests (Files): Likewise.
39774         * modules/unicase/u8-casecmp-tests (Files): Likewise.
39775         * modules/unicase/u8-casecoll-tests (Files): Likewise.
39776         * modules/unicase/u8-casefold-tests (Files): Likewise.
39777         * modules/unicase/u8-is-cased-tests (Files): Likewise.
39778         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
39779         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
39780         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
39781         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
39782         * modules/unicase/u8-tolower-tests (Files): Likewise.
39783         * modules/unicase/u8-totitle-tests (Files): Likewise.
39784         * modules/unicase/u8-toupper-tests (Files): Likewise.
39785         * modules/unicase/u16-casecmp-tests (Files): Likewise.
39786         * modules/unicase/u16-casecoll-tests (Files): Likewise.
39787         * modules/unicase/u16-casefold-tests (Files): Likewise.
39788         * modules/unicase/u16-is-cased-tests (Files): Likewise.
39789         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
39790         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
39791         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
39792         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
39793         * modules/unicase/u16-tolower-tests (Files): Likewise.
39794         * modules/unicase/u16-totitle-tests (Files): Likewise.
39795         * modules/unicase/u16-toupper-tests (Files): Likewise.
39796         * modules/unicase/u32-casecmp-tests (Files): Likewise.
39797         * modules/unicase/u32-casecoll-tests (Files): Likewise.
39798         * modules/unicase/u32-casefold-tests (Files): Likewise.
39799         * modules/unicase/u32-is-cased-tests (Files): Likewise.
39800         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
39801         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
39802         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
39803         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
39804         * modules/unicase/u32-tolower-tests (Files): Likewise.
39805         * modules/unicase/u32-totitle-tests (Files): Likewise.
39806         * modules/unicase/u32-toupper-tests (Files): Likewise.
39807         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
39808         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
39809         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
39810         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
39811         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
39812         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
39813         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
39814         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
39815         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
39816         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
39817         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
39818         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
39819         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
39820         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
39821         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
39822         * modules/unictype/bidicategory-name-tests (Files): Likewise.
39823         * modules/unictype/bidicategory-of-tests (Files): Likewise.
39824         * modules/unictype/bidicategory-test-tests (Files): Likewise.
39825         * modules/unictype/block-list-tests (Files): Likewise.
39826         * modules/unictype/block-of-tests (Files): Likewise.
39827         * modules/unictype/block-test-tests (Files): Likewise.
39828         * modules/unictype/category-C-tests (Files): Likewise.
39829         * modules/unictype/category-Cc-tests (Files): Likewise.
39830         * modules/unictype/category-Cf-tests (Files): Likewise.
39831         * modules/unictype/category-Cn-tests (Files): Likewise.
39832         * modules/unictype/category-Co-tests (Files): Likewise.
39833         * modules/unictype/category-Cs-tests (Files): Likewise.
39834         * modules/unictype/category-L-tests (Files): Likewise.
39835         * modules/unictype/category-Ll-tests (Files): Likewise.
39836         * modules/unictype/category-Lm-tests (Files): Likewise.
39837         * modules/unictype/category-Lo-tests (Files): Likewise.
39838         * modules/unictype/category-Lt-tests (Files): Likewise.
39839         * modules/unictype/category-Lu-tests (Files): Likewise.
39840         * modules/unictype/category-M-tests (Files): Likewise.
39841         * modules/unictype/category-Mc-tests (Files): Likewise.
39842         * modules/unictype/category-Me-tests (Files): Likewise.
39843         * modules/unictype/category-Mn-tests (Files): Likewise.
39844         * modules/unictype/category-N-tests (Files): Likewise.
39845         * modules/unictype/category-Nd-tests (Files): Likewise.
39846         * modules/unictype/category-Nl-tests (Files): Likewise.
39847         * modules/unictype/category-No-tests (Files): Likewise.
39848         * modules/unictype/category-P-tests (Files): Likewise.
39849         * modules/unictype/category-Pc-tests (Files): Likewise.
39850         * modules/unictype/category-Pd-tests (Files): Likewise.
39851         * modules/unictype/category-Pe-tests (Files): Likewise.
39852         * modules/unictype/category-Pf-tests (Files): Likewise.
39853         * modules/unictype/category-Pi-tests (Files): Likewise.
39854         * modules/unictype/category-Po-tests (Files): Likewise.
39855         * modules/unictype/category-Ps-tests (Files): Likewise.
39856         * modules/unictype/category-S-tests (Files): Likewise.
39857         * modules/unictype/category-Sc-tests (Files): Likewise.
39858         * modules/unictype/category-Sk-tests (Files): Likewise.
39859         * modules/unictype/category-Sm-tests (Files): Likewise.
39860         * modules/unictype/category-So-tests (Files): Likewise.
39861         * modules/unictype/category-Z-tests (Files): Likewise.
39862         * modules/unictype/category-Zl-tests (Files): Likewise.
39863         * modules/unictype/category-Zp-tests (Files): Likewise.
39864         * modules/unictype/category-Zs-tests (Files): Likewise.
39865         * modules/unictype/category-and-not-tests (Files): Likewise.
39866         * modules/unictype/category-and-tests (Files): Likewise.
39867         * modules/unictype/category-byname-tests (Files): Likewise.
39868         * modules/unictype/category-name-tests (Files): Likewise.
39869         * modules/unictype/category-none-tests (Files): Likewise.
39870         * modules/unictype/category-of-tests (Files): Likewise.
39871         * modules/unictype/category-or-tests (Files): Likewise.
39872         * modules/unictype/category-test-withtable-tests (Files): Likewise.
39873         * modules/unictype/combining-class-tests (Files): Likewise.
39874         * modules/unictype/ctype-alnum-tests (Files): Likewise.
39875         * modules/unictype/ctype-alpha-tests (Files): Likewise.
39876         * modules/unictype/ctype-blank-tests (Files): Likewise.
39877         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
39878         * modules/unictype/ctype-digit-tests (Files): Likewise.
39879         * modules/unictype/ctype-graph-tests (Files): Likewise.
39880         * modules/unictype/ctype-lower-tests (Files): Likewise.
39881         * modules/unictype/ctype-print-tests (Files): Likewise.
39882         * modules/unictype/ctype-punct-tests (Files): Likewise.
39883         * modules/unictype/ctype-space-tests (Files): Likewise.
39884         * modules/unictype/ctype-upper-tests (Files): Likewise.
39885         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
39886         * modules/unictype/decimal-digit-tests (Files): Likewise.
39887         * modules/unictype/digit-tests (Files): Likewise.
39888         * modules/unictype/mirror-tests (Files): Likewise.
39889         * modules/unictype/numeric-tests (Files): Likewise.
39890         * modules/unictype/property-alphabetic-tests (Files): Likewise.
39891         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
39892         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
39893         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
39894         Likewise.
39895         * modules/unictype/property-bidi-block-separator-tests (Files):
39896         Likewise.
39897         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
39898         Likewise.
39899         * modules/unictype/property-bidi-common-separator-tests (Files):
39900         Likewise.
39901         * modules/unictype/property-bidi-control-tests (Files): Likewise.
39902         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
39903         Likewise.
39904         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
39905         Likewise.
39906         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
39907         Likewise.
39908         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
39909         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
39910         Likewise.
39911         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
39912         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
39913         Likewise.
39914         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
39915         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
39916         * modules/unictype/property-bidi-segment-separator-tests (Files):
39917         Likewise.
39918         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
39919         * modules/unictype/property-byname-tests (Files): Likewise.
39920         * modules/unictype/property-combining-tests (Files): Likewise.
39921         * modules/unictype/property-composite-tests (Files): Likewise.
39922         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
39923         * modules/unictype/property-dash-tests (Files): Likewise.
39924         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
39925         * modules/unictype/property-default-ignorable-code-point-tests (Files):
39926         Likewise.
39927         * modules/unictype/property-deprecated-tests (Files): Likewise.
39928         * modules/unictype/property-diacritic-tests (Files): Likewise.
39929         * modules/unictype/property-extender-tests (Files): Likewise.
39930         * modules/unictype/property-format-control-tests (Files): Likewise.
39931         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
39932         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
39933         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
39934         * modules/unictype/property-hex-digit-tests (Files): Likewise.
39935         * modules/unictype/property-hyphen-tests (Files): Likewise.
39936         * modules/unictype/property-id-continue-tests (Files): Likewise.
39937         * modules/unictype/property-id-start-tests (Files): Likewise.
39938         * modules/unictype/property-ideographic-tests (Files): Likewise.
39939         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
39940         * modules/unictype/property-ids-trinary-operator-tests (Files):
39941         Likewise.
39942         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
39943         * modules/unictype/property-iso-control-tests (Files): Likewise.
39944         * modules/unictype/property-join-control-tests (Files): Likewise.
39945         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
39946         * modules/unictype/property-line-separator-tests (Files): Likewise.
39947         * modules/unictype/property-logical-order-exception-tests (Files):
39948         Likewise.
39949         * modules/unictype/property-lowercase-tests (Files): Likewise.
39950         * modules/unictype/property-math-tests (Files): Likewise.
39951         * modules/unictype/property-non-break-tests (Files): Likewise.
39952         * modules/unictype/property-not-a-character-tests (Files): Likewise.
39953         * modules/unictype/property-numeric-tests (Files): Likewise.
39954         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
39955         * modules/unictype/property-other-default-ignorable-code-point-tests
39956         (Files): Likewise.
39957         * modules/unictype/property-other-grapheme-extend-tests (Files):
39958         Likewise.
39959         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
39960         * modules/unictype/property-other-id-start-tests (Files): Likewise.
39961         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
39962         * modules/unictype/property-other-math-tests (Files): Likewise.
39963         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
39964         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
39965         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
39966         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
39967         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
39968         * modules/unictype/property-private-use-tests (Files): Likewise.
39969         * modules/unictype/property-punctuation-tests (Files): Likewise.
39970         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
39971         * modules/unictype/property-radical-tests (Files): Likewise.
39972         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
39973         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
39974         * modules/unictype/property-space-tests (Files): Likewise.
39975         * modules/unictype/property-terminal-punctuation-tests (Files):
39976         Likewise.
39977         * modules/unictype/property-test-tests (Files): Likewise.
39978         * modules/unictype/property-titlecase-tests (Files): Likewise.
39979         * modules/unictype/property-unassigned-code-value-tests (Files):
39980         Likewise.
39981         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
39982         * modules/unictype/property-uppercase-tests (Files): Likewise.
39983         * modules/unictype/property-variation-selector-tests (Files): Likewise.
39984         * modules/unictype/property-white-space-tests (Files): Likewise.
39985         * modules/unictype/property-xid-continue-tests (Files): Likewise.
39986         * modules/unictype/property-xid-start-tests (Files): Likewise.
39987         * modules/unictype/property-zero-width-tests (Files): Likewise.
39988         * modules/unictype/scripts-tests (Files): Likewise.
39989         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
39990         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
39991         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
39992         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
39993         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
39994         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
39995         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
39996         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
39997         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
39998         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
39999         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
40000         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
40001         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
40002         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
40003         * modules/uninorm/composition-tests (Files): Likewise.
40004         * modules/uninorm/decomposing-form-tests (Files): Likewise.
40005         * modules/uninorm/decomposition-tests (Files): Likewise.
40006         * modules/uninorm/filter-tests (Files): Likewise.
40007         * modules/uninorm/nfc-tests (Files): Likewise.
40008         * modules/uninorm/nfd-tests (Files): Likewise.
40009         * modules/uninorm/nfkc-tests (Files): Likewise.
40010         * modules/uninorm/nfkd-tests (Files): Likewise.
40011         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
40012         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
40013         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
40014         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
40015         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
40016         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
40017         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
40018         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
40019         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
40020         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
40021         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
40022         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
40023         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
40024         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
40025         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
40026         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
40027         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
40028         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
40029         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
40030         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
40031         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
40032         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
40033         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
40034         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
40035         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
40036         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
40037         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
40038         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
40039         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
40040         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
40041         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
40042         * modules/uniwidth/u8-width-tests (Files): Likewise.
40043         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
40044         * modules/uniwidth/u16-width-tests (Files): Likewise.
40045         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
40046         * modules/uniwidth/u32-width-tests (Files): Likewise.
40047         * modules/uniwidth/width-tests (Files): Likewise.
40048         * modules/unlink-tests (Files): Likewise.
40049         * modules/unsetenv-tests (Files): Likewise.
40050         * modules/usleep-tests (Files): Likewise.
40051         * modules/utimens-tests (Files): Likewise.
40052         * modules/utimensat-tests (Files): Likewise.
40053         * modules/vasnprintf-posix-tests (Files): Likewise.
40054         * modules/vasnprintf-tests (Files): Likewise.
40055         * modules/vasprintf-posix-tests (Files): Likewise.
40056         * modules/vasprintf-tests (Files): Likewise.
40057         * modules/vdprintf-posix-tests (Files): Likewise.
40058         * modules/vfprintf-posix-tests (Files): Likewise.
40059         * modules/vprintf-posix-tests (Files): Likewise.
40060         * modules/vsnprintf-posix-tests (Files): Likewise.
40061         * modules/vsnprintf-tests (Files): Likewise.
40062         * modules/vsprintf-posix-tests (Files): Likewise.
40063         * modules/wcrtomb-tests (Files): Likewise.
40064         * modules/wcsnrtombs-tests (Files): Likewise.
40065         * modules/wcsrtombs-tests (Files): Likewise.
40066         * modules/wctype-tests (Files): Likewise.
40067         * modules/wcwidth-tests (Files): Likewise.
40068         * modules/xmemdup0-tests (Files): Likewise.
40069         * modules/xprintf-posix-tests (Files): Likewise.
40070         * modules/xvasprintf-tests (Files): Likewise.
40071
40072 2009-12-24  Eric Blake  <ebb9@byu.net>
40073
40074         test-nanosleep: fix typo
40075         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
40076         patch.
40077         Reported by Bruno Haible.
40078
40079 2009-12-24  Bruno Haible  <bruno@clisp.org>
40080
40081         Reduce namespace pollution on glibc systems.
40082         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
40083         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
40084         systems.
40085         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
40086         <getopt.h> on glibc systems.
40087         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
40088         systems.
40089         * lib/fcntl.c: Include <unistd.h> here instead.
40090
40091 2009-12-24  Bruno Haible  <bruno@clisp.org>
40092
40093         * lib/stdlib.in.h (includes): Fix typo in today's commit.
40094
40095 2009-12-24  Eric Blake  <ebb9@byu.net>
40096
40097         tests: add signature checks
40098         * tests/signature.h (SIGNATURE_CHECK): New file.
40099         * modules/atexit-tests (Files): Use it.
40100         * modules/btowc-tests (Files): Likewise.
40101         * modules/canonicalize-lgpl-tests (Files): Likewise.
40102         * modules/ceilf-tests (Files): Likewise.
40103         * modules/ceill-tests (Files): Likewise.
40104         * modules/chown-tests (Files): Likewise.
40105         * modules/dprintf-posix-tests (Files): Likewise.
40106         * modules/dup2-tests (Files): Likewise.
40107         * modules/dup3-tests (Files): Likewise.
40108         * modules/duplocale-tests (Files): Likewise.
40109         * modules/fchdir-tests (Files): Likewise.
40110         * modules/fcntl-tests (Files): Likewise.
40111         * modules/fdopendir-tests (Files): Likewise.
40112         * modules/fflush-tests (Files): Likewise.
40113         * modules/flock-tests (Files): Likewise.
40114         * modules/floorf-tests (Files): Likewise.
40115         * modules/floorl-tests (Files): Likewise.
40116         * modules/fnmatch-tests (Files): Likewise.
40117         * modules/fopen-tests (Files): Likewise.
40118         * modules/fprintf-posix-tests (Files): Likewise.
40119         * modules/freopen-tests (Files): Likewise.
40120         * modules/frexp-nolibm-tests (Files): Likewise.
40121         * modules/frexp-tests (Files): Likewise.
40122         * modules/frexpl-nolibm-tests (Files): Likewise.
40123         * modules/frexpl-tests (Files): Likewise.
40124         * modules/fseek-tests (Files): Likewise.
40125         * modules/fseeko-tests (Files): Likewise.
40126         * modules/fsync-tests (Files): Likewise.
40127         * modules/ftell-tests (Files): Likewise.
40128         * modules/ftello-tests (Files): Likewise.
40129         * modules/futimens-tests (Files): Likewise.
40130         * modules/getaddrinfo-tests (Files): Likewise.
40131         * modules/getcwd-tests (Files): Likewise.
40132         * modules/getdelim-tests (Files): Likewise.
40133         * modules/getdtablesize-tests (Files): Likewise.
40134         * modules/getgroups-tests (Files): Likewise.
40135         * modules/gethostname-tests (Files): Likewise.
40136         * modules/getline-tests (Files): Likewise.
40137         * modules/getopt-posix-tests (Files): Likewise.
40138         * modules/gettimeofday-tests (Files): Likewise.
40139         * modules/glob-tests (Files): Likewise.
40140         * modules/iconv-tests (Files): Likewise.
40141         * modules/inet_ntop-tests (Files): Likewise.
40142         * modules/inet_pton-tests (Files): Likewise.
40143         * modules/isblank-tests (Files): Likewise.
40144         * modules/lchown-tests (Files): Likewise.
40145         * modules/ldexpl-tests (Files): Likewise.
40146         * modules/link-tests (Files): Likewise.
40147         * modules/linkat-tests (Files): Likewise.
40148         * modules/lseek-tests (Files): Likewise.
40149         * modules/lstat-tests (Files): Likewise.
40150         * modules/mbrtowc-tests (Files): Likewise.
40151         * modules/mbsinit-tests (Files): Likewise.
40152         * modules/mbsnrtowcs-tests (Files): Likewise.
40153         * modules/mbsrtowcs-tests (Files): Likewise.
40154         * modules/memchr-tests (Files): Likewise.
40155         * modules/memcmp-tests (Files): Likewise.
40156         * modules/memmem-tests (Files): Likewise.
40157         * modules/memrchr-tests (Files): Likewise.
40158         * modules/mkdir-tests (Files): Likewise.
40159         * modules/mkfifo-tests (Files): Likewise.
40160         * modules/mkfifoat-tests (Files): Likewise.
40161         * modules/mknod-tests (Files): Likewise.
40162         * modules/nanosleep-tests (Files): Likewise.
40163         * modules/nl_langinfo-tests (Files): Likewise.
40164         * modules/obstack-printf-tests (Files): Likewise.
40165         * modules/open-tests (Files): Likewise.
40166         * modules/openat-tests (Files): Likewise.
40167         * modules/perror-tests (Files): Likewise.
40168         * modules/pipe2-tests (Files): Likewise.
40169         * modules/poll-tests (Files): Likewise.
40170         * modules/popen-tests (Files): Likewise.
40171         * modules/posix_spawn-tests (Files): Likewise.
40172         * modules/posix_spawnp-tests (Files): Likewise.
40173         * modules/pread-tests (Files): Likewise.
40174         * modules/printf-posix-tests (Files): Likewise.
40175         * modules/pty-tests (Files): Likewise.
40176         * modules/random_r-tests (Files): Likewise.
40177         * modules/rawmemchr-tests (Files): Likewise.
40178         * modules/readlink-tests (Files): Likewise.
40179         * modules/remove-tests (Files): Likewise.
40180         * modules/rename-tests (Files): Likewise.
40181         * modules/renameat-tests (Files): Likewise.
40182         * modules/rmdir-tests (Files): Likewise.
40183         * modules/round-tests (Files): Likewise.
40184         * modules/roundf-tests (Files): Likewise.
40185         * modules/roundl-tests (Files): Likewise.
40186         * modules/select-tests (Files): Likewise.
40187         * modules/setenv-tests (Files): Likewise.
40188         * modules/sigaction-tests (Files): Likewise.
40189         * modules/sleep-tests (Files): Likewise.
40190         * modules/snprintf-posix-tests (Files): Likewise.
40191         * modules/snprintf-tests (Files): Likewise.
40192         * modules/sprintf-posix-tests (Files): Likewise.
40193         * modules/stat-tests (Files): Likewise.
40194         * modules/strcasestr-tests (Files): Likewise.
40195         * modules/strchrnul-tests (Files): Likewise.
40196         * modules/strerror-tests (Files): Likewise.
40197         * modules/strsignal-tests (Files): Likewise.
40198         * modules/strstr-tests (Files): Likewise.
40199         * modules/strtod-tests (Files): Likewise.
40200         * modules/strverscmp-tests (Files): Likewise.
40201         * modules/symlink-tests (Files): Likewise.
40202         * modules/symlinkat-tests (Files): Likewise.
40203         * modules/times-tests (Files): Likewise.
40204         * modules/trunc-tests (Files): Likewise.
40205         * modules/truncf-tests (Files): Likewise.
40206         * modules/truncl-tests (Files): Likewise.
40207         * modules/tsearch-tests (Files): Likewise.
40208         * modules/uname-tests (Files): Likewise.
40209         * modules/unlink-tests (Files): Likewise.
40210         * modules/unsetenv-tests (Files): Likewise.
40211         * modules/usleep-tests (Files): Likewise.
40212         * modules/utimensat-tests (Files): Likewise.
40213         * modules/vasprintf-tests (Files): Likewise.
40214         * modules/vdprintf-posix-tests (Files): Likewise.
40215         * modules/vfprintf-posix-tests (Files): Likewise.
40216         * modules/vprintf-posix-tests (Files): Likewise.
40217         * modules/vsnprintf-posix-tests (Files): Likewise.
40218         * modules/vsnprintf-tests (Files): Likewise.
40219         * modules/vsprintf-posix-tests (Files): Likewise.
40220         * modules/wcrtomb-tests (Files): Likewise.
40221         * modules/wcsnrtombs-tests (Files): Likewise.
40222         * modules/wcsrtombs-tests (Files): Likewise.
40223         * modules/wcwidth-tests (Files): Likewise.
40224         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
40225         * tests/test-isinf.c (isinf): Likewise.
40226         * tests/test-isnan.c (isnan): Likewise.
40227         * tests/test-signbit.c (signbit): Likewise.
40228         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
40229         declaration, either as macro or with correct signature.
40230         (select): Ensure function under test is declared with correct
40231         signature in correct header.
40232         * tests/test-atexit.c (atexit): Likewise.
40233         * tests/test-btowc.c (btowc): Likewise.
40234         * tests/test-canonicalize-lgpl.c (realpath)
40235         (canonicalize_file_name): Likewise.
40236         * tests/test-ceilf1.c (ceilf): Likewise.
40237         * tests/test-ceill.c (ceill): Likewise.
40238         * tests/test-chown.c (chown): Likewise.
40239         * tests/test-dprintf-posix.c (dprintf): Likewise.
40240         * tests/test-dup2.c (dup2): Likewise.
40241         * tests/test-dup3.c (dup3): Likewise.
40242         * tests/test-duplocale.c (duplocale): Likewise.
40243         * tests/test-fchdir.c (fchdir): Likewise.
40244         * tests/test-fchownat.c (fchownat): Likewise.
40245         * tests/test-fcntl.c (fcntl): Likewise.
40246         * tests/test-fdopendir.c (fdopendir): Likewise.
40247         * tests/test-fflush.c (fflush): Likewise.
40248         * tests/test-flock.c (flock): Likewise.
40249         * tests/test-floorf1.c (floorf): Likewise.
40250         * tests/test-floorl.c (floorl): Likewise.
40251         * tests/test-fnmatch.c (fnmatch): Likewise.
40252         * tests/test-fopen.c (fopen): Likewise.
40253         * tests/test-fprintf-posix.c (fprintf): Likewise.
40254         * tests/test-freopen.c (freopen): Likewise.
40255         * tests/test-frexp.c (frexp): Likewise.
40256         * tests/test-frexpl.c (frexpl): Likewise.
40257         * tests/test-fseek.c (fseek): Likewise.
40258         * tests/test-fseeko.c (fseeko): Likewise.
40259         * tests/test-fstatat.c (fstatat): Likewise.
40260         * tests/test-fsync.c (fsync): Likewise.
40261         * tests/test-ftell.c (ftell): Likewise.
40262         * tests/test-ftello.c (ftello): Likewise.
40263         * tests/test-futimens.c (futimens): Likewise.
40264         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
40265         (gai_strerror): Likewise.
40266         * tests/test-getcwd.c (getcwd): Likewise.
40267         * tests/test-getdelim.c (getdelim): Likewise.
40268         * tests/test-getdtablesize.c (getdtablesize): Likewise.
40269         * tests/test-getgroups.c (getgroups): Likewise.
40270         * tests/test-gethostname.c (gethostname): Likewise.
40271         * tests/test-getline.c (getline): Likewise.
40272         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
40273         Likewise.
40274         * tests/test-gettimeofday.c (gettimeofday): Likewise.
40275         * tests/test-glob.c (glob, globfree): Likewise.
40276         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
40277         * tests/test-inet_ntop.c (inet_ntop): Likewise.
40278         * tests/test-inet_pton.c (inet_pton): Likewise.
40279         * tests/test-isblank.c (isblank): Likewise.
40280         * tests/test-lchown.c (lchown): Likewise.
40281         * tests/test-ldexpl.c (ldexpl): Likewise.
40282         * tests/test-link.c (link): Likewise.
40283         * tests/test-linkat.c (linkat): Likewise.
40284         * tests/test-lseek.c (lseek): Likewise.
40285         * tests/test-lstat.c (lstat): Likewise.
40286         * tests/test-mbrtowc.c (mbrtowc): Likewise.
40287         * tests/test-mbsinit.c (mbsinit): Likewise.
40288         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
40289         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
40290         * tests/test-memchr.c (memchr): Likewise.
40291         * tests/test-memcmp.c (memcmp): Likewise.
40292         * tests/test-memmem.c (memmem): Likewise.
40293         * tests/test-memrchr.c (memrchr): Likewise.
40294         * tests/test-mkdir.c (mkdir): Likewise.
40295         * tests/test-mkdirat.c (mkdirat): Likewise.
40296         * tests/test-mkfifo.c (mkfifo): Likewise.
40297         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
40298         * tests/test-mknod.c (mknod): Likewise.
40299         * tests/test-nanosleep.c (nanosleep): Likewise.
40300         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
40301         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
40302         Likewise.
40303         * tests/test-open.c (open): Likewise.
40304         * tests/test-openat.c (openat): Likewise.
40305         * tests/test-perror.c (perror): Likewise.
40306         * tests/test-pipe2.c (pipe2): Likewise.
40307         * tests/test-poll.c (poll): Likewise.
40308         * tests/test-popen.c (popen, pclose): Likewise.
40309         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
40310         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
40311         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
40312         (posix_spawn_file_actions_destroy)
40313         (posix_spawn_file_actions_addclose)
40314         (posix_spawn_file_actions_addopen)
40315         (posix_spawn_file_actions_adddup2): Likewise.
40316         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
40317         * tests/test-pread.c (pread): Likewise.
40318         * tests/test-printf-posix.c (printf): Likewise.
40319         * tests/test-pty.c (openpty, forkpty): Likewise.
40320         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
40321         (random_r): Likewise.
40322         * tests/test-rawmemchr.c (rawmemchr): Likewise.
40323         * tests/test-readlink.c (readlink): Likewise.
40324         * tests/test-remove.c (remove): Likewise.
40325         * tests/test-rename.c (rename): Likewise.
40326         * tests/test-renameat.c (renameat): Likewise.
40327         * tests/test-rmdir.c (rmdir): Likewise.
40328         * tests/test-round1.c (round): Likewise.
40329         * tests/test-roundf1.c (roundf): Likewise.
40330         * tests/test-roundl.c (roundl): Likewise.
40331         * tests/test-setenv.c (setenv): Likewise.
40332         * tests/test-sigaction.c (sigaction): Likewise.
40333         * tests/test-sleep.c (sleep): Likewise.
40334         * tests/test-snprintf.c (snprintf): Likewise.
40335         * tests/test-sprintf-posix.c (sprintf): Likewise.
40336         * tests/test-stat.c (stat): Likewise.
40337         * tests/test-stpncpy.c (stpncpy): Likewise.
40338         * tests/test-strcasestr.c (strcasestr): Likewise.
40339         * tests/test-strchrnul.c (strchrnul): Likewise.
40340         * tests/test-strerror.c (strerror): Likewise.
40341         * tests/test-strsignal.c (strsignal): Likewise.
40342         * tests/test-strstr.c (strstr): Likewise.
40343         * tests/test-strtod.c (strtod): Likewise.
40344         * tests/test-strverscmp.c (strverscmp): Likewise.
40345         * tests/test-symlink.c (symlink): Likewise.
40346         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
40347         * tests/test-times.c (times): Likewise.
40348         * tests/test-trunc1.c (trunc): Likewise.
40349         * tests/test-truncf1.c (truncf): Likewise.
40350         * tests/test-truncl.c (truncl): Likewise.
40351         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
40352         Likewise.
40353         * tests/test-uname.c (uname): Likewise.
40354         * tests/test-unlink.c (unlink): Likewise.
40355         * tests/test-unlinkat.c (unlinkat): Likewise.
40356         * tests/test-unsetenv.c (unsetenv): Likewise.
40357         * tests/test-usleep.c (usleep): Likewise.
40358         * tests/test-utimensat.c (utimensat): Likewise.
40359         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
40360         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
40361         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
40362         * tests/test-vprintf-posix.c (vprintf): Likewise.
40363         * tests/test-vsnprintf.c (vsnprintf): Likewise.
40364         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
40365         * tests/test-wcrtomb.c (wcrtomb): Likewise.
40366         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
40367         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
40368         * tests/test-wcwidth.c (wcwidth): Likewise.
40369
40370         build: pull in conditional headers during GNULIB_POSIXCHECK
40371         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
40372         definitions from any conditionally-included headers.
40373         * lib/stdlib.in.h (includes): Likewise.
40374         * lib/unistd.in.h (includes): Likewise.
40375
40376 2009-12-24  Bruno Haible  <bruno@clisp.org>
40377
40378         * tests/test-argv-iter.c: Include header file being tested immediately
40379         after config.h.
40380         * tests/test-base64.c: Likewise.
40381         * tests/test-flock.c: Likewise.
40382         * tests/test-fsync.c: Likewise.
40383         * tests/test-getdate.c: Likewise.
40384         * tests/test-getndelim2.c: Likewise.
40385         * tests/test-isfinite.c: Likewise.
40386         * tests/test-isinf.c: Likewise.
40387         * tests/test-strerror.c: Likewise.
40388         * tests/test-strsignal.c: Likewise.
40389
40390 2009-12-23  Eric Blake  <ebb9@byu.net>
40391
40392         unistd: work around cygwin bug
40393         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
40394         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
40395         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40396
40397 2009-12-23  Bruno Haible  <bruno@clisp.org>
40398
40399         localename: More tests.
40400         * tests/test-localename.c (SIZEOF): New macro.
40401         (categories): New variable.
40402         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
40403         test_locale_name_default): Add test w.r.t. thread locale.
40404         (test_locale_name_thread): New function.
40405         (main): Invoke it.
40406
40407         localename: Make aware of thread locale.
40408         * lib/localename.h (gl_locale_name_thread): New declaration.
40409         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
40410         behaviour with respect to thread locale.
40411         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
40412         <langinfo.h>, glthread/lock.h.
40413         (SIZE_BITS): New macro.
40414         (string_hash): New function.
40415         (struct hash_node): New type.
40416         (HASH_TABLE_SIZE): New macro.
40417         (struniq_hash_table, struniq_lock): New variables.
40418         (struniq): New function.
40419         (gl_locale_name_thread): New function.
40420         (gl_locale_name): Invoke it.
40421         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
40422         * modules/localename (Depends-on): Add lock.
40423         Reported by Mike Gran <spk121@yahoo.com>.
40424
40425 2009-12-23  Eric Blake  <ebb9@byu.net>
40426
40427         va-args: new module
40428         * modules/va-args: New file.
40429         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
40430         * MODULES.html.sh (Core language properties): Mention it.
40431
40432         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
40433         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
40434         named alias for __attribute__((__unused__)).
40435         * lib/chown.c: Update client.
40436         * lib/fchmodat.c: Likewise.
40437         * lib/fts.c: Likewise.
40438         * lib/getdate.y: Likewise.
40439         * lib/getgroups.c: Likewise.
40440         * lib/getopt.c: Likewise.
40441         * lib/getugroups.c: Likewise.
40442         * lib/mkdir.c: Likewise.
40443         * lib/mkfifo.c: Likewise.
40444         * lib/mkfifoat.c: Likewise.
40445         * lib/mknod.c: Likewise.
40446         * lib/mknodat.c: Likewise.
40447         * lib/readlink.c: Likewise.
40448         * lib/se-context.in.h: Likewise.
40449         * lib/se-selinux.in.h: Likewise.
40450         * lib/sockets.c: Likewise.
40451         * lib/symlink.c: Likewise.
40452         * lib/symlinkat.c: Likewise.
40453         * lib/unicodeio.c: Likewise.
40454         * lib/unistr.h: Likewise.
40455         * tests/test-areadlink.c: Likewise.
40456         * tests/test-areadlinkat.c: Likewise.
40457         * tests/test-filenamecat.c: Likewise.
40458         * tests/test-fseeko.c: Likewise.
40459         * tests/test-ftello.c: Likewise.
40460         * tests/test-getdate.c: Likewise.
40461         * tests/test-getgroups.c: Likewise.
40462         * tests/test-gethostname.c: Likewise.
40463         * tests/test-quotearg.c: Likewise.
40464         * tests/test-version-etc.c: Likewise.
40465         * tests/test-xalloc-die.c: Likewise.
40466         * tests/test-xfprintf-posix.c: Likewise.
40467         * tests/test-xprintf-posix.c: Likewise.
40468         * tests/test-xvasprintf.c: Likewise.
40469
40470         tests: avoid compiler warnings
40471         * tests/test-fcntl.c (main): Delete unused parameters.
40472         * tests/test-freopen-safer.c (main): Likewise.
40473         * tests/test-xalloc-die.c (main): Mark unused parameters.
40474         * tests/test-fseeko.c (main): Likewise.
40475         * tests/test-ftello.c (main): Likewise.
40476         * tests/test-nanosleep.c (main): Avoid declaration warning.
40477         * tests/test-sleep.c (main): Likewise.
40478         * tests/test-unsetenv.c (main): Silence warning about string
40479         literal.
40480         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
40481
40482 2009-12-23  Bruno Haible  <bruno@clisp.org>
40483
40484         * tests/test-localename.c (test_locale_name): New function, extracted
40485         from main. Also test mixed situations.
40486         (test_locale_name_posix, test_locale_name_environ,
40487         test_locale_name_default): New functions.
40488         (main): Invoke them all.
40489         * modules/localename-tests (configure.ac): Test for newlocale.
40490
40491 2009-12-23  Bruno Haible  <bruno@clisp.org>
40492
40493         unistd: Ensure getcwd gets declared before being overridden.
40494         * lib/unistd.in.h: Conditionally include <io.h>.
40495
40496 2009-12-22  Bruno Haible  <bruno@clisp.org>
40497
40498         wchar: Diagnose broken combination of glibc and gcc versions and flags.
40499         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
40500         (gl_WCHAR_H): Invoke it.
40501         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
40502         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
40503         Reported by Karl Berry <karl@freefriends.org>.
40504
40505 2009-12-22  Eric Blake  <ebb9@byu.net>
40506
40507         math, unistd: avoid redundant includes
40508         * lib/math.in.h (isnan): No need to re-include <math.h>.
40509         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
40510
40511         getsubopt: work around cygwin bug
40512         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
40513         avoid conflicting with system getsubopt.
40514         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
40515         bug.
40516
40517         getopt: synchronize from glibc
40518         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
40519         parameter order.  Adjust all callers.
40520         (_getopt_internal_r, main): Adjust quoting in error messages.
40521         Drop considerations for outdated POSIX 1003.2 error message.
40522         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
40523         callers.
40524         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
40525
40526         test-getopt: test stderr behavior
40527         * modules/getopt-posix-tests (Depends-on): Add dup2.
40528         * tests/test-getopt.c (ASSERT): Avoid stderr.
40529         (main): Move stderr to a temporary file.
40530         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
40531         Instead, add parameter to inform caller if output occurred.
40532         (test_getopt): Adjust all existing tests to expect silence, and
40533         add new tests of leading ":".
40534         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
40535         glibc shortcomings with leading "-:" or "+:" in optstring.
40536         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
40537         Likewise.
40538         * doc/posix-functions/getopt.texi (getopt): Likewise.
40539
40540         test-getopt: enhance test
40541         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
40542         supports optind=0.
40543         * tests/test-getopt.c (OPTIND_MIN): Move...
40544         * tests/test-getopt.h (OPTIND_MIN): ...here.
40545         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
40546         Require that optind=0 works, since modern BSD supports it in
40547         addition to optreset, and since coreutils expects it.
40548         (test_getopt_long_only): New test.
40549         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
40550         glibc shortcomings with 'W;', and enforcement of optind=0.
40551         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
40552         Likewise.
40553
40554 2009-12-21  Bruno Haible  <bruno@clisp.org>
40555
40556         localename: Improvements for MacOS X and Cygwin.
40557         * lib/localename.h (gl_locale_name_environ): New declaration.
40558         * lib/localename.c (gl_locale_name_environ): New function, extracted from
40559         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
40560         (gl_locale_name_posix): Invoke it.
40561         (gl_locale_name_default): Add comments. Use Windows native API also on
40562         Cygwin.
40563
40564 2009-12-21  Bruno Haible  <bruno@clisp.org>
40565
40566         Update list of Win32 locale ids.
40567         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
40568         (LANG_SAMI): Renamed from LANG_SAAMI.
40569         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
40570         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
40571         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
40572         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
40573         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
40574         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
40575         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
40576         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
40577         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
40578         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
40579         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
40580         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
40581         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
40582         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
40583         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
40584         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
40585         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
40586         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
40587         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
40588         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
40589         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
40590         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
40591         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
40592         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
40593         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
40594         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
40595         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
40596         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
40597         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
40598         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
40599         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
40600         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
40601         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
40602         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
40603         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
40604         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
40605         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
40606         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
40607         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
40608         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
40609         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
40610         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
40611         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
40612         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
40613         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
40614         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
40615         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
40616         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
40617         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
40618         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
40619         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
40620         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
40621         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
40622         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
40623         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
40624         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
40625         Add more languages and countries for Sami, Sorbian. Add more countries
40626         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
40627         for Pashto. Change country for Syriac, Tswana.
40628
40629 2009-12-21  Eric Blake  <ebb9@byu.net>
40630
40631         test-utimens: avoid spurious failure
40632         * tests/test-chown.h (nap): Factor...
40633         * tests/nap.h: ...into new file.
40634         * tests/test-lchown.h (nap): Avoid duplication.
40635         * tests/test-utimens-common.h (nap): Use shared implementation,
40636         necessary on file systems with 1-second resolution.
40637         * modules/chown-tests (Files): Include new file.
40638         * modules/fdutimensat-tests (Files): Likewise.
40639         * modules/futimens-tests (Files): Likewise.
40640         * modules/lchown-tests (Files): Likewise.
40641         * modules/openat-tests (Files): Likewise.
40642         * modules/utimens-tests (Files): Likewise.
40643         * modules/utimensat-tests (Files): Likewise.
40644
40645 2009-12-19  Eric Blake  <ebb9@byu.net>
40646
40647         futimens, utimensat: work around Linux bug
40648         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
40649         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
40650         * lib/utimensat.c (rpl_utimensat): Work around it.
40651         * lib/futimens.c (rpl_futimens): Adjust comment.
40652
40653         utimens: work around Linux ctime bug
40654         * lib/utimens.c (detect_ctime_bug): New helper function.
40655         (update_timespec): Differentiate between workaround needed for
40656         this bug vs. what is needed for systems that lack utimensat.
40657         (fdutimens, lutimens): Work around bug.
40658
40659         utimens: check for ctime update
40660         * tests/test-utimens-common.h (check_ctime): Define.
40661         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
40662         * tests/test-futimens.h (test_futimens): Likewise.
40663         * tests/test-lutimens.h (test_lutimens): Likewise.
40664         * doc/posix-functions/futimens.texi (futimens): Document the bug.
40665         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40666
40667 2009-12-19  Bruno Haible  <bruno@clisp.org>
40668
40669         dprintf-posix: Check against memory leak fixed on 2009-12-15.
40670         * tests/test-dprintf-posix2.sh: New file.
40671         * tests/test-dprintf-posix2.c: New file.
40672         * modules/dprintf-posix-tests (Files): Add them.
40673         (configure.ac): Check for getrlimit and setrlimit.
40674         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
40675
40676 2009-12-19  Bruno Haible  <bruno@clisp.org>
40677
40678         fprintf-posix: Check against memory leak fixed on 2009-12-15.
40679         * tests/test-fprintf-posix3.sh: New file.
40680         * tests/test-fprintf-posix3.c: New file.
40681         * modules/fprintf-posix-tests (Files): Add them.
40682         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
40683
40684 2009-12-19  Eric Blake  <ebb9@byu.net>
40685
40686         dirfd: fix prototype
40687         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
40688         * lib/dirfd.c (dirfd): Likewise.
40689
40690         canonicalize: reduce memory usage
40691         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
40692         allocation to size.
40693         Reported by Solar Designer <solar@openwall.com>.
40694
40695 2009-12-19  Bruno Haible  <bruno@clisp.org>
40696
40697         New module attribute 'Applicability'.
40698         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
40699         * gnulib-tool: New option --extract-applicability.
40700         (func_usage): Document it.
40701         (sed_extract_prog): Recognize it.
40702         (func_get_applicability): New function.
40703         (func_import): Generalize handling of 'link-warning' module.
40704         * modules/link-warning (Applicability): New section.
40705         * modules/arg-nonnull (Applicability): New section.
40706         Repoted by Simon Josefsson <simon@josefsson.org>.
40707
40708 2009-12-19  Bruno Haible  <bruno@clisp.org>
40709
40710         fflush: tweak
40711         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
40712         * lib/fseeko.c (rpl_fseeko): Likewise.
40713
40714 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
40715
40716         * lib/gl_list.h: Fix typo in comment.
40717
40718 2009-12-16  Eric Blake  <ebb9@byu.net>
40719
40720         fcntl: use to simplify other modules
40721         * modules/cloexec (Depends-on): Add fcntl.
40722         * modules/fchdir (Depends-on): Likewise.
40723         * modules/fd-safer-flag (Depends-on): Likewise.
40724         * modules/unistd-safer (Depends-on): Likewise.
40725         * modules/dup3 (configure.ac): Set module indicator.
40726         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
40727         missing.
40728         * lib/fchdir.c (_gl_register_dup): Fix comment.
40729         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
40730         * lib/dup-safer.c (dup_safer): Likewise.
40731         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
40732         * lib/dup3.c (dup3): Likewise.
40733         * tests/test-fchdir.c (main): Enhance test.
40734         Fixes a dup_cloexec bug reported by Ondřej Vašík.
40735
40736         fcntl: port portions of fcntl to mingw
40737         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
40738         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
40739         replacement for mingw.
40740         * modules/fcntl (Description): Update.
40741         (Depends-on): Add dup2.
40742         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
40743         * modules/fcntl-h (Makefile.am): Substitute it.
40744         * lib/fcntl.in.h (fcntl): Update declaration.
40745         (F_DUPFD, F_GETFD): New macros, when needed.
40746         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40747         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
40748         * tests/test-fcntl.c (check_flags, main): Enhance test for items
40749         we now guarantee.
40750
40751         fcntl: work around cygwin bug in F_DUPFD
40752         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
40753         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
40754         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
40755         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
40756         * doc/posix-functions/fcntl.texi (fcntl): Document it.
40757
40758         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
40759         * modules/fcntl (Files): List new files.
40760         (configure.ac): Run a test.
40761         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
40762         * lib/fcntl.c (rpl_fcntl): Likewise.
40763         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
40764         (gl_FCNTL_H): Always replace fcntl.h.
40765         * modules/fcntl-h (Makefile.am): Substitute witnesses.
40766         * lib/fcntl.in.h (fcntl): Declare replacement.
40767         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
40768         needed, plus a witness.
40769         * doc/posix-functions/fcntl.texi (fcntl): Document this.
40770         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
40771         * tests/test-fcntl.c: New file.
40772         * modules/fcntl-tests: Likewise.
40773
40774         binary-io: avoid potential compilation warning
40775         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
40776         directives.
40777
40778         fflush: avoid compilation error on NetBSD
40779         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
40780         between off_t and fpos_t, since the latter is sometimes a struct.
40781         * lib/fseeko.c (rpl_fseeko): Likewise.
40782         Reported by Alexander Nasonov <alnsn@yandex.ru>.
40783
40784 2009-12-15  Eric Blake  <ebb9@byu.net>
40785
40786         fcntl-h, stdio, sys_ioctl: fix declarations
40787         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
40788         function must not take arguments.
40789         * lib/sys_ioctl.in.h (ioctl): Likewise.
40790         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
40791         (open): Add a link warning.
40792
40793 2009-12-15  Jim Meyering  <meyering@redhat.com>
40794
40795         areadlink, areadlink-with-size: relax license to LGPLv2+
40796         * modules/areadlink (License): Relax to LGPLv2+.
40797         * modules/areadlink-with-size (License): Likewise.
40798
40799 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
40800             Bruno Haible  <bruno@clisp.org>
40801
40802         *printf: Fix memory leak.
40803         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
40804         * lib/vfprintf.c (vfprintf): Likewise.
40805         * lib/dprintf.c (dprintf): Likewise.
40806         * lib/vdprintf.c (vdprintf): Likewise.
40807
40808 2009-12-14  Eric Blake  <ebb9@byu.net>
40809
40810         accept4: adjust module dependencies
40811         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
40812
40813         utimens: one more try at avoiding compiler warning
40814         * lib/utimens.c (lutimens): Lower scope of result.
40815
40816 2009-12-13  Bruno Haible  <bruno@clisp.org>
40817
40818         Move the malloc checking from module 'list' to new module 'xlist'.
40819         * modules/xlist: New file.
40820         * lib/gl_xlist.h: New file.
40821         * lib/gl_xlist.c: New file.
40822         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
40823         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
40824         gl_list_add_last, gl_list_add_before, gl_list_add_after,
40825         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
40826         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
40827         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
40828         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
40829         gl_sortedlist_nx_add): New declarations.
40830         (struct gl_list_implementation): Rename and change methods accordingly.
40831         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
40832         (gl_list_nx_create): Renamed from gl_list_create.
40833         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
40834         (gl_list_nx_set_at): Renamed from gl_list_set_at.
40835         (gl_list_nx_add_first): Renamed from gl_list_add_first.
40836         (gl_list_nx_add_last): Renamed from gl_list_add_last.
40837         (gl_list_nx_add_before): Renamed from gl_list_add_before.
40838         (gl_list_nx_add_after): Renamed from gl_list_add_after.
40839         (gl_list_nx_add_at): Renamed from gl_list_add_at.
40840         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
40841         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
40842         gl_list_create_empty.
40843         (gl_list_nx_create): Renamed from gl_list_create.
40844         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
40845         (gl_list_nx_set_at): Renamed from gl_list_set_at.
40846         (gl_list_nx_add_first): Renamed from gl_list_add_first.
40847         (gl_list_nx_add_last): Renamed from gl_list_add_last.
40848         (gl_list_nx_add_before): Renamed from gl_list_add_before.
40849         (gl_list_nx_add_after): Renamed from gl_list_add_after.
40850         (gl_list_nx_add_at): Renamed from gl_list_add_at.
40851         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
40852         * lib/gl_array_list.c: Don't include xalloc.h.
40853         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
40854         NULL upon out-of-memory.
40855         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
40856         out-of-memory.
40857         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
40858         Change return type to 'int'.
40859         (gl_array_nx_set_at): Renamed from gl_array_set_at.
40860         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
40861         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
40862         upon out-of-memory.
40863         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
40864         upon out-of-memory.
40865         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
40866         upon out-of-memory.
40867         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
40868         upon out-of-memory.
40869         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
40870         out-of-memory.
40871         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
40872         Update.
40873         (gl_array_list_implementation): Update.
40874         * lib/gl_carray_list.c: Don't include xalloc.h.
40875         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
40876         Return NULL upon out-of-memory.
40877         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
40878         out-of-memory.
40879         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
40880         Change return type to 'int'.
40881         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
40882         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
40883         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
40884         upon out-of-memory.
40885         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
40886         upon out-of-memory.
40887         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
40888         out-of-memory.
40889         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
40890         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
40891         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
40892         Update.
40893         (gl_carray_list_implementation): Update.
40894         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
40895         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
40896         gl_linked_create_empty. Return NULL upon out-of-memory.
40897         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
40898         out-of-memory.
40899         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
40900         Change return type to 'int'. Return -1 upon out-of-memory.
40901         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
40902         out-of-memory.
40903         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
40904         upon out-of-memory.
40905         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
40906         upon out-of-memory.
40907         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
40908         NULL upon out-of-memory.
40909         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
40910         upon out-of-memory.
40911         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
40912         out-of-memory.
40913         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
40914         Update.
40915         * lib/gl_linked_list.c: Don't include xalloc.h.
40916         (gl_linked_list_implementation): Update.
40917         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
40918         (add_to_bucket): Change return type to 'int'.
40919         (gl_linkedhash_list_implementation): Update.
40920         * lib/gl_anytree_list1.h (free_subtree): New function.
40921         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
40922         gl_tree_create_empty. Return NULL upon out-of-memory.
40923         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
40924         Change return type to 'int'. Return -1 upon out-of-memory.
40925         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
40926         out-of-memory.
40927         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
40928         (gl_tree_remove_node): New function, moved here from
40929         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
40930         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
40931         Update.
40932         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
40933         malloc, not xmalloc. Return NULL upon out-of-memory.
40934         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
40935         out-of-memory.
40936         (gl_tree_remove_node_from_tree): New function, extracted from
40937         gl_tree_remove_node.
40938         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
40939         upon out-of-memory.
40940         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
40941         out-of-memory.
40942         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
40943         upon out-of-memory.
40944         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
40945         upon out-of-memory.
40946         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
40947         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
40948         not xmalloc. Return NULL upon out-of-memory.
40949         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
40950         out-of-memory.
40951         (gl_tree_remove_node_from_tree): New function, extracted from
40952         gl_tree_remove_node.
40953         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
40954         upon out-of-memory.
40955         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
40956         out-of-memory.
40957         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
40958         upon out-of-memory.
40959         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
40960         upon out-of-memory.
40961         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
40962         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
40963         gl_anytree_list1.h before gl_anyavltree_list2.h.
40964         (gl_avltree_list_implementation): Update.
40965         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
40966         gl_anytree_list1.h before gl_anyavltree_list2.h.
40967         (gl_rbtree_list_implementation): Update.
40968         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
40969         Change return type to 'int'. Return -1 upon out-of-memory. Use
40970         __builtin_expect.
40971         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
40972         (gl_avltreehash_list_implementation): Update.
40973         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
40974         (gl_rbtreehash_list_implementation): Update.
40975         * modules/array-list (Depends-on): Remove xalloc.
40976         * modules/carray-list (Depends-on): Likewise.
40977         * modules/linked-list (Depends-on): Likewise.
40978         * modules/linkedhash-list (Depends-on): Likewise.
40979         * modules/avltree-list (Depends-on): Likewise.
40980         * modules/rbtree-list (Depends-on): Likewise.
40981         * modules/avltreehash-list (Depends-on): Likewise.
40982         * modules/rbtreehash-list (Depends-on): Likewise.
40983
40984         * modules/xsublist: New file.
40985         * lib/gl_xsublist.h: New file.
40986         * lib/gl_xsublist.c: New file.
40987         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
40988         (gl_sublist_nx_create): New declaration.
40989         * lib/gl_sublist.c: Don't include xalloc.h.
40990         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
40991         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
40992         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
40993         Change return type to 'int'. Return -1 upon out-of-memory.
40994         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
40995         upon out-of-memory.
40996         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
40997         NULL upon out-of-memory.
40998         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
40999         upon out-of-memory.
41000         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
41001         NULL upon out-of-memory.
41002         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
41003         NULL upon out-of-memory.
41004         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
41005         upon out-of-memory.
41006         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
41007         (gl_sublist_list_implementation): Update.
41008         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
41009         upon out-of-memory.
41010         * modules/sublist (Depends-on): Remove xalloc.
41011
41012         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
41013         * tests/test-carray_list.c: Likewise.
41014         * tests/test-linked_list.c: Likewise.
41015         * tests/test-linkedhash_list.c: Likewise.
41016         * tests/test-avltree_list.c: Likewise.
41017         * tests/test-rbtree_list.c: Likewise.
41018         * tests/test-avltreehash_list.c: Likewise.
41019         * tests/test-rbtreehash_list.c: Likewise.
41020         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
41021         * modules/carray-list-tests (Makefile.am): Likewise.
41022         * modules/linked-list-tests (Makefile.am): Likewise.
41023         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41024         * modules/avltree-list-tests (Makefile.am): Likewise.
41025         * modules/rbtree-list-tests (Makefile.am): Likewise.
41026         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41027         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41028
41029         * NEWS: Mention the changes.
41030
41031         * lib/clean-temp.c: Include gl_xlist.h.
41032         * modules/clean-temp (Depends-on): Add xlist.
41033
41034         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
41035         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
41036
41037         * tests/test-array_oset.c: Include gl_xlist.h.
41038         * modules/array-oset-tests (Depends-on): Add xlist.
41039
41040         Reported by José E. Marchesi <jemarch@gnu.org>.
41041
41042 2009-12-13  Bruno Haible  <bruno@clisp.org>
41043
41044         Move the malloc checking from module 'oset' to new module 'xoset'.
41045         * modules/xoset: New file.
41046         * lib/gl_xoset.h: New file.
41047         * lib/gl_xoset.c: New file.
41048         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
41049         declarations.
41050         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
41051         (struct gl_oset_implementation): Rename and change methods accordingly.
41052         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
41053         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41054         'int'. Mark as __warn_unused_result__.
41055         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
41056         gl_oset_create_empty.
41057         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41058         'int'.
41059         * lib/gl_array_oset.c: Don't include xalloc.h.
41060         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
41061         malloc, not xmalloc.
41062         (grow): Change return type to 'int'. Don't call xalloc_die.
41063         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
41064         to 'int'.
41065         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
41066         'int'.
41067         (gl_array_oset_implementation): Update.
41068         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
41069         gl_tree_create_empty.
41070         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
41071         'int'.
41072         * lib/gl_avltree_oset.c: Don't include xalloc.h.
41073         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41074         xmalloc.
41075         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41076         not xmalloc.
41077         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41078         xmalloc.
41079         (gl_avltree_oset_implementation): Update.
41080         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
41081         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41082         xmalloc.
41083         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41084         not xmalloc.
41085         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41086         xmalloc.
41087         (gl_rbtree_oset_implementation): Update.
41088         * modules/array-oset (Depends-on): Remove xalloc.
41089         * modules/avltree-oset (Depends-on): Likewise.
41090         * modules/rbtree-oset (Depends-on): Likewise.
41091         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
41092         * tests/test-avltree_oset.c: Likewise.
41093         * tests/test-rbtree_oset.c: Likewise.
41094         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
41095         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
41096         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41097         * NEWS: Mention the change.
41098
41099 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
41100
41101         maint.mk: allow a project to override release-prep commands
41102         * top/maint.mk (alpha, beta, stable): Move release-preparatory
41103         commands into a new rule.
41104         (release-prep): New rule.
41105         (release-prep-hook): New overridable variable.
41106
41107 2009-12-13  Bruno Haible  <bruno@clisp.org>
41108
41109         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
41110
41111 2009-12-13  Jim Meyering  <meyering@redhat.com>
41112
41113         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
41114         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
41115
41116 2009-12-12  Bruno Haible  <bruno@clisp.org>
41117
41118         duplocale: Tweak.
41119         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
41120
41121 2009-12-12  Karl Berry  <karl@gnu.org>
41122
41123         * config/srclist.txt (strtoll.c): tab changes, no more sync.
41124
41125 2009-12-12  Bruno Haible  <bruno@clisp.org>
41126
41127         * m4/po.m4: Undo incorrect untabification.
41128
41129 2009-12-12  Bruno Haible  <bruno@clisp.org>
41130
41131         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
41132         * modules/c-strtod (Depends-on): Add locale.
41133         * modules/c-strtold (Depends-on): Likewise.
41134
41135 2009-12-12  Bruno Haible  <bruno@clisp.org>
41136
41137         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
41138
41139 2009-12-11  Eric Blake  <ebb9@byu.net>
41140
41141         setenv: relax requirement in light of POSIX ruling
41142         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
41143         not NULL.
41144         * tests/test-setenv.c (main): Relax test.
41145         * tests/test-unsetenv.c (main): Likewise.
41146         * doc/posix-functions/setenv.texi (setenv): Document this.
41147         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
41148
41149 2009-12-11  Bruno Haible  <bruno@clisp.org>
41150
41151         New module 'fd-safer-flag'.
41152         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
41153         * lib/dup-safer.c (dup_safer_flag): Remove function.
41154         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
41155         * lib/fd-safer.c (fd_safer_flag): Remove function.
41156         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
41157         * modules/cloexec (configure.ac): Drop indicator macro.
41158         * modules/fd-safer-flag: New file.
41159         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
41160         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
41161         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
41162
41163 2009-12-11  Bruno Haible  <bruno@clisp.org>
41164
41165         Tests for module 'nl_langinfo'.
41166         * modules/nl_langinfo-tests: New file.
41167         * tests/test-nl_langinfo.sh: New file.
41168         * tests/test-nl_langinfo.c: New file.
41169
41170         New module 'nl_langinfo'.
41171         * lib/nl_langinfo.c: New file.
41172         * m4/nl_langinfo.m4: New file.
41173         * modules/nl_langinfo: New file.
41174         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
41175
41176 2009-12-11  Bruno Haible  <bruno@clisp.org>
41177
41178         Tests for module 'langinfo'.
41179         * modules/langinfo-tests: New file.
41180         * tests/test-langinfo.c: New file.
41181
41182         New module 'langinfo'.
41183         * lib/langinfo.in.h: New file.
41184         * m4/langinfo_h.m4: New file.
41185         * modules/langinfo: New file.
41186         * doc/posix-headers/langinfo.texi: Mention the new module.
41187
41188 2009-12-11  Bruno Haible  <bruno@clisp.org>
41189
41190         * lib/config.charset: Untabify.
41191
41192 2009-12-11  Bruno Haible  <bruno@clisp.org>
41193
41194         * modules/unistd-safer (configure.ac): Drop indicator macro.
41195
41196 2009-12-11  Bruno Haible  <bruno@clisp.org>
41197
41198         Move pipe2-safer code to its own file.
41199         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
41200         * lib/pipe-safer.c (pipe2_safer): Remove function.
41201         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
41202         (Makefile.am): Add it to lib_SOURCES.
41203
41204 2009-12-10  Bruno Haible  <bruno@clisp.org>
41205
41206         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
41207
41208 2009-12-10  Bruno Haible  <bruno@clisp.org>
41209
41210         Declare which arguments expect non-NULL values, for GCC and clang.
41211         * build-aux/arg-nonnull.h: New file.
41212         * modules/arg-nonnull: New file.
41213         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
41214         (inet_ntop, inet_pton): Use it.
41215         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
41216         (closedir, dirfd, opendir, scandir, alphasort): Use it.
41217         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
41218         (open, openat): Use it.
41219         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
41220         (fnmatch): Use it.
41221         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
41222         (getopt, getopt_long, getopt_long_only): Use it.
41223         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
41224         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
41225         Use it.
41226         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
41227         (iconv_open): Use it.
41228         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
41229         (strtoimax, strtoumax): Use it.
41230         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
41231         (duplocale): Use it.
41232         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
41233         (frexp, frexpl): Use it.
41234         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
41235         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
41236         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
41237         (tsearch, tfind, tdelete, twalk): Use it.
41238         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
41239         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
41240         sigpending): Use it.
41241         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
41242         (posix_spawn, posix_spawnp, posix_spawnattr_init,
41243         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
41244         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
41245         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
41246         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
41247         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
41248         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
41249         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
41250         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
41251         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
41252         Use it.
41253         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
41254         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
41255         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
41256         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
41257         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
41258         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
41259         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
41260         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
41261         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
41262         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
41263         strtoull, unsetenv): Use it.
41264         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
41265         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
41266         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
41267         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
41268         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
41269         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
41270         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
41271         (strcasecmp, strncasecmp): Use it.
41272         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
41273         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
41274         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
41275         rpl_setsockopt): Use it.
41276         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
41277         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
41278         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
41279         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
41280         (gettimeofday): Use it.
41281         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
41282         (times): Use it.
41283         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
41284         (uname): Use it.
41285         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
41286         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
41287         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
41288         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
41289         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
41290         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
41291         unlinkat, write): Use it.
41292         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
41293         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
41294         * lib/argv-iter.h: Include arg-nonnull.h.
41295         (_ATTRIBUTE_NONNULL_): Remove macro.
41296         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
41297         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
41298         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
41299         optimization.
41300         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
41301         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
41302         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
41303         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
41304         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
41305         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
41306         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
41307         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
41308         * modules/arpa_inet (Depends-on): Add arg-nonnull.
41309         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
41310         * modules/dirent (Depends-on): Add arg-nonnull.
41311         (Makefile.am): Insert arg-nonnull.h into dirent.h.
41312         * modules/fcntl-h (Depends-on): Add arg-nonnull.
41313         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
41314         * modules/fnmatch (Depends-on): Add arg-nonnull.
41315         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
41316         * modules/getopt-posix (Depends-on): Add arg-nonnull.
41317         (Makefile.am): Insert arg-nonnull.h into getopt.h.
41318         * modules/glob (Depends-on): Add arg-nonnull.
41319         (Makefile.am): Insert arg-nonnull.h into glob.h.
41320         * modules/iconv_open (Depends-on): Add arg-nonnull.
41321         (Makefile.am): Insert arg-nonnull.h into iconv.h.
41322         * modules/inttypes (Depends-on): Add arg-nonnull.
41323         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
41324         * modules/locale (Depends-on): Add arg-nonnull.
41325         (Makefile.am): Insert arg-nonnull.h into locale.h.
41326         * modules/math (Depends-on): Add arg-nonnull.
41327         (Makefile.am): Insert arg-nonnull.h into math.h.
41328         * modules/netdb (Depends-on): Add arg-nonnull.
41329         (Makefile.am): Insert arg-nonnull.h into netdb.h.
41330         * modules/search (Depends-on): Add arg-nonnull.
41331         (Makefile.am): Insert arg-nonnull.h into search.h.
41332         * modules/signal (Depends-on): Add arg-nonnull.
41333         (Makefile.am): Insert arg-nonnull.h into signal.h.
41334         * modules/spawn (Depends-on): Add arg-nonnull.
41335         (Makefile.am): Insert arg-nonnull.h into spawn.h.
41336         * modules/stdio (Depends-on): Add arg-nonnull.
41337         (Makefile.am): Insert arg-nonnull.h into stdio.h.
41338         * modules/stdlib (Depends-on): Add arg-nonnull.
41339         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
41340         * modules/string (Depends-on): Add arg-nonnull.
41341         (Makefile.am): Insert arg-nonnull.h into string.h.
41342         * modules/strings (Depends-on): Add arg-nonnull.
41343         (Makefile.am): Insert arg-nonnull.h into strings.h.
41344         * modules/sys_socket (Depends-on): Add arg-nonnull.
41345         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
41346         * modules/sys_stat (Depends-on): Add arg-nonnull.
41347         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
41348         * modules/sys_time (Depends-on): Add arg-nonnull.
41349         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
41350         * modules/sys_times (Depends-on): Add arg-nonnull.
41351         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
41352         * modules/sys_utsname (Depends-on): Add arg-nonnull.
41353         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
41354         * modules/time (Depends-on): Add arg-nonnull.
41355         (Makefile.am): Insert arg-nonnull.h into time.h.
41356         * modules/unistd (Depends-on): Add arg-nonnull.
41357         (Makefile.am): Insert arg-nonnull.h into unistd.h.
41358         * modules/wchar (Depends-on): Add arg-nonnull.
41359         (Makefile.am): Insert arg-nonnull.h into wchar.h.
41360         * modules/argv-iter (Depends-on): Add arg-nonnull.
41361         * tests/test-canonicalize.c (null_ptr): New function.
41362         (main): Use it.
41363         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
41364         (main): Use it.
41365         * tests/test-memmem.c (null_ptr): New function.
41366         (main): Use it.
41367         Reported by Jim Meyering.
41368
41369 2009-12-10  Bruno Haible  <bruno@clisp.org>
41370
41371         Use spaces for indentation, not tabs.
41372         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
41373         * m4/*.m4: Untabify.
41374         * build-aux/*.h: Untabify.
41375         * tests/**/*.[hc]: Untabify.
41376         * README: New section "Indent with spaces, not TABs", based on
41377         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
41378         * NEWS: Mention the change.
41379
41380 2009-12-10  Bruno Haible  <bruno@clisp.org>
41381
41382         pty test: Fix link error.
41383         * modules/pty-tests (Makefile.am): Add the default LDADD value to
41384         test_pty_LDADD.
41385
41386 2009-12-07  Simon Josefsson  <simon@josefsson.org>
41387
41388         * modules/pty: New file.
41389         * modules/pty-tests: New file.
41390         * m4/pty.m4: New file.
41391         * tests/test-pty.c: New file.
41392         * doc/glibc-headers/pty.texi: Modified.
41393         * doc/glibc-functions/forkpty.texi: Modified.
41394         * doc/glibc-functions/openpty.texi: Modified.
41395
41396 2009-12-10  Bruno Haible  <bruno@clisp.org>
41397
41398         Avoid syntax error in C++ mode.
41399         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
41400
41401 2009-12-10  Bruno Haible  <bruno@clisp.org>
41402
41403         Use sed with option -e.
41404         * gnulib-tool (func_version, func_emit_copyright_notice,
41405         func_emit_initmacro_end, func_import, func_create_testdir): Pass
41406         option -e to sed.
41407         * modules/link-warning (Makefile.am): Likewise.
41408
41409 2009-12-10  Jim Meyering  <meyering@redhat.com>
41410
41411         mgetgroups: do not write bytes beyond end of malloc'd buffer
41412         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
41413         username, we call getgroups with a one-element-shorter buffer,
41414         but still told it the length was original, max_n_groups.
41415
41416 2009-12-09  Eric Blake  <ebb9@byu.net>
41417
41418         cloexec: relax license
41419         * modules/cloexec (Maintainer): Add myself.
41420         (License): Use LGPL, not GPL.
41421
41422         link-warning: optimize generation
41423         * modules/link-warning (Makefile.am): Reduce process usage.
41424
41425 2009-12-09  Bruno Haible  <bruno@clisp.org>
41426
41427         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
41428         workaround was added on 2009-11-17.
41429
41430 2009-12-09  Jim Meyering  <meyering@redhat.com>
41431             Bruno Haible  <bruno@clisp.org>
41432
41433         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
41434         * modules/link-warning (Makefile.am): Make the comment-removing sed
41435         command more robust in the face of bootstrap-prepended comment lines.
41436
41437 2009-12-09  Bruno Haible  <bruno@clisp.org>
41438
41439         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
41440         most one group.
41441
41442 2009-12-09  Simon Josefsson <simon@josefsson.org>
41443             Bruno Haible  <bruno@clisp.org>
41444
41445         * build-aux/link-warning.h: Add copyright notice.
41446         * modules/link-warning (Makefile.am): Generate link-warning.h from
41447         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
41448         * NEWS: Mention change in link-warning module.
41449         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
41450         * modules/dirent (Makefile.am): Add dependency to dirent.h.
41451         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
41452         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
41453         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
41454         * modules/math (Makefile.am): Add dependency to math.h.
41455         * modules/search (Makefile.am): Add dependency to search.h.
41456         * modules/signal (Makefile.am): Add dependency to signal.h.
41457         * modules/spawn (Makefile.am): Add dependency to spawn.h.
41458         * modules/stdio (Makefile.am): Add dependency to stdio.h.
41459         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
41460         * modules/string (Makefile.am): Add dependency to string.h.
41461         * modules/strings (Makefile.am): Add dependency to strings.h.
41462         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
41463         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
41464         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
41465         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
41466         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
41467         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
41468         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
41469         * modules/unistd (Makefile.am): Add dependency to unistd.h.
41470         * modules/wchar (Makefile.am): Add dependency to wchar.h.
41471
41472 2009-12-09  Bruno Haible  <bruno@clisp.org>
41473
41474         fchdir: Optimize away rpl_fstat when possible.
41475         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
41476         REPLACE_OPEN_DIRECTORY.
41477         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
41478
41479 2009-12-09  Bruno Haible  <bruno@clisp.org>
41480
41481         * lib/fchdir.c: Update comment.
41482
41483 2009-12-09  Bruno Haible  <bruno@clisp.org>
41484
41485         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
41486
41487 2009-12-08  Eric Blake  <ebb9@byu.net>
41488
41489         fchdir: avoid memory leak on re-registration.
41490         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
41491
41492 2009-12-08  Jim Meyering  <meyering@redhat.com>
41493
41494         init.sh: avoid Solaris 10 /bin/sh portability problem
41495         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
41496         sourced script:
41497           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
41498           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
41499           bar
41500         tests/init.sh relied on that, accepting a --set-path=DIR argument,
41501         and two tests used that idiom.
41502         * tests/init.sh: Update suggested usage comments.
41503         (path_prepend_): New function, to be used in place
41504         of the --src-path=DIR option.
41505         (setup_): Move PATH-prepending code into path_prepend_.
41506         * tests/test-pread.sh: Adapt to new usage.
41507         * tests/test-xalloc-die.sh: Likewise.
41508
41509 2009-12-08  Simon Josefsson  <simon@josefsson.org>
41510
41511         * doc/gnulib.texi (Glibc pty.h): Add.
41512         * doc/glibc-functions/forkpty.texi: Add.
41513         * doc/glibc-functions/openpty.texi: Add.
41514         Suggested by Bruno Haible.
41515
41516 2009-12-08  Eric Blake  <ebb9@byu.net>
41517
41518         fchdir: fix logic bugs
41519         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
41520         * tests/test-fchdir.c (main): Enhance test.
41521         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
41522         is in use.
41523
41524         dup2: fix logic bugs
41525         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
41526         REPLACE_DUP2 to decide when rpl_dup2 is needed.
41527         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
41528         exists.
41529         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
41530
41531 2009-12-07  Eric Blake  <ebb9@byu.net>
41532
41533         unlink: fix m4 detection
41534         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
41535
41536         unistd-safer: add unit test
41537         * modules/unistd-safer-tests: New file.
41538         * tests/test-dup-safer.c: Likewise.
41539         * tests/test-cloexec.c (setmode): Avoid compiler warning.
41540         * tests/test-dup2.c (setmode): Likewise.
41541         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
41542
41543         cloexec: preserve text vs. binary across dup_cloexec
41544         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
41545         mode.
41546         * modules/dup2-tests (Depends-on): Add binary-io.
41547         * modules/cloexec-tests (Depends-on): Likewise.
41548         * tests/test-dup2.c (setmode, is_mode): New helpers.
41549         (main): Add tests that translation mode is preserved.
41550         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
41551         Reported by Bruno Haible.
41552
41553         mgetgroups: reduce duplicate listings
41554         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
41555         resulting array.
41556         * tests/test-chown.h (test_chown): Simplify client.
41557         * tests/test-lchown.h (test_lchown): Likewise.
41558
41559 2009-12-06  Bruno Haible  <bruno@clisp.org>
41560
41561         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
41562         value.
41563
41564 2009-12-06  Bruno Haible  <bruno@clisp.org>
41565
41566         * lib/progname.c: Include stdio.h, stdlib.h.
41567         (set_program_name): Reject a NULL argument.
41568
41569 2009-12-05  Eric Blake  <ebb9@byu.net>
41570
41571         pipe2-safer: new module
41572         * modules/pipe2-safer: New file.
41573         * lib/unistd-safer.h (pipe2_safer): New prototype.
41574         * lib/unistd--.h (pipe2): New wrapper.
41575         * lib/pipe-safer.c (pipe2_safer): New function.
41576         * modules/pipe (Depends-on): Add pipe2-safer.
41577         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
41578
41579         stdlib-safer: preserve cloexec flag for mkostemp[s]
41580         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
41581         fd_safer_flag.
41582
41583         unistd-safer: allow preservation of cloexec status via flag
41584         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
41585         prototypes.
41586         * lib/dup-safer.c (dup_safer_flag): New function.
41587         * lib/fd-safer.c (fd_safer_flag): Likewise.
41588         * modules/cloexec (configure.ac): Set witness.
41589
41590         test-dup2: enhance test
41591         * modules/dup2-tests (Depends-on): Add cloexec.
41592         * tests/test-dup2.c (main): Enhance test.
41593
41594         cloexec: add dup_cloexec
41595         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
41596         header and comments.
41597         * lib/cloexec.c (set_cloexec_flag): Add comments.
41598         (dup_cloexec): New function, with mingw implementation borrowed
41599         from...
41600         * lib/w32spawn.h (dup_noinherit): ...here.
41601         * modules/execute (Depends-on): Add cloexec.
41602         * modules/pipe (Depends-on): Likewise.
41603         * modules/cloexec (Depends-on): Add dup2.
41604         * modules/cloexec-tests (Files): New file.
41605         * tests/test-cloexec.c: Likewise.
41606
41607         test-xalloc-die: fix test for mingw
41608         * modules/xalloc-die-tests (Files): Add tests/init.sh.
41609         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
41610         directory and .exe suffix off argv[0] output.
41611
41612         test-fseeko: fix test for mingw
41613         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
41614         than undefining fseek, so test will pass on mingw.
41615
41616 2009-12-05  Bruno Haible  <bruno@clisp.org>
41617
41618         * lib/progname.h (set_program_name): Clarify specification.
41619         * lib/progname.c (set_program_name): Likewise.
41620         Reported by Jim Meyering.
41621
41622 2009-12-05  Jim Meyering  <meyering@redhat.com>
41623
41624         maint.mk: backslash-escape parens in default regexp
41625         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
41626         backslash-escape the literal parentheses.
41627
41628         maint.mk: news-date-check: use grep -E
41629         * top/maint.mk (today): Define a Make variable, not a...
41630         (news-date-check): ...shell variable.
41631         (news-date-regexp): Use the Make variable.
41632         Use grep's -E option.  Change the failing diagnostic to mention
41633         the variable, $(news-date-regexp).
41634
41635 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
41636
41637         maintainer-makefile: allow customization of NEWS entry format
41638         * top/maint.mk (news-date-regexp): New overridable variable.
41639         (news-date-check): Use it.
41640
41641 2009-12-04  Eric Blake  <ebb9@byu.net>
41642
41643         mgetgroups: add xgetgroups, and avoid ENOSYS failures
41644         * lib/mgetgroups.h (xgetgroups): New prototype.
41645         * lib/mgetgroups.c (xgetgroups): New wrapper.
41646         (mgetgroups): Handle ENOSYS.
41647         * modules/mgetgroups (Depends-on): Add realloc.
41648         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
41649
41650         mgetgroups: avoid argument promotion issues with -1
41651         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
41652         for invalid gid_t.
41653         * tests/test-chown.h (getegid, test_chown): Likewise.
41654         * tests/test-lchown.h (getegid, test_lchown): Likewise.
41655
41656 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
41657
41658         exclude: Fix header file problems.
41659         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
41660
41661 2009-12-01  Jim Meyering  <meyering@redhat.com>
41662
41663         fts: fts_open: do not let an empty string cause immediate failure
41664         This is required in support of GNU rm, for which the command
41665         "rm A '' B" must process and remove both A and B, in spite of
41666         the empty string argument.
41667         * lib/fts.c (fts_open): Do not let the presence of an empty string
41668         cause fts_open to fail immediately.  Most fts-using tools must be
41669         able to process all arguments, in order, and can be expected to
41670         diagnose such arguments themselves.
41671
41672 2009-11-30  Eric Blake  <ebb9@byu.net>
41673
41674         utimens: fix compilation error
41675         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
41676         Declare variable at right scope.
41677
41678 2009-11-29  Jim Meyering  <meyering@redhat.com>
41679
41680         bootstrap: handle perl-5.11's changed --version output
41681         * build-aux/bootstrap (get_version): Handle perl separately,
41682         since perl-5.11's --version output is different.
41683
41684 2009-11-28  Jim Meyering  <meyering@redhat.com>
41685
41686         userspec: depend on the inttostr module, too
41687         * modules/userspec (Depends-on): Add inttostr.
41688
41689         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
41690         * lib/userspec.c (parse_with_separator): Do not accept a user ID
41691         number of MAXUID when it evaluates to (uid_t) -1.
41692         Likewise for group ID.  Reported by Matt McCutchen in
41693         <http://savannah.gnu.org/bugs/?28113>
41694
41695         userspec: reformat to use spaces, not TABs
41696         * lib/userspec.c: Expand TABs to spaces.
41697         Add Emacs' "indent-tabs-mode: nil" hint.
41698
41699 2009-11-27  Eric Blake  <ebb9@byu.net>
41700
41701         getopt-gnu: flush out another BSD bug
41702         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
41703         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
41704         flush out BSD bug.
41705         * tests/test-getopt.h (test_getopt): End lists with NULL.
41706         * tests/test-getopt_long.h (test_getopt_long): Likewise.
41707         (test_getopt_long_posix): Enhance test.
41708         * modules/getopt-posix-tests (Depends-on): Add stdbool.
41709         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
41710         getopt-gnu.
41711         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41712         Likewise.
41713
41714 2009-11-27  Simon Josefsson  <simon@josefsson.org>
41715
41716         * modules/idpriv-droptemp-tests (Notice): Fix text.
41717
41718 2009-11-27  Jim Meyering  <meyering@redhat.com>
41719
41720         test-xalloc-die: avoid spurious failure due to libtool argv difference
41721         In a libtool-enabled project, this test would fail due to a difference
41722         in the emitted program name, e.g.,
41723         -test-xalloc-die: memory exhausted
41724         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
41725         Use program to avoid that.
41726         * modules/xalloc-die-tests (Depends-on): Add progname.
41727         * tests/test-xalloc-die.c: Include progname.h".
41728         (program_name): Remove decl.
41729         (main): Call set_program_name.
41730         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
41731
41732 2009-11-26  Richard Jones  <rjones@redhat.com>
41733
41734         w32sock: leave win32 error in place.
41735         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
41736
41737 2009-11-26  Eric Blake  <ebb9@byu.net>
41738
41739         init.sh: suggest to use skip_ and fail_ functions in comments
41740         * tests/init.sh: Add a sentence.
41741
41742 2009-11-25  Bruno Haible  <bruno@clisp.org>
41743
41744         init.sh: add documentation in comments
41745         * tests/init.sh: Add some developer and user documentation.
41746
41747 2009-11-26  Jim Meyering  <meyering@redhat.com>
41748
41749         init.sh: accommodate even those who specify bogus srcdir manually
41750         * tests/init.sh: Normally, srcdir is guaranteed by automake and
41751         configure-time tests to be sanitized, so that there is no need to
41752         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
41753         (with no double quotes) suffices.  However, since tests may be
41754         invoked manually, and since you may explicitly set srcdir to the
41755         name of a directory containing spaces, do quote its uses here.
41756         * tests/test-pread.sh: Likewise.
41757         Suggested by Bruno Haible.
41758
41759         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
41760         * tests/test-pread.sh: Write no data into the pipe, because
41761         test-pread actually reads none.  This avoids a diagnostic,
41762         "bash: echo: write error: Broken pipe", that arises in the unusual
41763         event something is ignoring SIGPIPE, and might be interpreted
41764         as some sort of failure.  Reported by Bruno Haible.
41765
41766 2009-11-25  Jim Meyering  <meyering@redhat.com>
41767
41768         test-pread: cover failure with ESPIPE and EINVAL
41769         * tests/test-pread.c (main): Test for failure, too.
41770         * tests/test-pread.sh: Invoke with stdin on a pipe.
41771         Suggested by Eric Blake.
41772
41773         pread: improvement and fix
41774         * modules/pread (Depends-on): Depend on lseek, for portability to
41775         e.g., mingw.  Suggested by Eric Blake.
41776         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
41777
41778         unistd.in.h: correct declaration of pread
41779         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
41780         Reported by Richard W.M. Jones.
41781
41782         test-pread.sh: distribute the test script
41783         * modules/pread-tests (Files): Include test-pread.sh.
41784
41785         test-pread.sh: clean up
41786         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
41787         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
41788         That is unnecessary, since it's always ".".
41789         Suggestion from Eric Blake.
41790
41791         test-pread.sh: make executable
41792         * tests/test-pread.sh: Set executable bit.
41793         Reported by Eric Blake.
41794
41795         correct typo in test-pread.sh
41796         * tests/test-pread.sh: Add #! line.
41797
41798         test pread
41799         * tests/test-pread.c: New file.
41800         * tests/test-pread.sh: Likewise.
41801         * modules/pread-tests: Likewise.
41802
41803         pread: new module
41804         * modules/pread: New file.
41805         * lib/unistd.in.h (pread): Define/declare.
41806         * lib/pread.c (pread): New file.
41807         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
41808         * modules/unistd (Makefile.am): Substitute witnesses.
41809         * doc/posix-functions/pread.texi (pread): Update.
41810         * MODULES.html.sh: Add pread.
41811
41812 2009-11-25  Jim Meyering  <meyering@redhat.com>
41813
41814         tests/init.sh: new file to be used via most *.sh tests
41815         * tests/init.sh: New file.
41816
41817 2009-11-25  Eric Blake  <ebb9@byu.net>
41818
41819         utimens: work around older Linux failure with symlinks
41820         * lib/utimens.c (lutimensat_works_really): New variable.
41821         (fdutimens, lutimens): Use it to manage kernels that support
41822         nanosecond times on files, but not on symlinks.
41823         Reported by Ondřej Vašík.
41824
41825         utimes: fix configure grammar
41826         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
41827
41828 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
41829
41830         regex: Fix fastmap for multibyte character ranges.
41831         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
41832         characters when a multibyte character range is included.
41833
41834 2009-11-22  Andy Wingo  <wingo@pobox.com>
41835
41836         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
41837         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
41838
41839 2009-11-24  Bruno Haible  <bruno@clisp.org>
41840
41841         doc: Most *_l functions exist in MacOS X 10.5.
41842         * doc/posix-functions/duplocale.texi: Update platforms list.
41843         * doc/posix-functions/freelocale.texi: Likewise.
41844         * doc/posix-functions/newlocale.texi: Likewise.
41845         * doc/posix-functions/uselocale.texi: Likewise.
41846         * doc/posix-functions/isalnum_l.texi: Likewise.
41847         * doc/posix-functions/isalpha_l.texi: Likewise.
41848         * doc/posix-functions/isblank_l.texi: Likewise.
41849         * doc/posix-functions/iscntrl_l.texi: Likewise.
41850         * doc/posix-functions/isdigit_l.texi: Likewise.
41851         * doc/posix-functions/isgraph_l.texi: Likewise.
41852         * doc/posix-functions/islower_l.texi: Likewise.
41853         * doc/posix-functions/isprint_l.texi: Likewise.
41854         * doc/posix-functions/ispunct_l.texi: Likewise.
41855         * doc/posix-functions/isspace_l.texi: Likewise.
41856         * doc/posix-functions/isupper_l.texi: Likewise.
41857         * doc/posix-functions/iswalnum_l.texi: Likewise.
41858         * doc/posix-functions/iswalpha_l.texi: Likewise.
41859         * doc/posix-functions/iswblank_l.texi: Likewise.
41860         * doc/posix-functions/iswcntrl_l.texi: Likewise.
41861         * doc/posix-functions/iswctype_l.texi: Likewise.
41862         * doc/posix-functions/iswdigit_l.texi: Likewise.
41863         * doc/posix-functions/iswgraph_l.texi: Likewise.
41864         * doc/posix-functions/iswlower_l.texi: Likewise.
41865         * doc/posix-functions/iswprint_l.texi: Likewise.
41866         * doc/posix-functions/iswpunct_l.texi: Likewise.
41867         * doc/posix-functions/iswspace_l.texi: Likewise.
41868         * doc/posix-functions/iswupper_l.texi: Likewise.
41869         * doc/posix-functions/iswxdigit_l.texi: Likewise.
41870         * doc/posix-functions/isxdigit_l.texi: Likewise.
41871         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
41872         * doc/posix-functions/strcasecmp_l.texi: Likewise.
41873         * doc/posix-functions/strcoll_l.texi: Likewise.
41874         * doc/posix-functions/strfmon_l.texi: Likewise.
41875         * doc/posix-functions/strftime_l.texi: Likewise.
41876         * doc/posix-functions/strncasecmp_l.texi: Likewise.
41877         * doc/posix-functions/strxfrm_l.texi: Likewise.
41878         * doc/posix-functions/tolower_l.texi: Likewise.
41879         * doc/posix-functions/toupper_l.texi: Likewise.
41880         * doc/posix-functions/towctrans_l.texi: Likewise.
41881         * doc/posix-functions/towlower_l.texi: Likewise.
41882         * doc/posix-functions/towupper_l.texi: Likewise.
41883         * doc/posix-functions/wcscoll_l.texi: Likewise.
41884         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
41885         * doc/posix-functions/wctrans_l.texi: Likewise.
41886         * doc/posix-functions/wctype_l.texi: Likewise.
41887         * doc/glibc-functions/strptime_l.texi: Likewise.
41888         * doc/glibc-functions/strtod_l.texi: Likewise.
41889         * doc/glibc-functions/strtof_l.texi: Likewise.
41890         * doc/glibc-functions/strtol_l.texi: Likewise.
41891         * doc/glibc-functions/strtold_l.texi: Likewise.
41892         * doc/glibc-functions/strtoll_l.texi: Likewise.
41893         * doc/glibc-functions/strtoul_l.texi: Likewise.
41894         * doc/glibc-functions/strtoull_l.texi: Likewise.
41895         * doc/glibc-functions/wcsftime_l.texi: Likewise.
41896         * doc/glibc-functions/wcstod_l.texi: Likewise.
41897         * doc/glibc-functions/wcstof_l.texi: Likewise.
41898         * doc/glibc-functions/wcstol_l.texi: Likewise.
41899         * doc/glibc-functions/wcstold_l.texi: Likewise.
41900         * doc/glibc-functions/wcstoll_l.texi: Likewise.
41901         * doc/glibc-functions/wcstoul_l.texi: Likewise.
41902         * doc/glibc-functions/wcstoull_l.texi: Likewise.
41903
41904 2009-11-24  Bruno Haible  <bruno@clisp.org>
41905
41906         duplocale: Fix logic bug.
41907         * lib/duplocale.c: Don't include <langinfo.h>.
41908         (_NL_LOCALE_NAME): Remove macro.
41909         (rpl_duplocale): Use setlocale instead of nl_langinfo.
41910         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
41911
41912 2009-11-23  Jim Meyering  <meyering@redhat.com>
41913
41914         test-update-copyright: don't hard-code /usr/bin/perl
41915         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
41916         perl to print the current year.  Gilles Espinasse reported that
41917         the replaced use of perl was hard-coded as /usr/bin/perl.
41918
41919 2009-11-23  Bruno Haible  <bruno@clisp.org>
41920
41921         duplocale: Add support for glibc 2.3.x.
41922         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
41923
41924 2009-11-22  Bruno Haible  <bruno@clisp.org>
41925
41926         vasnprintf: Tiny optimization.
41927         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
41928         MacOS X.
41929
41930 2009-11-22  Bruno Haible  <bruno@clisp.org>
41931
41932         Tests for module 'duplocale'.
41933         * modules/duplocale-tests: New file.
41934         * tests/test-duplocale.c: New file.
41935
41936         New module 'duplocale'.
41937         * m4/duplocale.m4: New file.
41938         * lib/locale.in.h (duplocale): New declaration.
41939         * lib/duplocale.c: New file.
41940         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
41941         gl_LOCALE_H_DEFAULTS): New macros.
41942         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
41943         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
41944         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
41945         REPLACE_DUPLOCALE.
41946         * modules/duplocale: New file.
41947         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
41948
41949 2009-11-22  Bruno Haible  <bruno@clisp.org>
41950
41951         * modules/locale-tests (configure.ac): Test for newlocale function.
41952         * tests/test-locale.c: When the system has extended locale functions,
41953         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
41954
41955         locale: Make locale_t available when possible.
41956         * lib/locale.in.h: Include <xlocale.h> when it exists.
41957         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
41958         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
41959         * modules/locale (Depends-on): Add extensions.
41960         (Makefile.am): Also substitute HAVE_XLOCALE_H.
41961         * doc/posix-headers/locale.texi: Document the problem with locale_t.
41962
41963 2009-11-22  Bruno Haible  <bruno@clisp.org>
41964
41965         Add comments.
41966         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
41967         invocation.
41968         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
41969         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
41970         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
41971
41972 2009-11-22  Bruno Haible  <bruno@clisp.org>
41973
41974         error: account for the possibility of freopen (stdout).
41975         * lib/error.c: Include <unistd.h>.
41976         (flush_stdout): New function, extracted from error and error_at_line.
41977         Determine stdout's fd dynamically.
41978         (error, error_at_line): Invoke flush_stdout.
41979         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
41980         * modules/error (Depends-on): Add unistd.
41981
41982 2009-11-22  Bruno Haible  <bruno@clisp.org>
41983
41984         diffseq: Add comment.
41985         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
41986
41987 2009-11-22  Jim Meyering  <meyering@redhat.com>
41988
41989         c-stack: avoid defining an unused static function
41990         * lib/c-stack.c (find_stack_direction): Do not define this function
41991         when it will not be used.
41992
41993         diffseq: avoid spurious gcc warnings
41994         * lib/diffseq.h (IF_LINT2): Define.
41995         (compareseq): Use it to initialize two members of "part".
41996         This avoids two used-uninitialized warnings.
41997
41998 2009-11-21  Jim Meyering  <meyering@redhat.com>
41999
42000         c-stack: avoid "ignoring return value of `write'" warning
42001         * lib/c-stack.c: Include "ignore-value.h".
42002         (die): Explicitly ignore each write return value.
42003         * modules/c-stack (Depends-on): Add ignore-value.
42004
42005 2009-11-21  Bruno Haible  <bruno@clisp.org>
42006
42007         diffseq: reduce scope of variable 'best'.
42008         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
42009         variable, earlier used for two different purposes.
42010
42011 2009-11-21  Jim Meyering  <meyering@redhat.com>
42012
42013         diffseq: remove useless assignment to "best"
42014         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
42015         assignment.  At that point "best" is already guaranteed to be zero.
42016
42017 2009-11-20  Eric Blake  <ebb9@byu.net>
42018
42019         build: mention ftp redirector in release announcements
42020         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
42021         values that used to come from cfg.mk; mention FTP redirect URL.
42022         * build-aux/announce-gen: Mention the mirror list.
42023         Suggested by Karl Berry.
42024
42025         nanosleep: improve port to mingw
42026         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
42027         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
42028         LIB_NANOSLEEP, but only when needed.
42029         * modules/select (Link): Document LIBSOCKET.
42030         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
42031         enough.
42032
42033         nanosleep: work around cygwin bug
42034         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
42035         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
42036         bug.
42037         (getnow): Delete, not needed.
42038         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
42039         LIB_CLOCK_GETTIME.
42040         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
42041         clock-time, gettime.
42042         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
42043         bug.
42044         * modules/nanosleep-tests: New test.
42045         * tests/test-nanosleep.c: New file.
42046
42047         sleep: work around cygwin bug
42048         * lib/sleep.c (rpl_sleep): Work around the bug.
42049         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
42050         (gl_PREREQ_SLEEP): Delete unused macro.
42051         * modules/sleep (Depends-on): Add verify.
42052         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42053         * modules/unistd (Makefile.am): Substitute witness.
42054         * lib/unistd.in.h (sleep): Update prototype.
42055         * doc/posix-functions/sleep.texi (sleep): Document the bug.
42056         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
42057         * modules/sleep-tests (Depends-on): Check for alarm.
42058
42059 2009-11-20  Jim Meyering  <meyering@redhat.com>
42060
42061         maint.mk: improve sc_prohibit_magic_number_exit
42062         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
42063         so it does not match uses like System.exit(1).
42064         Add comments showing how to correct all offenders.
42065
42066 2009-11-19  Eric Blake  <ebb9@byu.net>
42067
42068         xalloc-die-tests: add missing library
42069         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
42070
42071         test-xvasprintf: silence compiler warnings
42072         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
42073         empty string from gcc.
42074
42075 2009-11-19  Jim Meyering  <meyering@redhat.com>
42076
42077         xfreopen: new module, from coreutils
42078         * modules/xfreopen: New module.
42079         * lib/xfreopen.c: New file.
42080         * lib/xfreopen.h: New file.
42081         * MODULES.html.sh (File stream based Input/Output"): Add it.
42082
42083 2009-11-19  Eric Blake  <ebb9@byu.net>
42084
42085         manywarnings: depend on warnings
42086         * modules/manywarnings (Depends-on): Add warnings.
42087
42088         build: avoid compiler warnings
42089         * lib/select.c (rpl_select): Delete unused variable.
42090         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
42091
42092 2009-11-18  Eric Blake  <ebb9@byu.net>
42093
42094         tests: avoid false negative with --with-packager
42095         * tests/test-version-etc.sh: Discard packager information.
42096         * tests/test-argp-version-etc-1.sh: Likewise.
42097         Reported by Mike Frysinger.
42098
42099         utimens: fix regression on Solaris
42100         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
42101         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
42102         can only change fd timestamps via futimesat.  Instead, use an
42103         additional witness macro to avoid BSD bug.
42104         Reported by Jim Meyering.
42105
42106 2009-11-17  Eric Blake  <ebb9@byu.net>
42107
42108         usleep: use it to simplify tests
42109         * modules/stat-time-tests (Depends-on): Add usleep.
42110         (configure.ac): Drop usleep check.
42111         * modules/chown-tests (Depends-on, configure.ac): Likewise.
42112         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
42113         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
42114         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
42115         * modules/openat-tests (Depends-on, configure.ac): Likewise.
42116         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
42117         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
42118         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
42119         Likewise.
42120         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
42121         * tests/test-lchown.h (nap): Likewise.
42122         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
42123         * tests/test-stat-time.c (nap): Likewise.
42124         * tests/test-utimens-common.h (nap): Update comments.
42125
42126         usleep: new module
42127         * modules/usleep: New file.
42128         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
42129         * lib/usleep.c (usleep): Likewise.
42130         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42131         * modules/unistd (Makefile.am): Substitute witnesses.
42132         * lib/unistd.in.h (usleep): Add declaration.
42133         * doc/pastposix-functions/usleep.texi (usleep): Document this.
42134         * MODULES.html.sh (Date and time): Likewise.
42135         * modules/usleep-tests (Depends-on): New test.
42136         * tests/test-usleep.c: New file.
42137
42138         chown: work around OpenBSD bug
42139         * lib/chown.c (rpl_chown): Work around the bug.
42140         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
42141         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
42142         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
42143         * modules/chown (Depends-on): Add stdbool.
42144         * modules/lchown (Depends-on): Likewise.
42145         * doc/posix-functions/chown.texi (chown): Document the bug.
42146         * doc/posix-functions/lchown.texi (lchown): Likewise.
42147         * tests/test-lchown.h (test_chown): Relax test.
42148
42149         mkstemp: avoid conflict with C++ keyword template
42150         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
42151         * lib/mkostemp.c (mkostemp): Likewise.
42152         * lib/mkostemps.c (mkostemps): Likewise.
42153         * lib/mkstemp.c (mkstemp): Likewise.
42154         * lib/mkstemps.c (mkstemps): Likewise.
42155
42156         xalloc-die-tests: optimize
42157         * tests/test-xalloc-die.sh: Reduce number of processes.
42158
42159 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42160
42161         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
42162         patch from ludo@gnu.org (Ludovic Courtès).
42163
42164 2009-11-17  Jim Meyering  <meyering@redhat.com>
42165
42166         version-etc: use proper license string
42167         * modules/version-etc (License): Use LGPL, not LGPLv3+.
42168         * modules/version-etc-fsf: Likewise.
42169
42170 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42171
42172         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
42173         printed to stdout.  Deal with EOL differences.
42174
42175 2009-11-17  Eric Blake  <ebb9@byu.net>
42176
42177         unsetenv: work around Solaris bug
42178         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
42179         * lib/unsetenv.c (rpl_unsetenv): Work around it.
42180         Reported by Jim Meyering.
42181
42182         vasnprintf: avoid compiler warnings
42183         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
42184         variables.
42185         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
42186
42187 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42188
42189         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
42190         settings since xalloc-die is no longer the self test,
42191         xalloc-die.sh is.
42192
42193 2009-11-17  Jim Meyering  <meyering@redhat.com>
42194
42195         test-xalloc-die.sh: make the code agree with the commit log
42196         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
42197         at the end, just in case you happen to have a test-xalloc-die
42198         program in some other PATH directory.
42199
42200         test-xalloc-die.sh: fix a portability bug
42201         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
42202         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
42203         Otherwise, argv[0] (as often seen in diagnostics) would be too
42204         system-dependent, sometimes with, and sometimes without the leading "./".
42205
42206         version-etc-fsf: relax license to LGPLv3+
42207         * modules/version-etc-fsf (License): Relax license.
42208
42209 2009-11-16  Eric Blake  <ebb9@byu.net>
42210
42211         xalloc-die-tests: avoid printing null pointer
42212         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
42213         shell script.
42214         * tests/test-xalloc-die.c (program_name): Declare.
42215         * tests/test-xalloc-die.sh (tmpfiles): New file.
42216
42217         setenv, unsetenv: work around various bugs
42218         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
42219         (setenv) [HAVE_SETENV]: Work around bugs.
42220         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
42221         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
42222         for bugs.
42223         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
42224         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
42225         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
42226         * modules/stdlib (Makefile.am): Update substitutions.
42227         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
42228         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
42229         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42230         * modules/setenv-tests: New test.
42231         * modules/unsetenv-tests: Likewise.
42232         * tests/test-setenv.c: New file.
42233         * tests/test-unsetenv.c: Likewise.
42234
42235 2009-11-16  Jim Meyering  <meyering@redhat.com>
42236
42237         version-etc: relax license to LGPLv3+
42238         * modules/version-etc (License): Relax license.
42239
42240         better AC_REQUIRE expanded-before-required-warning avoidance
42241         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
42242         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
42243         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
42244         which is no longer needed.
42245
42246 2009-11-16  Eric Blake  <ebb9@byu.net>
42247
42248         test-freading: clean up temporary file
42249         * tests/test-freading.c (main): Remove file on success, and use
42250         ASSERT more liberally.
42251         Reported by Jim Meyering.
42252
42253 2009-11-16  Jim Meyering  <meyering@redhat.com>
42254
42255         avoid new AC_REQUIRE expanded-before-required warnings
42256         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
42257         merely using it.
42258         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
42259         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
42260
42261 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42262
42263         * tests/test-xalloc-die.c: New file.
42264         * modules/xalloc-die-tests: New file.
42265         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
42266         XFAIL_TESTS so it can be appended by modules.
42267
42268 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42269
42270         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
42271         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
42272
42273 2009-11-14  Eric Blake  <ebb9@byu.net>
42274
42275         fnmatch: avoid compiler warning
42276         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
42277         to silence compiler warning about mismatch signedness in ?:.
42278         Reported by Robert Millan.
42279
42280         intprops: add double-inclusion guard
42281         * lib/intprops.h: Allow idempotent includes.
42282         Suggested by Bruce Korb.
42283
42284         openat: detect Solaris fchownat bug
42285         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
42286         penalizing glibc chownat when only lchownat is broken.
42287         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
42288         trailing slash bugs.
42289         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
42290         * modules/openat-tests (Files): Include more files.
42291         (Depends-on): Add mgetgroups, sleep, stat-time.
42292         (configure.ac): Add additional checks.
42293         (Makefile.am): Build new test.
42294         * tests/test-fchownat.c: New file.
42295
42296         lchown: detect Solaris and FreeBSD bug
42297         * lib/lchown.c (rpl_lchown): Work around bug.
42298         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
42299         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42300         * modules/unistd (Makefile.am): Populate it.
42301         * lib/unistd.in.h (lchown): Update declaration.
42302         * doc/posix-functions/lchown.texi (lchown): Document the bug.
42303         * modules/lchown-tests: New file.
42304         * tests/test-lchown.h (test_lchown): Likewise.
42305         * tests/test-lchown.c (main): Likewise.
42306
42307         chown: detect Solaris and FreeBSD bug
42308         * lib/chown.c (rpl_chown): Work around bug.
42309         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
42310         (gl_PREREQ_CHOWN): Delete.
42311         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42312         * modules/unistd (Makefile.am): Populate it.
42313         * lib/unistd.in.h (chown): Update declaration.
42314         * lib/lchown.c (chown): Update client.
42315         * modules/lchown (Depends-on): Add lstat.
42316         * doc/posix-functions/chown.texi (chown): Document the bug.
42317         * doc/posix-functions/getgroups.texi (getgroups): Document
42318         getgroups pitfall.
42319         * modules/chown-tests: New file.
42320         * tests/test-chown.h (test_chown): Likewise.
42321         * tests/test-chown.c (main): Likewise.
42322
42323 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
42324
42325         gnulib-tool: correctly detect absence of m4 directories
42326         * gnulib-tool: Avoid extra newline on data passed to wc -l.
42327
42328 2009-11-14  Jim Meyering  <meyering@redhat.com>
42329
42330         maint.mk: Prohibit inclusion of "xalloc.h" without use.
42331         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
42332
42333 2009-11-14  John W. Eaton  <jwe@gnu.org>
42334
42335         strftime.h: wrap function declaration in extern "C" block
42336         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
42337
42338 2009-11-13  Eric Blake  <ebb9@byu.net>
42339
42340         getgroups: avoid compiler warning
42341         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
42342
42343         getgroups: work around FreeBSD bug
42344         * lib/getgroups.c (rpl_getgroups): Work around the bug.
42345         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
42346         * doc/posix-functions/getgroups.texi (getgroups): Document it.
42347         * tests/test-getgroups.c (main): Fix buffer overrun.
42348
42349         getgroups: avoid compilation failure
42350         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
42351         * modules/getgroups (Depends-on): Add stdint.
42352
42353 2009-11-13  Jim Meyering  <meyering@redhat.com>
42354
42355         test-getgroups: avoid compilation failure
42356         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
42357
42358 2009-11-13  Eric Blake  <ebb9@byu.net>
42359
42360         mgetgroups: new module, taken from coreutils
42361         * modules/mgetgroups: New file.
42362         * lib/mgetgroups.h: Likewise.
42363         * lib/mgetgroups.c (mgetgroups): Likewise.
42364         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
42365         * MODULES.html.sh (Users and groups): Mention it.
42366
42367         getgroups: don't expose GETGROUPS_T to user
42368         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
42369         an element at a time if GETGROUPS_T is wrong size.
42370         * lib/getugroups.h (getugroups): Change signature.
42371         * lib/unistd.in.h (getgroups): Likewise.
42372         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
42373         signature needs fixing.
42374         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
42375         AC_TYPE_GETGROUPS.
42376         * modules/group-member (Depends-on): Add getgroups.
42377         * lib/group-member.c (group_info, get_group_info): Use gid_t.
42378         (group_member): Rely on getgroups replacement.
42379         * lib/getugroups.c (getugroups): Use gid_t.
42380         * tests/test-getgroups.c (main): Likewise.
42381         * NEWS: Mention the signature change.
42382         * doc/posix-functions/getgroups.texi (getgroups): Mention the
42383         problem with signature.
42384         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
42385         GETGROUPS_T is still useful for setgroups.
42386
42387         getgroups, getugroups: provide stubs for mingw
42388         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
42389         * lib/getugroups.c (getugroups): Likewise.
42390         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
42391         function.  Modernize replacement scheme.
42392         (gl_PREREQ_GETGROUPS): Delete.
42393         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
42394         * modules/getgroups (configure.ac): Declare witness.
42395         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42396         * modules/unistd (Depends-on): Substitute witness.
42397         * lib/unistd.in.h (getgroups): Declare replacement.
42398
42399         getgroups: avoid calling exit
42400         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
42401         drop xalloc.
42402         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
42403         dependencies.
42404         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
42405         exiting, in the rare case of malloc failure.
42406
42407         getgroups: fix logic error
42408         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
42409         has more than 20 groups.
42410         * modules/getgroups-tests: New test.
42411         * tests/test-getgroups.c: New file.
42412
42413 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42414
42415         * tests/test-base64.c: Improve.
42416
42417 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42418
42419         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
42420         Blake <ebb9@byu.net>.
42421
42422 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42423
42424         * tests/test-xvasprintf.c: Add %s%s related checks.
42425
42426 2009-11-12  Eric Blake  <ebb9@byu.net>
42427
42428         version-etc: match standards.texi style
42429         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
42430         and use <> only for URLs.
42431
42432 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
42433
42434         fts: do not fail on a submount during traversal
42435         * lib/fts.c (fts_build): Read the stat info again after opening
42436         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
42437         Original report at http://bugzilla.redhat.com/501848.
42438
42439 2009-11-12  Jim Meyering  <meyering@redhat.com>
42440
42441         bootstrap: sync from coreutils
42442         * build-aux/bootstrap (bootstrap_epilogue): New function.
42443         Use git_modules_config in one more place.  This make bootstrap's
42444         --gnulib-srcdir option more useful for testing.
42445
42446         bootstrap: generalize autoheader check
42447         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
42448         AC_CONFIG_HEADERS.
42449
42450 2009-11-11  Eric Blake  <ebb9@byu.net>
42451
42452         mkfifoat: use new modules for Solaris and BSD bugs
42453         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
42454         * lib/mkfifoat.c (mknodat): Split...
42455         * lib/mknodat.c (mknodat): ...into new file.
42456         * modules/mkfifoat (Files): Ship new file.
42457         (Depends-on): Add mkfifo, mknod.
42458         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
42459         (Depends-on): Add symlink.
42460         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
42461         redundant with test_mkfifo.h.
42462         (do_mkfifoat, do_mknodat): New helpers.
42463
42464         mknod: new module
42465         * modules/mknod: New file.
42466         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
42467         * lib/mknod.c (mknod): Likewise.
42468         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
42469         defaults.
42470         * modules/sys_stat (Makefile.am): Substitute them.
42471         * lib/sys_stat.in.h (mknod): Declare replacement.
42472         * MODULES.html.sh (Support for systems lacking POSIX:2008):
42473         Document it.
42474         * doc/posix-functions/mknod.texi (mknod): Likewise.
42475         * modules/mknod-tests: New test.
42476         * tests/test-mknod.c: Likewise.
42477
42478         mkfifo: new module
42479         * modules/mkfifo: New file.
42480         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
42481         * lib/mkfifo.c (mkfifo): Likewise.
42482         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
42483         defaults.
42484         * modules/sys_stat (Makefile.am): Substitute them.
42485         * lib/sys_stat.in.h (mkfifo): Declare replacement.
42486         * MODULES.html.sh (Support for systems lacking POSIX:2008):
42487         Document it.
42488         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
42489         * modules/mkfifo-tests: New test.
42490         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
42491         from test-mkfifoat.c.
42492         * tests/test-mkfifo.c: New file.
42493
42494         readlink: detect FreeBSD bug
42495         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
42496         slash on symlink.
42497         * doc/posix-functions/readlink.texi (readlink): Document the bug.
42498         * tests/test-readlink.h (test_readlink): Enhance test.
42499
42500         symlink: detect FreeBSD bug
42501         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
42502         slash on symlink.
42503         * doc/posix-functions/symlink.texi (symlink): Document the bug.
42504         * tests/test-symlink.h (test_symlink): Enhance test.
42505
42506 2009-11-10  Eric Blake  <ebb9@byu.net>
42507
42508         link: detect FreeBSD bug
42509         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
42510         symlink.
42511         * doc/posix-functions/link.texi (link): Document the bug.
42512         * tests/test-link.h (test_link): Enhance test.
42513         * tests/test-linkat.c (main): Update caller.
42514
42515         unlink, remove: detect FreeBSD bug
42516         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
42517         slash on symlink.
42518         * doc/posix-functions/unlink.texi (unlink): Document the bug.
42519         * doc/posix-functions/remove.texi (remove): Likewise.
42520         * tests/test-unlink.h (test_unlink): Enhance test.
42521         * tests/test-remove.c (main): Likewise.
42522
42523 2009-11-09  Eric Blake  <ebb9@byu.net>
42524
42525         rename: detect FreeBSD bug
42526         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
42527         slash on symlink.
42528         * modules/renameat-tests (Depends-on): Add filenamecat.
42529         * tests/test-rename.h (test_rename): Allow one more errno.
42530         * tests/test-renameat.c (main): Likewise.
42531         * doc/posix-functions/rename.texi (rename): Document the bug.
42532
42533         open: detect FreeBSD bug
42534         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
42535         symlink.
42536         * doc/posix-functions/open.texi (open): Document the bug.
42537         * doc/posix-functions/utimes.texi (utimes): Likewise.
42538         * tests/test-open.h (test_open): Add parameters, and test symlink
42539         handling.
42540         * tests/test-open.c (main): Adjust caller.
42541         * tests/test-fcntl-safer.c (main): Likewise.
42542         * modules/open-tests (Depends-on): Add stdbool, symlink.
42543         * modules/fcntl-safer-tests (Depends-on): Likewise.
42544         * tests/test-openat.c (main): Add test-open tests.
42545
42546         stat: detect FreeBSD bug
42547         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
42548         symlink.
42549         * doc/posix-functions/stat.texi (stat): Document the bug.
42550         * tests/test-stat.h (test_stat_func): Add argument.
42551         * tests/test-stat.c (main): Adjust caller.
42552         * tests/test-fstatat.c (main): Likewise.
42553         * modules/stat-tests (Depends-on): Add stdbool, symlink.
42554         Reported by Jim Meyering.
42555
42556 2009-11-09  James Youngman  <jay@gnu.org>
42557
42558         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
42559         * lib/strftime.c: Correct placement of #include "ignore-value.h".
42560
42561 2009-11-08  Jim Meyering  <meyering@redhat.com>
42562
42563         utimens: remove invalid futimesat call
42564         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
42565         It used the file descriptor of the target file as the DIR_FD
42566         parameter and NULL as the file name.  That caused failure with
42567         errno == EFAULT on FreeBSD-8.0-rc2
42568
42569 2009-11-07  Eric Blake  <ebb9@byu.net>
42570
42571         fflush, freadseek: use fseeko, not fseek
42572         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
42573         (clear_ungetc_buffer): Avoid potential problems on large files.
42574         * lib/freadseek.c (freadseek): Likewise.
42575         * modules/freadseek (Depends-on): Add fseeko.
42576         * modules/fseek (configure.ac): Set a witness.
42577         * tests/test-fflush.c (main): Use fseeko.
42578         * tests/test-fpurge.c (fseek): Disable link warning.
42579         * tests/test-freadable.c (fseek): Likewise.
42580         * tests/test-freading.c (fseek): Likewise.
42581         * tests/test-fseeko.c (fseek): Likewise.
42582         * tests/test-ftell.c (fseek): Likewise.
42583         * tests/test-ftello.c (fseek): Likewise.
42584         * tests/test-fwritable.c (fseek): Likewise.
42585         * tests/test-fwriting.c (fseek): Likewise.
42586
42587 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42588
42589         * modules/memchr (Depends-on): Drop getpagesize dependency.
42590
42591 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42592
42593         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
42594         Reported by Ludovic Courtès.
42595         * build-aux/pmccabe2html: Improve example usage.
42596         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
42597
42598 2009-11-06  Jim Meyering  <meyering@redhat.com>
42599
42600         do-release-commit-and-tag: New module.
42601         Automate the release-commit and tag process.
42602         * build-aux/do-release-commit-and-tag: New script, from coreutils.
42603         * modules/do-release-commit-and-tag: New file.
42604         * MODULES.html.sh (Support for maintaining and releasing): Add it.
42605
42606 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42607
42608         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
42609         because test-select.c uses inet_pton.
42610
42611 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42612
42613         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
42614         GETADDRINFO_LIB.  Bump serial number.
42615         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
42616         Suggested by Eric Blake <ebb9@byu.net>.
42617
42618 2009-11-05  Eric Blake  <ebb9@byu.net>
42619
42620         strtod: detect darwin bug
42621         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
42622         Reported by Leo Davis.
42623
42624         freopen-safer: new module
42625         * modules/freopen-safer: New module.
42626         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
42627         * lib/freopen-safer.c (freopen_safer): New file.
42628         * lib/stdio-safer.h (freopen_safer): New declaration.
42629         * lib/stdio--.h (freopen): New override.
42630         * MODULES.html.sh (File stream based Input/Output): Mention it.
42631         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
42632         freopen-safer module.
42633         * doc/posix-functions/stderr.texi (stderr): Likewise.
42634         * doc/posix-functions/stdin.texi (stdin): Likewise.
42635         * doc/posix-functions/stdout.texi (stdout): Likewise.
42636         * modules/freopen-safer-tests: New test.
42637         * tests/test-reopen-safer.c: New file.
42638
42639 2009-11-05  Jim Meyering  <meyering@redhat.com>
42640
42641         maint.mk: Prohibit inclusion of "close-stream.h" without use.
42642         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
42643
42644 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42645
42646         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
42647
42648 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42649
42650         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
42651
42652 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42653
42654         Fix link error.
42655         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
42656         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42657
42658 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42659
42660         * tests/test-func.c: Also test value of __func__.
42661
42662 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42663
42664         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
42665         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
42666
42667 2009-11-05  Bruno Haible  <bruno@clisp.org>
42668
42669         Fix link error.
42670         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
42671         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42672         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
42673
42674 2009-11-05  Bruno Haible  <bruno@clisp.org>
42675
42676         Tests for module 'inet_pton'.
42677         * modules/inet_pton-tests: New file.
42678         * tests/test-inet_pton.c: New file.
42679
42680 2009-11-05  Bruno Haible  <bruno@clisp.org>
42681
42682         Tests for module 'inet_ntop'.
42683         * modules/inet_ntop-tests: New file.
42684         * tests/test-inet_ntop.c: New file.
42685
42686 2009-11-04  Eric Blake  <ebb9@byu.net>
42687
42688         stdlib-safer: wrap all mkstemp variants
42689         * modules/mkostemp (configure.ac): Set witness.
42690         * modules/mkostemps (configure.ac): Likewise.
42691         * modules/mkstemps (configure.ac): Likewise.
42692         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
42693         (mkstemps_safer): Wrap more functions.
42694         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
42695         wrapping.
42696         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
42697         (mkstemps_safer): Implement the wrappers.
42698
42699         mkstemps, mkostemps: new modules
42700         * modules/mkostemps: New module.
42701         * modules/mkstemps: Likewise.
42702         * lib/mkostemps.c (mkostemps): New file.
42703         * lib/mkstemps.c (mkstemps): Likewise.
42704         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
42705         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
42706         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
42707         * modules/stdlib (Makefile.am): Substitute them.
42708         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
42709         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
42710         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
42711         * doc/gnulib.texi (Glibc stdlib.h): Include them.
42712         * MODULES.html.sh (File system functions): Mention them.
42713
42714         tempname: resync from glibc
42715         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
42716         same values for __GT_FILE as glibc.  Abort even when assertions
42717         are disabled.
42718         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
42719         match its value otherwise.  Allow idempotent inclusion.
42720         * lib/mkdtemp.c (mkdtemp): Adjust caller.
42721         * lib/mkostemp.c (mkostemp): Likewise.
42722         * lib/mkstemp.c (mkstemp): Likewise.
42723         * lib/tmpfile.c (tmpfile): Likewise.
42724         * NEWS: Document this.
42725
42726         utimens: fix use of futimens on older Linux
42727         * lib/utimens.c (fdutimens): Use updated, rather than original,
42728         timespec to avoid bug in older Linux kernel.
42729         Reported by Simon Josefsson.
42730
42731 2009-11-04  Bruno Haible  <bruno@clisp.org>
42732
42733         Make num_processors more flexible and consistent.
42734         * lib/nproc.h (enum nproc_query): New type.
42735         (num_processors): Add a 'query' argument.
42736         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
42737         (num_processors): Add a 'query' argument. Test the value of the
42738         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
42739         mingw, count the number of CPUs available for the current process.
42740         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
42741         Check for sched_getaffinity and sched_getaffinity_np.
42742         * modules/nproc (Depends-on): Add c-ctype, extensions.
42743         * NEWS: Mention the change.
42744
42745 2009-11-03  Bruno Haible  <bruno@clisp.org>
42746
42747         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
42748
42749 2009-11-03  Jim Meyering  <meyering@redhat.com>
42750
42751         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
42752         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
42753         if it is defined.
42754
42755 2009-11-02  Eric Blake  <ebb9@byu.net>
42756
42757         mktime, timegm: share common declaration
42758         * lib/mktime-internal.h: New file.
42759         * lib/mktime.c: Use it rather than open-coding a declaration.
42760         * lib/timegm.c: Likewise.
42761         * modules/mktime (Files): Ship it.
42762         * modules/timegm (Files): Likewise.
42763         Suggested by Bruno Haible.
42764
42765         test-update-copyright: update test to match script changes
42766         * tests/test-update-copyright.sh: Avoid hard-coding perl
42767         location.  Don't update *.bak created by earlier runs.
42768
42769 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
42770             Simon Josefsson  <simon@josefsson.org>
42771             Bruno Haible  <bruno@clisp.org>
42772
42773         Fix link error on Solaris 8.
42774         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
42775         also in libnsl. Define also INET_PTON_LIB.
42776         * modules/inet_pton (Link): New section.
42777
42778 2009-11-02  Simon Josefsson  <simon@josefsson.org>
42779             Bruno Haible  <bruno@clisp.org>
42780
42781         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
42782         * modules/inet_ntop (Link): New section.
42783         Reported by Boyan Kasarov <bkasarov@gmail.com>.
42784
42785 2009-11-02  Eric Blake  <ebb9@byu.net>
42786
42787         maint: avoid compiler warnings in m4 macros
42788         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
42789         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
42790
42791 2009-11-02  Simon Josefsson  <simon@josefsson.org>
42792
42793         * m4/pmccabe2html.m4: Remove file.
42794         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
42795         function.  Change maintainer.
42796         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
42797         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
42798         Courtès).
42799
42800 2009-10-31  Eric Blake  <ebb9@byu.net>
42801
42802         fseeko: fix m4 regression
42803         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
42804         regression from 2009-10-27.
42805         Reported by Ralf Wildenhues.
42806
42807 2009-10-31  Jim Meyering  <meyering@redhat.com>
42808
42809         inttostr: aesthetics and improved (compile-time) safety
42810         Define inttype_is_signed rather than inttype_is_unsigned,
42811         since the sole use is via "#if inttype_is_signed".
42812         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
42813         inttype_is_unsigned.
42814         * lib/offtostr.c (inttype_is_signed): Likewise.
42815         * lib/uinttostr.c (inttype_is_signed): Likewise.
42816         * lib/umaxtostr.c (inttype_is_signed): Likewise.
42817         * lib/inttostr.c (inttostr): Use verify to cross-check the
42818         inttype_is_signed value and the signedness of the actual type.
42819         * modules/inttostr (Depends-on): Add verify.
42820
42821 2009-10-30  Eric Blake  <ebb9@byu.net>
42822
42823         build: avoid compiler warnings
42824         * lib/fchmodat.c (lchmod): Mark unused variables.
42825         * lib/getopt.c (_getopt_initialize): Likewise.
42826         * lib/mktime.c (__mktime_internal): Provide prototype.
42827         * lib/inttostr.c (inttostr): Avoid compiler warning even with
42828         older gcc that do not understand #pragma GCC diagnostic.
42829         * lib/uinttostr.c (inttype_is_unsigned): Define.
42830         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
42831
42832 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
42833
42834         stat: fix compilation on AIX
42835         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
42836         only see struct stat64.
42837
42838 2009-10-30  Eric Blake  <ebb9@byu.net>
42839
42840         exclude: make more robust
42841         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
42842         rather than masking a coding bug.
42843         Suggested by Bruno Haible.
42844
42845 2009-10-30  Jim Meyering  <meyering@redhat.com>
42846
42847         perl scripts: remove #!/usr/bin/perl in favor of more portable...
42848         Rather than putting #!/usr/bin/perl on the first line,
42849         start with a variant of what's recommended by "man perlrun" that
42850         invokes the first "perl" program from your shell's search path.
42851         * build-aux/gitlog-to-changelog: Replace #!... as above.
42852         Add a "Local Variables" perl mode setting.
42853         Prompted by a patch from Ludovic Courtès.
42854         Improved by Eric Blake.
42855         * build-aux/useless-if-before-free: Likewise.
42856         * build-aux/announce-gen: Likewise.
42857         * build-aux/update-copyright: Likewise.
42858
42859 2009-10-29  Eric Blake  <ebb9@byu.net>
42860
42861         filenamecat-lgpl: adjust clients
42862         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
42863         filenamecat.
42864         * modules/renameat (Depends-on): Likewise.
42865
42866         filenamecat: split into filenamecat-lgpl
42867         * modules/filenamecat-lgpl: New module.
42868         * modules/filenamecat (Files): Move library-safe files into
42869         filenamecat-lgpl.
42870         (Depends-on): Add filenamecat-lgpl.
42871         (configure.ac): Declare witness.
42872         * lib/filenamecat.h (file_name_concat): Only declare when using
42873         GPL module.
42874         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
42875         Move...
42876         * lib/filenamecat-lgpl.c: ...into new file.
42877         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
42878         (gl_FILE_NAME_CONCAT): Use it.
42879         * MODULES.html.sh (File system functions): Mention new module.
42880
42881         argp: avoid memory leak
42882         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
42883         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
42884         base_name, since the latter malloc()s and can call exit().
42885         Leak introduced 2006-07-03.
42886
42887         dirname-lgpl: adjust clients that don't need full dirname
42888         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
42889         * modules/filenamecat (Depends-on): Likewise.
42890         * modules/linkat (Depends-on): Likewise.
42891         * modules/mkancesdirs (Depends-on): Likewise.
42892         * modules/mkdir (Depends-on): Likewise.
42893         * modules/openat (Depends-on): Likewise.
42894         * modules/savewd (Depends-on): Likewise.
42895         * modules/rename (Depends-on): Likewise.
42896         (License): Relax license.
42897         * modules/mkdir-tests (Depends-on): Drop progname.
42898         (Makefile.am): Delete unneeded LDADD.
42899         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
42900
42901         dirname: split into dirname-lgpl
42902         * modules/dirname-lgpl: New module.
42903         * modules/dirname (Files): Move library-safe files into
42904         dirname-lgpl.
42905         (Depends-on): Add dirname-lgpl.
42906         (configure.ac): Declare witness.
42907         * modules/double-slash-root (License): Relax license.
42908         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
42909         module.
42910         * lib/dirname.c (dir_len, mdir_name): Move...
42911         * lib/dirname-lgpl.c: ...into new file.
42912         * lib/basename.c (last_component, base_len): Move...
42913         * lib/basename-lgpl.c: ...into new file.
42914         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
42915         (gl_DIRNAME): Use it.
42916         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
42917         Mention new module.
42918         * modules/dirname-tests (Depends-on): Add progname.
42919         * tests/test-dirname.c (program_name): Delete.
42920
42921         mkdir: make safe for libraries
42922         * modules/mkdir (Depends-on): Drop xalloc.
42923         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
42924         exit.
42925
42926         tests: avoid some compiler warnings
42927         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
42928         literals.
42929         * tests/test-memchr.c (main): Avoid type mismatch.
42930         * tests/test-arpa_inet.c (main): Avoid unused parameters.
42931         * tests/test-base64.c (main): Likewise.
42932         * tests/test-getdelim.c (main): Likewise.
42933         * tests/test-gethostname.c (main): Likewise.
42934         * tests/test-getline.c (main): Likewise.
42935         * tests/test-netinet_in.c (main): Likewise.
42936         * tests/test-select.c (open_server_socket, main): Likewise.
42937         * tests/test-select-stdin.c (main): Likewise.
42938         * tests/test-sockets.c (main): Likewise.
42939         * tests/test-strsignal.c (main): Likewise.
42940         * tests/test-sys_select.c (main): Likewise.
42941         * tests/test-sys_socket.c (main): Likewise.
42942         * tests/test-u64.c (main): Likewise.
42943         * tests/test-xfprintf-posix.c (main): Likewise.
42944         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
42945
42946         sockets: avoid compiler warning
42947         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
42948
42949         maint: detect usage(1) and other suspicious exits
42950         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
42951
42952 2009-10-29  Jim Meyering  <meyering@redhat.com>
42953
42954         timespec: long-to-int truncation could make timespec_cmp malfunction
42955         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
42956         a multiple of 2^32 nanoseconds as no difference.
42957
42958 2009-10-28  Jim Meyering  <meyering@redhat.com>
42959
42960         fprintftime: wrap macro code argument in "do {...} while(0)"
42961         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
42962         cpy macro must be a statement that can be followed by a semicolon.
42963         Now that the else clause contains a comment and is hence longer
42964         than one line, I require curly braces.  That in turn requires
42965         that we wrap this code block in the standard do...while(0).
42966
42967         fprintftime: remove stray semicolon from previous change
42968         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
42969
42970         fprintftime: avoid a warning about ignored fwrite return value
42971         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
42972         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
42973         that is unsafe.
42974         * modules/fprintftime (Depends-on): Add ignore-value.
42975
42976         exclude: avoid an unwarranted warning
42977         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
42978
42979 2009-10-27  Eric Blake  <ebb9@byu.net>
42980
42981         fseek: avoid compilation failure when fflush is replaced
42982         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
42983         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
42984         module is in use.
42985         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
42986         module is not in use; since REPLACE_FSEEK worked otherwise.
42987         (GNULIB_FTELLO): Likewise for ftell.
42988         Reported by Ian Beckwith and others.
42989
42990 2009-10-27  Bruno Haible  <bruno@clisp.org>
42991
42992         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
42993         Reported by Jim Meyering.
42994
42995 2009-10-27  Jim Meyering  <jim@meyering.net>
42996             Bruno Haible  <bruno@clisp.org>
42997
42998         Avoid warning despite dropping the return value of fwrite.
42999         * lib/unicodeio.c: Include ignore-value.h.
43000         (fwrite_success_callback): Explicitly ignore fwrite's return value.
43001         * modules/unicodeio (Depends-on): Add ignore-value.
43002
43003 2009-10-26  Eric Blake  <ebb9@byu.net>
43004
43005         areadlinkat: fix fallback path
43006         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
43007         pointer and zero.
43008
43009 2009-10-22  Pádraig Brady  <P@draigBrady.com>
43010
43011         Use a better IO block size for modern systems
43012         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
43013         * lib/md2.c: Likewise.
43014         * lib/md4.c: Likewise.
43015         * lib/md5.c: Likewise.
43016         * lib/sha1.c: Likewise.
43017         * lib/sha256.c: Likewise.
43018         * lib/sha512.c: Likewise.
43019
43020 2009-10-22  Eric Blake  <ebb9@byu.net>
43021
43022         tests: avoid several compiler warnings
43023         * tests/test-getcwd.c (main): Avoid buffer underflow.
43024         * tests/test-getdate.c (main): String literals are not safe with
43025         putenv, so use setenv.  Declare unused argument.
43026         * modules/getdate-tests (Depends-on): Add setenv.
43027         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
43028         problems with string literals in char *.
43029         * tests/test-hash.c (main): Avoid shadowing declaration.
43030         (insert_new): Treat string literals as char const *.
43031         * tests/test-getopt.h (test_getopt): Likewise.
43032         (getopt_loop): Alter types to minimize casting elsewhere.
43033         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
43034         (test_getopt_long_posix): Likewise.
43035         (do_getopt_long): Add wrapper to minimize casting.
43036         * tests/test-atexit.c (clear_temp_file): Use void.
43037         * tests/test-areadlink-with-size.c (main): Declare unused
43038         arguments.
43039         * tests/test-areadlink.c (main): Likewise.
43040         * tests/test-areadlinkat-with-size.c (main): Likewise.
43041         * tests/test-areadlinkat.c (main): Likewise.
43042         * tests/test-canonicalize-lgpl.c (main): Likewise.
43043         * tests/test-canonicalize.c (main): Likewise.
43044         * tests/test-dirent-safer.c (main): Likewise.
43045         * tests/test-dirname.c (main): Likewise.
43046         * tests/test-dup2.c (main): Likewise.
43047         * tests/test-fchdir.c (main): Likewise.
43048         * tests/test-fcntl-h.c (main): Likewise.
43049         * tests/test-fcntl-safer.c (main): Likewise.
43050         * tests/test-fdopendir.c (main): Likewise.
43051         * tests/test-fdutimensat.c (main): Likewise.
43052         * tests/test-fflush.c (main): Likewise.
43053         * tests/test-filenamecat.c (main): Likewise.
43054         * tests/test-filevercmp.c (main): Likewise.
43055         * tests/test-fopen-safer.c (main): Likewise.
43056         * tests/test-fopen.c (main): Likewise.
43057         * tests/test-fpending.c (main): Likewise.
43058         * tests/test-fpurge.c (main): Likewise.
43059         * tests/test-freading.c (main): Likewise.
43060         * tests/test-fstatat.c (main): Likewise.
43061         * tests/test-fsync.c (main): Likewise.
43062         * tests/test-futimens.c (main): Likewise.
43063         * tests/test-getndelim2.c (main): Likewise.
43064         * tests/test-gettimeofday.c (main): Likewise.
43065         * tests/test-getopt.c (main): Likewise.
43066         * tests/test-i-ring.c (main): Likewise.
43067         * tests/test-inttypes.c (main): Likewise.
43068         * tests/test-link.c (main): Likewise.
43069         * tests/test-lstat.c (main): Likewise.
43070         * tests/test-math.c (main): Likewise.
43071         * tests/test-md5.c (main): Likewise.
43072         * tests/test-memchr2.c (main): Likewise.
43073         * tests/test-memrchr.c (main): Likewise.
43074         * tests/test-mkdir.c (main): Likewise.
43075         * tests/test-mkdirat.c (main): Likewise.
43076         * tests/test-mkfifoat.c (main): Likewise.
43077         * tests/test-open.c (main): Likewise.
43078         * tests/test-openat-safer.c (main): Likewise.
43079         * tests/test-openat.c (main): Likewise.
43080         * tests/test-quotearg.c (main): Likewise.
43081         * tests/test-rawmemchr.c (main): Likewise.
43082         * tests/test-readlink.c (main): Likewise.
43083         * tests/test-remove.c (main): Likewise.
43084         * tests/test-rename.c (main): Likewise.
43085         * tests/test-renameat.c (main): Likewise.
43086         * tests/test-rmdir.c (main): Likewise.
43087         * tests/test-sha1.c (main): Likewise.
43088         * tests/test-signal.c (main): Likewise.
43089         * tests/test-sigaction.c (main): Likewise.
43090         * tests/test-stat.c (main): Likewise.
43091         * tests/test-stat-time.c (main): Likewise.
43092         * tests/test-stddef.c (main): Likewise.
43093         * tests/test-stdint.c (main): Likewise.
43094         * tests/test-stdio.c (main): Likewise.
43095         * tests/test-stdlib.c (main): Likewise.
43096         * tests/test-strchrnul.c (main): Likewise.
43097         * tests/test-strerror.c (main): Likewise.
43098         * tests/test-string.c (main): Likewise.
43099         * tests/test-strtod.c (main): Likewise.
43100         * tests/test-strverscmp.c (main): Likewise.
43101         * tests/test-symlink.c (main): Likewise.
43102         * tests/test-symlinkat.c (main): Likewise.
43103         * tests/test-sys_stat.c (main): Likewise.
43104         * tests/test-sys_time.c (main): Likewise.
43105         * tests/test-time.c (main): Likewise.
43106         * tests/test-unistd.c (main): Likewise.
43107         * tests/test-unlink.c (main): Likewise.
43108         * tests/test-unlinkat.c (main): Likewise.
43109         * tests/test-utimens.c (main): Likewise.
43110         * tests/test-utimensat.c (main): Likewise.
43111         * tests/test-version-etc.c (main): Likewise.
43112         * tests/test-wchar.c (main): Likewise.
43113         * tests/test-wctype.c (main): Likewise.
43114         * tests/test-xprintf-posix.c (main): Likewise.
43115         * tests/test-posixtm.c (main): Likewise.
43116         (STREQ): Delete unused macro.
43117         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
43118         shadowed variables.
43119         * tests/test-memchr.c (main): Likewise.
43120
43121 2009-10-21  Eric Blake  <ebb9@byu.net>
43122
43123         areadlinkat: avoid failure on older glibc
43124         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
43125         rather than mis-comparing 0 against FUNC_RESULT of char*.
43126
43127 2009-10-21  Bruno Haible  <bruno@clisp.org>
43128
43129         * modules/stpncpy (License): Relicense under LGPLv2+.
43130         Reported by David Lutterkort <lutter@redhat.com>.
43131
43132 2009-10-20  Eric Blake  <ebb9@byu.net>
43133
43134         utimensat: work around Solaris 9 bug
43135         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
43136         has trailing slash bugs.
43137         * tests/test-lutimens.h (test_lutimens): Enhance test.
43138         * tests/test-utimens.h (test_utimens): Likewise.
43139         * doc/posix-functions/utime.texi (utime): Enhance documentation.
43140         * doc/posix-functions/utimes.texi (utimes): Likewise.
43141         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43142         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
43143         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
43144         * doc/posix-functions/futimens.texi (futimens): Likewise.
43145
43146         fdutimensat: new module
43147         * modules/fdutimensat: New file.
43148         * lib/fdutimensat.c (fdutimensat): Likewise.
43149         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
43150         * MODULES.html.sh (File system functions): Mention module.
43151         * modules/fdutimensat-tests: New test.
43152         * tests/test-fdutimensat.c: Likewise.
43153
43154         doc: regenerate INSTALL
43155         * doc/INSTALL: Reflect recent autoconf update.
43156         * doc/INSTALL.ISO: Likewise.
43157         * doc/INSTALL.UTF-8: Likewise.
43158
43159 2009-10-20  Pádraig Brady  <P@draigBrady.com>
43160
43161         acl: warn if ACL support is not detected
43162         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
43163
43164 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
43165
43166         * lib/nproc.h: Add extern "C" block for C++.
43167
43168 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
43169             Bruno Haible  <bruno@clisp.org>
43170
43171         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
43172         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
43173         * doc/posix-functions/isalpha.texi: Likewise.
43174         * doc/posix-functions/isblank.texi: Likewise.
43175         * doc/posix-functions/iscntrl.texi: Likewise.
43176         * doc/posix-functions/isdigit.texi: Likewise.
43177         * doc/posix-functions/isgraph.texi: Likewise.
43178         * doc/posix-functions/islower.texi: Likewise.
43179         * doc/posix-functions/isprint.texi: Likewise.
43180         * doc/posix-functions/ispunct.texi: Likewise.
43181         * doc/posix-functions/isspace.texi: Likewise.
43182         * doc/posix-functions/isupper.texi: Likewise.
43183         * doc/posix-functions/isxdigit.texi: Likewise.
43184
43185 2009-10-18  Bruno Haible  <bruno@clisp.org>
43186
43187         Tests for module 'isblank'.
43188         * modules/isblank-tests: New file.
43189         * tests/test-isblank.c: New file.
43190
43191         New module 'isblank'.
43192         * lib/isblank.c: New file.
43193         * m4/isblank.m4: New file.
43194         * modules/isblank: New file.
43195         * doc/posix-functions/isblank.texi: Mention the new module.
43196
43197 2009-10-18  Bruno Haible  <bruno@clisp.org>
43198
43199         New module 'ctype'.
43200         * lib/ctype.in.h: New file.
43201         * m4/ctype.m4: New file.
43202         * modules/ctype: New file.
43203         * doc/posix-headers/ctype.texi: Mention the new module.
43204
43205 2009-10-18  Jim Meyering  <meyering@redhat.com>
43206
43207         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
43208         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
43209         right after its initialization, rather than farther down.
43210         Keeping these in close proximity makes it easier to ensure
43211         that each such variable is initialized.  E.g.,
43212
43213             LIB_CLOCK_GETTIME=
43214             AC_SUBST([LIB_CLOCK_GETTIME])
43215
43216         This change also increments these serial numbers.
43217         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
43218         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43219         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43220
43221 2009-10-18  Bruno Haible  <bruno@clisp.org>
43222
43223         Don't let environment variables perturb build.
43224         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
43225         (gl_PREREQ_GETHRXTIME): ... not here.
43226
43227 2009-10-18  Bruno Haible  <bruno@clisp.org>
43228
43229         Avoid symlink attack in localcharset module.
43230         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
43231         (O_NOFOLLOW): Define fallback.
43232         (get_charset_aliases): Don't open the file if it is a symbolic link.
43233         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
43234         gl_FCNTL_H.
43235         (gl_FCNTL_H): Require it.
43236         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
43237         * modules/localcharset (Files): Add m4/fcntl_h.m4.
43238         Reported by Fergal Glynn <fglynn@veracode.com>.
43239
43240 2009-10-18  Bruno Haible  <bruno@clisp.org>
43241
43242         Implement nproc for mingw.
43243         * lib/nproc.c: Include <windows.h>
43244         (num_processors): On native Windows platforms, try GetSystemInfo.
43245
43246 2009-10-18  Bruno Haible  <bruno@clisp.org>
43247
43248         Implement nproc for IRIX.
43249         * lib/nproc.c: Include <sys/sysmp.h>.
43250         (num_processors): On IRIX systems, try sysmp.
43251         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
43252
43253 2009-10-18  Bruno Haible  <bruno@clisp.org>
43254
43255         Implement nproc for HP-UX.
43256         * lib/nproc.c: Include <sys/pstat.h>
43257         (num_processors): On HP-UX systems, try pstat_getdynamic.
43258         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
43259         pstat_getdynamic.
43260
43261 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
43262             Bruno Haible  <bruno@clisp.org>
43263
43264         Implement nproc for NetBSD, OpenBSD.
43265         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
43266         (ARRAY_SIZE): New macro.
43267         (num_processors): On BSD systems, try sysctl of HW_NCPU.
43268         * m4/nproc.m4: New file.
43269         * modules/nproc (Files): Add m4/nproc.m4.
43270         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
43271         (Makefile.am): Instead, augment lib_SOURCES.
43272
43273 2009-10-18  Bruno Haible  <bruno@clisp.org>
43274
43275         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
43276         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
43277         sys/param.h.
43278
43279 2009-10-16  Eric Blake  <ebb9@byu.net>
43280
43281         utimensat: new module
43282         * modules/utimensat: New file.
43283         * lib/utimensat.c (utimensat): Likewise.
43284         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
43285         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
43286         so we can work around Linux bugs.
43287         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43288         * modules/sys_stat (Makefile.am): Substitute them.
43289         * lib/sys_stat.in.h (utimensat): Declare it.
43290         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43291         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43292         * modules/utimensat-tests: New test.
43293         * tests/test-utimensat.c: Likewise.
43294
43295         utimens: let lutimens work on non-symlinks
43296         * lib/utimens.c (lutimens): Fall back to utimens rather than
43297         failing with ENOSYS, when file is not a symlink.
43298         (utimens): Reduce redirection.
43299         * tests/test-lutimens.h (test_lutimens): Update test to cover
43300         non-symlinks.
43301         * tests/test-utimens.h (test_utimens): Update test to cover
43302         symlinks.
43303         * tests/test-utimens.c (main): Update caller.
43304
43305         utimens: cache whether utimensat syscall works
43306         * lib/utimens.c (utimensat_works_really): New cache variable.
43307         (fdutimens, lutimens): Use it to avoid failing syscall.
43308
43309         test-stat-time, test-utimens: improve portability
43310         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
43311         ext4 on alpha, and for cygwin.
43312         * tests/test-utimens-common.h: New file.
43313         (nap): Factor delays into single function.
43314         * tests/test-lutimens.h (test_lutimens): Use new header.
43315         * tests/test-futimens.h (test_futimens): Likewise.
43316         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
43317         timestamps to occur from same machine, as was done previously for
43318         test_utimens.
43319         * modules/utimens-tests (Files): Ship new file.
43320         * modules/futimens-tests (Files): Likewise.
43321         Reported in part by Jim Meyering.
43322
43323         sys_stat: sort replacement declarations
43324         * lib/sys_stat.in.h: Sort declarations.
43325         * lib/futimens.c (futimens): Fix typo.
43326
43327 2009-10-15  Jim Meyering  <meyering@redhat.com>
43328
43329         don't let environment settings perturb build
43330         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
43331         could cause a configure-time and/or build-time malfunction.
43332         Typically, a configure-time function-in-library test is performed
43333         via code like this:
43334
43335           LIB_VAR=
43336           AC_SUBST([LIB_VAR])
43337           prefix_saved_LIBS=$LIBS
43338             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
43339                        [test "$ac_cv_search_FUNC" = "none required" ||
43340                         LIB_VAR=$ac_cv_search_FUNC])
43341           LIBS=$prefix_saved_LIBS
43342
43343         However, in each of the files affected by this change, the LIB_VAR=
43344         initialization was omitted.  Thus, when set in the environment, its
43345         value would propagate into generated Makefiles when FUNC is not found
43346         in LIB_NAME.
43347         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
43348         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43349         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43350
43351 2009-10-14  Eric Blake  <ebb9@byu.net>
43352
43353         fchdir: avoid infinite recursion in mingw
43354         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
43355         recursing.
43356
43357         test-stat-time: port to mingw
43358         * tests/test-stat-time.c (force_unlink): Return a value.
43359         (test_ctime) [W32]: Fix compilation error.
43360         (nap): Don't call usleep with too large an argument.  Use
43361         force_unlink.
43362         * doc/pastposix-functions/usleep.texi (usleep): Document the
43363         portability issue.
43364
43365 2009-10-13  Jim Meyering  <meyering@redhat.com>
43366
43367         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
43368         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
43369         * modules/pipe-filter-ii: Likewise.
43370         * modules/sys_socket-tests: Likewise.
43371         * modules/tsearch-tests: Likewise.
43372         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
43373         (check): Depend on it.
43374
43375 2009-10-12  Eric Blake  <ebb9@byu.net>
43376
43377         utimens-tests: port to NFS file systems
43378         * tests/test-utimens.h (test_utimens): Refactor utimecmp
43379         comparisons to avoid spurious failures from timestamp drift
43380         between NFS machines.
43381
43382 2009-10-12  Eric Blake  <ebb9@byu.net>
43383
43384         stat-time-tests: minor cleanups
43385         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
43386         * tests/test-stat-time.c (nap): Separate assignment from call.
43387         Suggested by Paolo Bonzini and Bruno Haible.
43388
43389         sys_stat: guarantee struct timespec
43390         * lib/sys_stat.in.h (includes): Always include <time.h>
43391         * modules/sys_stat (Depends-on): Add time.
43392         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
43393         mode_t permission values.
43394         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
43395         get at subsecond timestamps.
43396
43397 2009-10-10  Eric Blake  <ebb9@byu.net>
43398
43399         futimens: new module
43400         * modules/futimens: New file.
43401         * lib/futimens.c (futimens): Likewise.
43402         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
43403         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
43404         we can work around Linux bugs.
43405         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43406         * modules/sys_stat (Makefile.am): Substitute them.
43407         * lib/sys_stat.in.h (futimens): Declare it.
43408         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43409         * doc/posix-functions/futimens.texi (futimens): Likewise.
43410         * modules/futimens-tests: New test.
43411         * tests/test-futimens.c: Likewise.
43412
43413         utimens: introduce fdutimens
43414         * lib/utimens.h (fdutimens): New prototype.
43415         * lib/utimens.c (gl_futimens): Move guts...
43416         (fdutimens): ...to new interface.
43417         * tests/test-utimens.c (do_fdutimens): Use it.
43418
43419         utimens: add UTIME_NOW and UTIME_OMIT support
43420         * lib/utimens.c (validate_timespec, update_timespec): New helper
43421         functions.
43422         (gl_futimens, lutimens): Use them.
43423         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
43424         stdbool, sys_stat.
43425         (Link): Mention resulting library dependency.
43426         * modules/utimecmp (Link): Likewise.
43427         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
43428         (Makefile.am): Pick up library dependency.
43429         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
43430         definition.
43431         * tests/test-sys_stat.c: Test the definitions.
43432         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
43433         * NEWS: Document library dependency.
43434
43435         utimecmp: support symlink timestamps
43436         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
43437         hashing when possible.  Use pathconf when available.
43438         (SYSCALL_RESOLUTION): Recognize tighter resolution.
43439         * modules/utimecmp (Depends-on): Add lstat.
43440
43441         utimens: add lutimens interface
43442         * lib/utimens.c (lutimens): New function.
43443         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
43444         * lib/utimens.h (lutimens): Declare new interface.
43445         * tests/test-utimens.c (main): Enhance test.
43446         * tests/test-lutimens.h (test_lutimens): New file.
43447         * modules/utimens-tests (Files): Distribute it.
43448         (Depends-on): Add symlink.
43449         (configure.ac): Check for usleep.
43450
43451         utimens: validate futimens usage
43452         * lib/utimens.c (gl_futimens): Require valid fd up front, using
43453         fewer syscalls on failure later on.  Avoid compiler warning on
43454         mingw.
43455         * modules/utimens (Depends-on): Add dup2.
43456
43457         utimens: add test
43458         * modules/utimens-tests: New test.
43459         * tests/test-utimens.h: New file.
43460         * tests/test-futimens.h: Likewise.
43461         * tests/test-utimens.c: Likewise.
43462
43463         doc: mention timestamp portability issues
43464         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
43465         instead.
43466         * doc/posix-functions/utime.texi (utime): Likewise.
43467         * doc/posix-functions/utimes.texi (utimes): Likewise.
43468         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
43469         instead.
43470         * doc/posix-functions/futimens.texi (futimens): Mention utimens
43471         module.
43472         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43473         Mention weakness with symlink timestamps.
43474         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
43475         to utimensat/futimens instead.
43476         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
43477
43478         test-dup2: enhance test
43479         * tests/test-dup2.c (main): Also check AT_FDCWD.
43480
43481         test-stat-time: avoid more spurious failures
43482         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
43483         xfs; and avoid race if the two timestamps cross quantization edge.
43484
43485         relocatable: prefer 'file system' over 'filesystem'
43486         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
43487         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
43488         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
43489         * doc/relocatable.texi (Enabling Relocatability): Likewise.
43490         * lib/relocatable.c (compute_curr_prefix): Likewise.
43491
43492 2009-10-10  Jim Meyering  <meyering@redhat.com>
43493
43494         stat-time-tests: check for the usleep function
43495         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
43496
43497 2009-10-10  Bruno Haible  <bruno@clisp.org>
43498
43499         * modules/xnanosleep: Put the Link section after the Include section.
43500
43501 2009-10-09  Eric Blake  <ebb9@byu.net>
43502
43503         dup2: work around FreeBSD 6.1 bug
43504         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
43505         * doc/posix-functions/dup2.texi (dup2): Document it.
43506         Reported by Nelson H. F. Beebe and Jim Meyering.
43507
43508         test-stat-time: port to buggy NFS clients
43509         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
43510         (test_ctime): Also skip test if mtime and ctime are skewed.
43511
43512         maint: prefer 'file system' over 'filesystem'
43513         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
43514         * doc/posix-functions/lstat.texi (lstat): Likewise.
43515         * lib/file-has-acl.c (file_has_acl): Likewise.
43516         * lib/fwriteerror.c [TEST]: Likewise.
43517         * tests/test-areadlink.h (test_areadlink): Likewise.
43518         * tests/test-areadlinkat-with-size.c (main): Likewise.
43519         * tests/test-areadlinkat.c (main): Likewise.
43520         * tests/test-canonicalize-lgpl.c (main): Likewise.
43521         * tests/test-canonicalize.c (main): Likewise.
43522         * tests/test-fstatat.c (main): Likewise.
43523         * tests/test-linkat.c (main): Likewise.
43524         * tests/test-lstat.h (test_lstat_func): Likewise.
43525         * tests/test-mkdir.h (test_mkdir): Likewise.
43526         * tests/test-readlink.h (test_readlink): Likewise.
43527         * tests/test-remove.c (main): Likewise.
43528         * tests/test-rename.h (test_rename): Likewise.
43529         * tests/test-renameat.c (main): Likewise.
43530         * tests/test-rmdir.h (test_rmdir_func): Likewise.
43531         * tests/test-symlink.h (test_symlink): Likewise.
43532         * tests/test-symlinkat.c (main): Likewise.
43533         * tests/test-unlink.h (test_unlink_func): Likewise.
43534         * tests/test-unlinkat.c (main): Likewise.
43535
43536         maint: make realtime library usage explicit
43537         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
43538         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
43539         * modules/settime (Link): Likewise.
43540         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
43541
43542         test-stat-time: speed up execution
43543         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
43544         warning on mingw.
43545         (nap): New helper function.
43546         (prepare_test): Use it to reduce sleep time.
43547         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
43548         execution.
43549         * modules/stat-time-tests (configure.ac): Check for usleep.
43550
43551 2009-10-09  Jim Meyering  <meyering@redhat.com>
43552
43553         selinux-h: always use getfilecon wrappers
43554         * lib/getfilecon.c: New file.
43555         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
43556         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
43557         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
43558         (fgetfilecon): Provide a stub.
43559         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
43560         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
43561         file unconditionally.
43562         When <selinux/selinux.h> is found, arrange to use wrappers.
43563         * modules/selinux-h (Files): Add getfilecon.c.
43564         (Makefile.am): Substitute include-next-related bits
43565         into the now-always-generated selinux/selinux.h file.
43566         * doc/glibc-functions/lgetfilecon.texi: New file.
43567         * doc/glibc-functions/fgetfilecon.texi: New file.
43568         * doc/glibc-functions/getfilecon.texi: New file.
43569         * doc/glibc-functions/getfilecon-desc.texi: New file.
43570         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
43571         which to pull in the new files.
43572         * MODULES.html.sh (Misc): Add selinux-h.
43573
43574 2009-10-08  Jim Meyering  <meyering@redhat.com>
43575
43576         unistd: fix comment typo
43577         * lib/unistd.in.h (euidaccess): Fix a comment typo.
43578
43579 2009-10-08  Eric Blake  <ebb9@byu.net>
43580
43581         areadlink: use SIZE_MAX consistently
43582         * modules/areadlink (Depends-on): Add stdint.
43583         * modules/areadlink-with-size (Depends-on): Likewise.
43584         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
43585         gives NULL; drop sys/types, since unistd gives size_t; and add
43586         stdint for SIZE_MAX.
43587         (SIZE_MAX): Rely on headers.
43588         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
43589         and add stdint.
43590         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
43591         (SIZE_MAX): Likewise.
43592         (INITIAL_BUF_SIZE): Turn into enum.
43593         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
43594
43595 2009-10-08  Jim Meyering  <meyering@redhat.com>
43596
43597         areadlinkat: avoid compilation failure
43598         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
43599         Fix typo in comment.
43600
43601 2009-10-07  Eric Blake  <ebb9@byu.net>
43602
43603         areadlinkat-with-size: new module
43604         * modules/areadlinkat-with-size: New module.
43605         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
43606         * lib/areadlink.h (areadlinkat): Declare it.
43607         * MODULES.html.sh (File system functions): Mention it.
43608         * modules/areadlinkat-with-size-tests: New test.
43609         * tests/test-areadlinkat-with-size.c: New file.
43610
43611         xreadlinkat: new module
43612         * modules/xreadlinkat: New module.
43613         * lib/xreadlinkat.c (xreadlinkat): New file.
43614         * lib/xreadlink.h (xreadlinkat): Declare it.
43615         * MODULES.html.sh (File system functions): Mention it.
43616
43617         areadlinkat: new module
43618         * lib/at-func.c (FUNC_FAIL): New define.
43619         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
43620         * modules/areadlinkat: New module.
43621         * lib/linkat.c (areadlinkat): Move...
43622         * lib/areadlinkat.c (areadlinkat): ...to new file.
43623         * lib/areadlink.h (areadlinkat): Declare it.
43624         * modules/linkat (Depends-on): Add areadlinkat.
43625         * MODULES.html.sh (File system functions): Mention it.
43626         * modules/areadlinkat-tests: New test.
43627         * tests/test-areadlinkat.c: New file.
43628
43629         areadlink, areadlink-with-size: add tests
43630         * modules/areadlink-tests: New test.
43631         * modules/areadlink-with-size-tests: Likewise.
43632         * tests/test-areadlink.h: New file.
43633         * tests/test-areadlink.c: Likewise.
43634         * tests/test-areadlink-with-size.c: Likewise.
43635
43636         maint: minor cleanups
43637         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
43638         _UNUSED_PARAMETER_ instead.
43639         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
43640         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
43641         * modules/linkat-tests (Files): Distribute test-link.h.
43642
43643         openat, utimens: whitespace cleanup
43644         * lib/openat.c: Prefer space throughout, rather than mix of 8
43645         spaces vs. tabs.
43646         * lib/at-func.c: Likewise.
43647         * lib/utimens.c: Likewise.
43648
43649         openat: avoid using wrong fd
43650         * lib/openat.c (openat_permissive): Reject user's fd if saving the
43651         working directory chooses same fd.
43652         * lib/at-func.c (AT_FUNC_NAME): Likewise.
43653
43654         mkdir, mkdirat: fix cygwin 1.5.x bug
43655         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
43656         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
43657         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
43658         bug.
43659         (gl_PREREQ_MKDIR): Delete unused macro.
43660         * modules/mkdir (Files): Track file rename.
43661         (configure.ac): Update macro name.
43662         * modules/openat (Depends-on): Add mkdir.
43663         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
43664
43665         mkdir, mkdirat: add tests
43666         * modules/mkdir-tests: New test.
43667         * tests/test-mkdir.h: New file.
43668         * tests/test-mkdir.c: Likewise.
43669         * tests/test-mkdirat.c: Likewise.
43670         * modules/openat-tests (Files): Add new files.
43671         (Makefile.am): Run new test.
43672
43673 2009-10-06  Eric Blake  <ebb9@byu.net>
43674
43675         doc: tweak *at function documentation
43676         * doc/posix-functions/faccessat.texi (faccessat): Mention
43677         known issue with replacement.
43678         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
43679         * doc/posix-functions/linkat.texi (linkat): Likewise.
43680         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
43681         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
43682         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
43683         * doc/posix-functions/renameat.texi (renameat): Likewise.
43684         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
43685
43686         openat: fix GNU/Hurd bug in unlinkat
43687         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
43688         broken.
43689         * doc/posix-functions/unlink.texi (unlink): Document this.
43690         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
43691
43692         fdopendir: fix GNU/Hurd bug
43693         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
43694         allowing non-directory fds.
43695         * lib/fdopendir.c (rpl_fdopendir): Work around it.
43696         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
43697         * modules/dirent (Makefile.am): Substitute it.
43698         * lib/dirent.in.h (fdopendir): Declare replacement.
43699         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
43700         * tests/test-fdopendir.c (main): Test something other than
43701         /dev/null, since on Hurd that behaves like a directory.
43702
43703         test-symlink: port to GNU/Hurd
43704         * tests/test-symlink.h (test_symlink): Relax expected errno.
43705
43706         doc: tweak more cygwin information
43707         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
43708         now compatible with glibc.
43709         * doc/posix-functions/getopt.texi (getopt): Likewise.
43710
43711         getopt-gnu: add another test
43712         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
43713         guarantee behavior relied on by m4.
43714         * tests/test-getopt.c (main): Use it.
43715         * modules/getopt-posix-tests (Depends-on): Add setenv.
43716         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
43717
43718         getopt: fix compilation on darwin
43719         * lib/getopt.in.h (includes): Leave breadcrumbs during system
43720         include.
43721         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
43722         Reported by Ludovic Courtès.
43723
43724 2009-10-06  Bruno Haible  <bruno@clisp.org>
43725
43726         * modules/size_max (Description): Discourage its use.
43727         Reported by Simon Josefsson.
43728
43729 2009-10-06  Jim Meyering  <meyering@redhat.com>
43730
43731         linkat: avoid compilation failure
43732         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
43733
43734 2009-10-05  Eric Blake  <ebb9@byu.net>
43735
43736         linkat: support Linux 2.6.17
43737         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
43738         linkat on Linux, but allow cache variable override.
43739         * lib/linkat.c (rpl_linkat): Define override.
43740         * modules/linkat (Depends-on): Add symlinkat.
43741         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
43742         * modules/unistd (Makefile.am): Substitute it.
43743         * lib/unistd.in.h (linkat): Declare replacement.
43744         Reported by Pádraig Brady.
43745
43746         quotearg: port test to systems with C.UTF-8 locale
43747         * tests/test-quotearg.c (struct result_strings): Add another
43748         member, differentiating between C.ASCII and C.UTF-8 handling.
43749         (compare_strings): Add parameter.
43750         (main): Adjust all callers.
43751
43752         getopt: avoid clash with FreeBSD _getopt_internal
43753         * lib/getopt.in.h (_getopt_internal): Override the name.
43754         * lib/getopt_int.h (includes): Pick up any overrides.
43755         Reported by Reuben Thomas.
43756
43757         hash: allow C89 compilation
43758         * lib/hash.c (check_tuning): Move declaration before statement.
43759         Reported by Reuben Thomas.
43760
43761 2009-10-05  Karl Berry  <karl@gnu.org>
43762
43763         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
43764
43765 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
43766             Bruno Haible  <bruno@clisp.org>
43767
43768         * lib/uname.c (uname): Use a table-driven algorithm to compute
43769         Windows NT versions.
43770
43771 2009-10-04  Bruno Haible  <bruno@clisp.org>
43772
43773         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
43774         program_invocation_short_name.
43775         * modules/progname (configure.ac): Test for presence of
43776         program_invocation_short_name.
43777         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
43778
43779 2009-10-04  Bruno Haible  <bruno@clisp.org>
43780
43781         * lib/progname.c (set_program_name): Fix comment.
43782         Reported by Jim Meyering.
43783
43784 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
43785             Bruno Haible  <bruno@clisp.org>
43786
43787         * lib/uname.c: Include <string.h>.
43788         (uname): Do only one call to GetVersionEx in the common case.
43789
43790 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
43791             Bruno Haible  <bruno@clisp.org>
43792
43793         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
43794         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
43795         (uname): Add support for Windows CE and various non-x86 CPU types.
43796
43797 2009-10-03  Bruno Haible  <bruno@clisp.org>
43798
43799         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
43800         invocation to tests/configure.ac.
43801         Reported by Ian Beckwith <ianb@erislabs.net>.
43802
43803 2009-10-02  Eric Blake  <ebb9@byu.net>
43804
43805         fchdir: avoid compiler warning
43806         * lib/fchdir.c (canonicalize_file_name)
43807         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
43808
43809         test-open: support mingw errno values
43810         * tests/test-open.h (test_open): Relax test.
43811         * tests/test-fopen.h (test_fopen): Likewise.
43812         * tests/test-openat-safer.c (main): Likewise.
43813
43814         open: fix opening directory on mingw
43815         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
43816
43817         test-open: on GNU/Hurd, /dev/null is a directory
43818         * tests/test-fopen.h (main): Rename...
43819         (test_fopen): ...to this.  Use a guaranteed non-directory when
43820         confirming open behavior on trailing slash.
43821         * tests/test-openat-safer.c (main): Likewise.
43822         * tests/test-open.h (main): Likewise....
43823         (test_open): ...to this.
43824         * tests/test-fopen.c (main): Adjust caller.
43825         * tests/test-fopen-safer.c (main): Likewise.
43826         * tests/test-open.c (main): Likewise.
43827         * tests/test-fcntl-safer.c (main): Likewise.
43828         Reported by Samuel Thibault.
43829
43830         rename, fchdir: don't ignore chdir failure
43831         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
43832         * lib/rename.c (rpl_rename) [W32]: Likewise.
43833         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
43834         an empty destination directory if source cannot be renamed,
43835         although there is still possibility for failure.
43836         * doc/posix-functions/rename.texi (rename): Document the race.
43837         Reported by Jim Meyering.
43838
43839         maint: cleanup whitespace in recent commits
43840         * lib/rename.c (rpl_rename): Remove tabs.
43841         * tests/test-link.h (test_link): Likewise.
43842         * lib/fchdir.c (get_name): Likewise.
43843         Reported by Jim Meyering.
43844
43845 2009-10-02  Ben Pfaff  <blp@gnu.org>
43846
43847         relocatable-prog-wrapper: Add missing dependency on
43848         double-slash-root.
43849         * modules/relocatable-prog-wrapper: Add dependency.
43850         Reported by Ian Beckwith <ianb@erislabs.net>.
43851
43852 2009-10-02  Eric Blake  <ebb9@byu.net>
43853
43854         renameat: fix Solaris bugs
43855         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
43856         needed fixing.
43857         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
43858         * modules/stdio (Makefile.am): Substitute it.
43859         * lib/stdio.in.h (renameat): Declare replacement.
43860         * lib/renameat.c (rpl_renameat): Implement fix.
43861
43862         renameat: new module
43863         * modules/renameat: New file.
43864         * lib/renameat.c (renameat): Likewise.
43865         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
43866         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
43867         * modules/stdio (Makefile.am): Substitute them.
43868         * lib/stdio.in.h (renameat): Declare it.
43869         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43870         * doc/posix-functions/renameat.texi (renameat): Likewise.
43871         * modules/renameat-tests: New test.
43872         * tests/test-renameat.c: Likewise.
43873
43874         rename: fix mingw bugs
43875         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
43876         directory overwrite bugs.
43877
43878         rename: fix another cygwin 1.5 bug
43879         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
43880         checks.
43881         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
43882         unnecessary cygwin workarounds.  Also work around bug with moving
43883         full directory onto an empty one.
43884         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
43885
43886         rename-dest-slash: merge into rename module
43887         * modules/rename-dest-slash (Status): Mark obsolete.
43888         (Depends-on): Add rename.
43889         (Files): Let rename do it all.
43890         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
43891         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
43892         * m4/rename-dest-slash.m4: ...so this file can be deleted.
43893         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
43894         * lib/rename.c (rpl_rename): Update comments.
43895
43896         rename: fix cygwin 1.5.x bugs
43897         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
43898         * lib/rename.c (rpl_rename): Work around them.
43899         * modules/rename (Depends-on): Add same-inode.
43900
43901         rename: fix Solaris 10 bug
43902         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
43903         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
43904         was the only bug.
43905
43906         rename: fix Solaris 9 bug
43907         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
43908         on non-directory.  Avoid calling exit.
43909         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
43910         strdup.
43911         * modules/rename-tests (Depends-on): Drop lstat.
43912         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
43913         (gl_PREREQ_RENAME): Delete unused macro.
43914
43915         rename-dest-slash: fix NetBSD bug
43916         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
43917         links.
43918         * modules/rename-dest-slash (Depends-on): Add same-inode.
43919
43920         rename-tests: new test, exposes several platform bugs
43921         * modules/rename-tests: New file.
43922         * tests/test-rename.h: Likewise.
43923         * tests/test-rename.c: Likewise.
43924         * doc/posix-functions/rename.texi (rename): Improve documentation,
43925         including bugs that will eventually be fixed in gnulib.
43926
43927 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
43928
43929         * lib/uname.c: Include <stdlib.h>
43930         (uname): Assume version info is available.
43931
43932 2009-10-02  Jim Meyering  <meyering@redhat.com>
43933
43934         gnu-web-doc-update: correct --help output
43935         * build-aux/gnu-web-doc-update: Make --help output relevant.
43936
43937         gnu-web-doc-update: add standard options
43938         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
43939
43940         gnu-web-doc-update: New module.
43941         Use this script to automatically update the on-line web documentation
43942         for your GNU project at http://www.gnu.org/software/$pkg/manual/
43943         * modules/gnu-web-doc-update: New file, from coreutils.
43944         * build-aux/gnu-web-doc-update: New script.
43945
43946 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
43947
43948         link: LoadLibrary is not needed.
43949         * lib/link.c: Use GetModuleHandle.
43950
43951 2009-10-01  Eric Blake  <ebb9@byu.net>
43952
43953         getopt: bump serial number
43954         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
43955         change.
43956
43957         tests: tighten link, rmdir, and remove tests
43958         * tests/test-link.h (includes): No need to use <config.h> here.
43959         Clean up if directory hard link was created, otherwise test for
43960         trailing '.'.
43961         * tests/test-linkat.c (main): Simplify.
43962         * tests/test-remove.c (main): Enhance test for trailing '.'.
43963         * tests/test-rmdir.h (test_rmdir_func): Likewise.
43964
43965 2009-10-01  Jim Meyering  <meyering@redhat.com>
43966
43967         maint.mk: requiring "make major" was annoying, for a "minor" release.
43968         What is intended is "stable", to contrast with alpha and beta,
43969         so require "make stable", not "make major".
43970         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
43971         (get_tool_versions): Likewise.
43972         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
43973
43974 2009-09-30  Ben Pfaff  <blp@gnu.org>
43975
43976         Fix broken build of replacement for Windows tmpfile().
43977         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
43978         flags argument added along with the 'mkostemp' module.
43979
43980 2009-09-28  Bruno Haible  <bruno@clisp.org>
43981
43982         Avoid identifier clash with POSIX function 'remove' defined as a macro.
43983         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
43984         to 'remove_elt'.
43985         (gl_list_remove): Update.
43986         * lib/gl_list.c (gl_list_remove): Update.
43987         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
43988         to 'remove_elt'.
43989         (gl_oset_remove): Update.
43990         * lib/gl_list.c (gl_oset_remove): Update.
43991         Reported by Eric Blake.
43992
43993 2009-09-28  Eric Blake  <ebb9@byu.net>
43994
43995         doc: mention yet more cygwin 1.7 status
43996         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
43997         cygwin.
43998         * doc/glibc-functions/execvpe.texi (execvpe): New file.
43999         * doc/gnulib.texi (Glibc unistd.h): Mention it.
44000
44001         argp: fix test failure
44002         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
44003         that are not upper-case.  Pass correct range to tolower.
44004
44005 2009-09-27  Jim Meyering  <meyering@redhat.com>
44006
44007         test-yesno: work around sparc-dash here-document infelicity
44008         Without this change, the literal \177 byte in a here document
44009         would make dash 0.5.5.1-3 access uninitialized memory.
44010         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
44011         Instead, use a marker, "@", and filter through tr to create the desired
44012         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
44013
44014 2009-09-27  Bruno Haible  <bruno@clisp.org>
44015
44016         Disable untested support for new flavours of ACLs on AIX.
44017         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
44018         progress.
44019         * lib/set-mode-acl.c (qset_acl): Likewise.
44020
44021 2008-12-07  Bruno Haible  <bruno@clisp.org>
44022
44023         Add support for new flavours of ACLs on AIX. (Untested.)
44024         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
44025         (file_has_acl): Add support for newer AIX.
44026         * lib/set-mode-acl.c (qset_acl): Likewise.
44027         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
44028         Rainer Tammer <tammer@tammer.net>.
44029
44030 2009-09-26  Eric Blake  <ebb9@byu.net>
44031
44032         argp: fix compilation of getopt
44033         * lib/getopt.in.h (includes): Use different guard than glibc.
44034         Reported by Sergey Poznyakoff.
44035
44036         doc: mention more cygwin 1.7 status
44037         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
44038         bug.
44039         * doc/posix-functions/execl.texi (execl): Likewise.
44040         * doc/posix-functions/execle.texi (execle): Likewise.
44041         * doc/posix-functions/execlp.texi (execlp): Likewise.
44042         * doc/posix-functions/execv.texi (execv): Likewise.
44043         * doc/posix-functions/execve.texi (execve): Likewise.
44044         * doc/posix-functions/execvp.texi (execvp): Likewise.
44045         * doc/glibc-functions/canonicalize_file_name.texi
44046         (canonicalize_file_name): Cygwin 1.7 now provides this.
44047         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
44048         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
44049         on AT_SYMLINK_NOFOLLOW.
44050
44051 2009-09-24  Eric Blake  <ebb9@byu.net>
44052
44053         test-linkat: make test more robust
44054         * tests/test-linkat.c (main): Avoid collision with EEXIST.
44055
44056         getopt: fix inclusion guards for cygwin
44057         * modules/getopt-posix (Depends-on): Add include-next.
44058         (Makefile.am): Substitute more items in replacement header.
44059         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
44060         <getopt.h>.
44061         * lib/getopt.in.h (includes): Use split inclusion guard, and
44062         prefer <getopt.h> over include <unistd.h> when one is present.
44063         (option): Also override name of 'struct option'.
44064
44065         same-inode: revert prior change; it is not yet ready
44066         * NEWS: Undo mention of this change.
44067         * lib/same-inode.h (same-inode.h): Undo tri-state change.
44068         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44069         * lib/cycle-check.c (cycle_check): Likewise.
44070         * lib/same.c (same_name): Likewise.
44071         * lib/at-func2.c (at_func2): Likewise.
44072
44073 2009-09-23  Eric Blake  <ebb9@byu.net>
44074
44075         linkat: new module
44076         * modules/linkat: New file.
44077         * lib/at-func2.c (at_func2): Likewise.
44078         * lib/linkat.c (linkat): Likewise.
44079         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
44080         * lib/openat-priv.h (at_func2): Add declaration.
44081         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44082         * modules/unistd (Makefile.am): Substitute them.
44083         * lib/unistd.in.h (linkat): Declare it.
44084         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44085         * doc/posix-functions/linkat.texi (linkat): Likewise.
44086         * doc/posix-functions/link.texi (link): Tweak wording.
44087         * tests/test-link.c (main): Move guts...
44088         * tests/test-link.h (test_link): ...into new file.
44089         * modules/linkat-tests: New test.
44090         * tests/test-linkat.c: Likewise.
44091         * modules/link-tests (Files): Ship new file.
44092         (Depends-on): Add stdbool.
44093
44094         dirname: add library-safe mdir_name
44095         * lib/dirname.h (mdir_name): New prototype.
44096         * lib/dirname.c (dir_name): Move guts...
44097         (mdir_name): ...to new function that avoids xalloc_die.
44098
44099         fchdir: another mingw fix
44100         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
44101         * lib/fchdir.c (get_name): New helper method; skips canonicalize
44102         on mingw (where it has not yet been ported), and make it optional
44103         elsewhere.
44104         (_gl_register_fd): Use it.
44105
44106         same-inode: make SAME_INODE tri-state, to port to mingw
44107         * NEWS: Mention this change.
44108         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
44109         st_ino always being 0.
44110         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44111         * lib/cycle-check.c (cycle_check): Likewise.
44112         * lib/same.c (same_name): Likewise.
44113
44114         lstat: avoid mingw compilation error
44115         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
44116         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
44117         lstat ourselves.
44118         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
44119         was adequate.
44120         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
44121         the checks for lstat.
44122         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
44123
44124         link: fix test failure on Solaris 9
44125         * lib/link.c (rpl_link): Don't assume link will catch bogus
44126         trailing slash on source.
44127
44128         test-symlinkat: enhance test
44129         * tests/test-readlink.c (main): Move guts...
44130         * tests/test-readlink.h (test_readlink): ...into new file.
44131         * tests/test-symlink.c (main): Move guts...
44132         * tests/test-symlink.h (test_symlink): ...into new file.
44133         * tests/test-symlinkat.c (main): Use new files for further
44134         coverage.
44135         (do_symlink, do_readlink): New helper functions.
44136         * modules/symlink-tests (Files): Ship new file.
44137         (Depends-on): Add stdbool.
44138         * modules/readlink-tests (Files): Ship new file.
44139         (Depends-on): Add stdbool.
44140         * modules/symlinkat-tests (Files): Use new files.
44141
44142 2009-09-23  Eric Blake  <ebb9@byu.net>
44143
44144         readlink: document portability issue with symlink length
44145         * doc/posix-functions/lstat.texi (lstat): Mention that some file
44146         systems have bogus st_size on symlinks, and mention the
44147         areadlink-with-size module.
44148         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44149         * doc/posix-functions/readlink.texi (readlink): Mention the
44150         areadlink module, and ERANGE failure.
44151         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44152         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
44153
44154         readlink: fix Solaris 9 bug with trailing slash
44155         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
44156         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
44157         * doc/posix-functions/readlink.texi (readlink): Document this.
44158         * modules/readlink-tests: New test.
44159         * tests/test-readlink.c: Likewise.
44160
44161         readlink: fix cygwin 1.5.x bug with return type
44162         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
44163         * lib/unistd.in.h (readlink): Use ssize_t.
44164         * lib/readlink.c (readlink): Likewise.
44165         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44166         * modules/unistd (Makefile.am): Substitute it.
44167         * lib/unistd.in.h (readlink): Declare replacement.
44168         * doc/posix-functions/readlink.texi (readlink): Document this.
44169
44170         symlink: use throughout gnulib
44171         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
44172         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
44173         symlink is not used.
44174         * modules/symlinkat (Depends-on): Add symlink.
44175         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44176         * modules/canonicalize-tests (Depends-on): Likewise.
44177         * modules/lstat-tests (Depends-on): Likewise.
44178         * modules/openat-tests (Depends-on): Likewise.
44179         * modules/remove-tests (Depends-on): Likewise.
44180         * modules/rmdir-tests (Depends-on): Likewise.
44181         * modules/unlink-tests (Depends-on): Likewise.
44182         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
44183         * tests/test-canonicalize.c (symlink): Likewise.
44184         * tests/test-fstatat.c (symlink): Likewise.
44185         * tests/test-lstat.c (symlink): Likewise.
44186         * tests/test-remove.c (symlink): Likewise.
44187         * tests/test-rmdir.c (symlink): Likewise.
44188         * tests/test-unlink.c (symlink): Likewise.
44189         * tests/test-unlinkat.c (symlink): Likewise.
44190
44191         symlink: new module, for Solaris 9 bug
44192         * modules/symlink: New file.
44193         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
44194         * lib/symlink.c: Likewise.
44195         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
44196         * modules/unistd (Makefile.am): Substitute them.
44197         * lib/unistd.in.h (symlink): Declare replacement.
44198         * MODULES.html.sh (File system functions): Mention it.
44199         * doc/posix-functions/symlink.texi (symlink): Likewise.
44200         * modules/symlink-tests: New test.
44201         * tests/test-symlink.c: Likewise.
44202
44203 2009-09-23  Bruno Haible  <bruno@clisp.org>
44204
44205         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
44206         when needed.
44207         Test case: gnulib-tool --import --with-tests atexit inttypes.
44208         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
44209
44210 2009-09-23  Bruno Haible  <bruno@clisp.org>
44211
44212         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
44213         subcommand, not in a subshell.
44214
44215 2009-09-22  Eric Blake  <ebb9@byu.net>
44216
44217         unistd: sort replacement declarations
44218         * lib/unistd.in.h: Sort declarations.
44219
44220         open, openat: minor optimization
44221         * lib/open.c (open): If open succeeded, len is non-zero.
44222         * lib/openat.c (rpl_openat): Likewise.
44223
44224         link-follow: ensure correct result
44225         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
44226         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
44227         distinguish between possible failures.
44228
44229 2009-09-21  Eric Blake  <ebb9@byu.net>
44230
44231         fts: avoid compiler warning
44232         * lib/fts.c (dirent_inode_sort_may_be_useful)
44233         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
44234
44235 2009-09-19  Bruno Haible  <bruno@clisp.org>
44236
44237         * lib/progreloc.c (canonicalize_file_name): New declaration.
44238
44239 2009-09-19  Eric Blake  <ebb9@byu.net>
44240
44241         link: fix quoting
44242         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
44243
44244         openat: fix openat bugs on Solaris 9
44245         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
44246         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
44247         * modules/openat (Depends-on): Add open.
44248         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
44249         * modules/fcntl-h (Makefile.am): Substitute it.
44250         * lib/fcntl.in.h (openat): Declare replacement.
44251         * doc/posix-functions/openat.texi (openat): Document this.
44252
44253         openat: move fstatat and unlinkat into correct files
44254         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
44255         compiled.
44256         * lib/openat.c (fstatat, unlinkat): Move...
44257         * lib/fstatat.c (fstatat): ...into correct files.
44258         * lib/unlinkat.c (unlinkat): Likewise.
44259
44260         openat: fix unlinkat bugs on Solaris 9
44261         * lib/unlinkat.c (unlinkat): New file.
44262         * modules/openat (Depends-on): Add unlink.
44263         (Files): Distribute it.
44264         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
44265         trailing slash behavior is broken.
44266         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44267         * modules/unistd (Makefile.am): Substitute it.
44268         * lib/unistd.in.h (unlinkat): Declare replacement.
44269         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
44270
44271         openat: fix fstatat bugs on Solaris 9
44272         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
44273         stat.
44274         * doc/posix-functions/fstatat.texi (fstatat): Document this.
44275
44276         test-unlinkat: enhance test, to expose Solaris 9 bug
44277         * tests/test-unlink.c (main): Factor guts...
44278         * tests/test-unlink.h (test_rmdir_func): ...into new file.
44279         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
44280         * tests/test-rmdir.c (main): Adjust caller.
44281         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
44282         (unlinker): New helper function.
44283         (rmdirat): Enhance check.
44284         * modules/rmdir-tests (Depends-on): Add stdbool.
44285         * modules/unlink-tests (Depends-on): Likewise.
44286         (Files): Add test-unlink.h.
44287         * modules/openat-tests (Files): Likewise.
44288         (Depends-on): Add unlinkdir.
44289
44290         test-fstatat: new test, to expose Solaris 9 bugs
44291         * tests/test-stat.c (main): Factor guts...
44292         * tests/test-stat.h (test_stat_func): ...into new file.
44293         * tests/test-lstat.c (main): Factor guts...
44294         * tests/test-lstat.h (test_lstat_func): ...into new file.
44295         * tests/test-fstatat.c: New file.
44296         * modules/stat-tests (Files): Add test-stat.h.
44297         * modules/lstat-tests (Files): Add test-lstat.h.
44298         (Depends-on): Add stdbool.
44299         * modules/openat-tests (Depends-on): Add pathmax.
44300         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
44301         (Makefile.am): Run new test.
44302
44303         remove: new module, for mingw and Solaris 9 bugs
44304         * modules/remove: New file.
44305         * lib/remove.c: Likewise.
44306         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
44307         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44308         * modules/stdio (Makefile.am): Use them.
44309         * lib/stdio.in.h (remove): Declare replacement.
44310         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44311         * doc/posix-functions/remove.texi (remove): Likewise.
44312         * modules/remove-tests: New test.
44313         * tests/test-remove.c: Likewise.
44314
44315         unlink: new module, for Solaris 9 bug
44316         * modules/unlink: New file.
44317         * lib/unlink.c: Likewise.
44318         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
44319         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44320         * modules/unistd (Makefile.am): Use them.
44321         * lib/unistd.in.h (stat): Declare replacement.
44322         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44323         * doc/posix-functions/unlink.texi (unlink): Likewise.
44324         * modules/unlink-tests: New test.
44325         * tests/test-unlink.c: Likewise.
44326
44327         lstat: fix Solaris 9 bug
44328         * lib/lstat.c (lstat): Also check for trailing slash on
44329         non-symlink, non-directories.  Use stat module to simplify logic.
44330         * doc/posix-functions/lstat.texi (lstat): Document it.
44331         * modules/lstat-tests (Depends-on): Add errno, same-inode.
44332         (configure.ac): Check for symlink.
44333         * tests/test-lstat.c (main): Add more tests.
44334
44335         stat: add as dependency to other modules
44336         * modules/chown (Depends-on): Add stat.
44337         * modules/euidaccess (Depends-on): Likewise.
44338         * modules/fchdir (Depends-on): Likewise.
44339         * modules/isdir (Depends-on): Likewise.
44340         * modules/link (Depends-on): Likewise.
44341         * modules/lstat (Depends-on): Likewise.
44342         * modules/mkdir-p (Depends-on): Likewise.
44343         * modules/modechange (Depends-on): Likewise.
44344         * modules/open (Depends-on): Likewise.
44345         * modules/readlink (Depends-on): Likewise.
44346         * modules/same (Depends-on): Likewise.
44347
44348         stat: fix Solaris 9 bug
44349         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
44350         slash.
44351         * lib/stat.c (rpl_stat): Work around it.
44352         * doc/posix-functions/stat.texi (stat): Update documentation.
44353
44354         stat: new module, for mingw bug
44355         * modules/stat: New file.
44356         * lib/stat.c: Likewise.
44357         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
44358         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44359         * modules/sys_stat (Makefile.am): Use them.
44360         * lib/sys_stat.in.h (stat): Declare replacement.
44361         * lib/openat.c (fstatat): Deal with lstat and stat being function
44362         macros.
44363         * modules/openat (Depends-on): Add inline.
44364         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44365         * doc/posix-functions/stat.texi (stat): Likewise.
44366         * modules/stat-tests: New test.
44367         * tests/test-stat.c: Likewise.
44368
44369 2009-09-19  Jim Meyering  <meyering@redhat.com>
44370
44371         syntax-check: detect unnecessary inclusion of canonicalize.h
44372         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
44373
44374 2009-09-19  Eric Blake  <ebb9@byu.net>
44375
44376         canonicalize-lgpl: adjust clients to use correct header
44377         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44378         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
44379         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
44380         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
44381         * lib/progreloc.c (includes): Likewise.
44382
44383 2009-09-19  Jim Meyering  <meyering@redhat.com>
44384
44385         test-posixtm.c: correct a comment
44386         * tests/test-posixtm.c: Correct first-line comment.
44387         Spotted by Eric Blake.
44388
44389 2009-09-16  Jim Meyering  <meyering@redhat.com>
44390
44391         posixtm-tests: make T const-correct; add a test case
44392         * tests/test-posixtm.c (T): Declare const.
44393         Add a test for -(2^31+1).
44394         Remove useless can-succeed-only-in-2002 test.
44395
44396         posixtm-tests: adjust the sole failing test
44397         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
44398         expected output matches what mktime now produces.  Cross-checked via
44399         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
44400
44401         posixtm: move #ifdef'd tests into a new module
44402         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
44403         * tests/test-posixtm.c: ... this new file.
44404         * modules/posixtm-tests: New module.
44405
44406 2009-09-19  Eric Blake  <ebb9@byu.net>
44407
44408         openat: simplify use of at-func.c
44409         * lib/at-func.c (includes): Include prerequisites here, to
44410         simplify requirements on client files.
44411         * lib/openat-priv.h: Add double-inclusion guard.
44412         * lib/faccessat.c (includes): Simplify.
44413         * lib/fchmodat.c (includes): Likewise.
44414         * lib/fchownat.c (includes): Likewise.
44415         * lib/mkdirat.c (includes): Likewise.
44416         * lib/mkfifoat.c (includes): Likewise.
44417         * lib/symlinkat.c (includes): Likewise.
44418
44419         openat: allow return of fd 0
44420         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
44421         * modules/save-cwd (Depends-on): Replace fcntl-safer with
44422         unistd-safer.
44423         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
44424         <fcntl.h>; this module does not leak fds.
44425         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
44426         must be allowed to return 0, leaving openat_safer to add the
44427         safety.
44428         (openat_permissive): Avoid writing to just-opened fd 2 if
44429         restoring the current directory fails.
44430         * lib/openat-die.c (openat_restore_fail): Add comment.
44431         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
44432         (save_cwd): Guarantee safe fd, but without use of open_safer.
44433         * tests/test-openat.c: New test.
44434         * modules/openat-tests (Files, Makefile.am): Distribute and build
44435         new file.
44436
44437         relocatable-prog-wrapper: fix build
44438         * modules/relocatable-prog-wrapper (Files): Update name of
44439         canonicalize m4 file, broken on 2009-09-17.
44440         Reported by emad hajjar <aleppos@hotmail.com>.
44441
44442 2009-09-19  Bruno Haible  <bruno@clisp.org>
44443
44444         * lib/safe-alloc.h: Use the standard header with GPL copyright.
44445         * lib/safe-alloc.c: Likewise.
44446         Reported by Ian Beckwith <ianb@erislabs.net>.
44447
44448 2009-09-18  Bruno Haible  <bruno@clisp.org>
44449
44450         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
44451         Reported by <erobles@sensacd.com.mx>.
44452
44453 2009-09-17  Eric Blake  <ebb9@byu.net>
44454
44455         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
44456         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
44457         slashes when checking if last component is missing.
44458         * tests/test-canonicalize.c (main): Test this.
44459
44460         canonicalize, canonicalize-lgpl: honor // if distinct from /
44461         * modules/canonicalize (Files): Add double-slash-root.m4.
44462         * modules/canonicalize-lgpl (Files): Likewise.
44463         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44464         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
44465         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
44466         fallback definition.
44467         (canonicalize_filename_mode): Use it to protect //.
44468         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
44469         (__realpath): Likewise.
44470         * tests/test-canonicalize.c (main): Test this.
44471         * tests/test-canonicalize-lgpl.c (main): Likewise.
44472         * modules/canonicalize-tests (Depends-on): Add same-inode.
44473         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44474
44475         canonicalize-lgpl: fix glibc bug with trailing slash
44476         * m4/canonicalize-lgpl.m4: Move contents...
44477         * m4/canonicalize.m4: ...here.
44478         (gl_CANONICALIZE_LGPL): Factor realpath check...
44479         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
44480         glibc 2.3.5 bug, fixed 2005-04-27.
44481         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
44482         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
44483         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
44484         * modules/canonicalize-lgpl (Files): Manage file rename.
44485         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
44486         * modules/stdlib (Makefile.am): Substitute witness.
44487         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
44488         is needed.
44489         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
44490         replacement is required.
44491         * lib/canonicalize.c (canonicalize_file_name): Likewise.
44492         * doc/glibc-functions/canonicalize_file_name.texi
44493         (canonicalize_file_name): Document this.
44494         * doc/posix-functions/realpath.texi (realpath): Likewise.
44495
44496         canonicalize-lgpl: reject non-directory with trailing slash
44497         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
44498         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
44499         catches failures in glibc 2.3.5.
44500         * tests/test-canonicalize.c (main): Likewise.
44501
44502         canonicalize-lgpl: use native realpath if it works
44503         * lib/canonicalize-lgpl.c (realpath): Guard with
44504         FUNC_REALPATH_WORKS.
44505         * lib/stdlib.in.h (realpath): Make declaration optional based on
44506         HAVE_REALPATH.
44507         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
44508         native realpath works.
44509         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
44510         * modules/stdlib (Makefile.am): Substitute witness.
44511
44512         canonicalize, canonicalize-lgpl: use <stdlib.h>
44513         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
44514         (Include): Mention <stdlib.h>.
44515         (configure.ac): Mention functions we provide.
44516         * modules/canonicalize (configure.ac): Likewise.
44517         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
44518         realpath if canonicalize_file_name is missing.
44519         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
44520         * modules/stdlib (Makefile.am): Substitute witnesses.
44521         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
44522         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
44523         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
44524         * NEWS: Document this.
44525         * doc/glibc-functions/canonicalize_file_name.texi
44526         (canonicalize_file_name): Likewise.
44527         * doc/posix-functions/realpath.texi (realpath): Likewise.
44528         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
44529
44530         test-canonicalize: consolidate into single C program
44531         * tests/test-canonicalize.sh: Delete; move setup into...
44532         * tests/test-canonicalize.c (main): ...the program, making it
44533         easier to run in debugger.  Add some tests.
44534         * modules/canonicalize-tests (Files): Remove unused file.
44535         (Depends-on): Add progname.
44536         (configure.ac, Makefile.am): Simplify.
44537
44538         test-canonicalize-lgpl: consolidate into single C program
44539         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
44540         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
44541         easier to run in debugger.  Add some tests.
44542         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
44543         (configure.ac, Makefile.am): Simplify.
44544
44545         canonicalize: avoid resolvepath
44546         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
44547         unnecessary checks.
44548         * lib/canonicalize.c (includes): Simplify.
44549         (canonicalize_file_name): Drop resolvepath implementation.
44550         * modules/canonicalize (Depends-on): Drop filenamecat.
44551
44552         canonicalize: don't lose errno
44553         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
44554         over calls to free.
44555
44556         canonicalize: simplify errno handling
44557         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
44558         assignment.
44559
44560         canonicalize, canonicalize-lgpl: update module dependencies
44561         * modules/canonicalize (Depends-on): Add extensions, lstat,
44562         pathmax, stdlib.
44563         (Files): Drop pathmax.h.
44564         (configure.ac): Adjust macro name.
44565         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
44566         lstat, stdlib, sys_stat.
44567         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
44568         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
44569         extensions.
44570         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
44571         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
44572         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
44573         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
44574         declaration, if available.
44575         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
44576         we can rely on the readlink module.
44577         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
44578         (includes): Use <unistd.h> unconditionally.
44579
44580 2009-09-17  Eric Blake  <ebb9@byu.net>
44581
44582         maint: make Include sections of modules consistent
44583         * modules/alloca: Use only header name; no need to list #include.
44584         * modules/alloca-opt: Likewise.
44585         * modules/arpa_inet: Likewise.
44586         * modules/canon-host: Likewise.
44587         * modules/configmake: Likewise.
44588         * modules/dirent: Likewise.
44589         * modules/eealloc: Likewise.
44590         * modules/environ: Likewise.
44591         * modules/fchdir: Likewise.
44592         * modules/fcntl: Likewise.
44593         * modules/fcntl-h: Likewise.
44594         * modules/gethrxtime: Likewise.
44595         * modules/gettime: Likewise.
44596         * modules/ignore-value: Likewise.
44597         * modules/inet_ntop: Likewise.
44598         * modules/inet_pton: Likewise.
44599         * modules/inttypes: Likewise.
44600         * modules/isnand-nolibm: Likewise.
44601         * modules/isnanf-nolibm: Likewise.
44602         * modules/mbchar: Likewise.
44603         * modules/mbfile: Likewise.
44604         * modules/mbiter: Likewise.
44605         * modules/mbuiter: Likewise.
44606         * modules/netdb: Likewise.
44607         * modules/netinet_in: Likewise.
44608         * modules/nproc: Likewise.
44609         * modules/pagealign_alloc: Likewise.
44610         * modules/poll: Likewise.
44611         * modules/printf-frexp: Likewise.
44612         * modules/pthread: Likewise.
44613         * modules/putenv: Likewise.
44614         * modules/random_r: Likewise.
44615         * modules/relocatable-prog: Likewise.
44616         * modules/search: Likewise.
44617         * modules/select: Likewise.
44618         * modules/selinux-h: Likewise.
44619         * modules/settime: Likewise.
44620         * modules/signal: Likewise.
44621         * modules/size_max: Likewise.
44622         * modules/socklen: Likewise.
44623         * modules/ssize_t: Likewise.
44624         * modules/stdarg: Likewise.
44625         * modules/stdbool: Likewise.
44626         * modules/stddef: Likewise.
44627         * modules/stdint: Likewise.
44628         * modules/stdio: Likewise.
44629         * modules/stdlib: Likewise.
44630         * modules/string: Likewise.
44631         * modules/strings: Likewise.
44632         * modules/sys_file: Likewise.
44633         * modules/sys_ioctl: Likewise.
44634         * modules/sys_select: Likewise.
44635         * modules/sys_socket: Likewise.
44636         * modules/sys_stat: Likewise.
44637         * modules/sys_time: Likewise.
44638         * modules/sys_times: Likewise.
44639         * modules/sys_utsname: Likewise.
44640         * modules/sys_wait: Likewise.
44641         * modules/sysexits: Likewise.
44642         * modules/time: Likewise.
44643         * modules/times: Likewise.
44644         * modules/tmpfile: Likewise.
44645         * modules/trim: Likewise.
44646         * modules/unistd: Likewise.
44647         * modules/wchar: Likewise.
44648         * modules/wctype: Likewise.
44649
44650 2009-09-17  Bruno Haible  <bruno@clisp.org>
44651
44652         Make getdate.y compile on QNX and NetBSD 5 / i386.
44653         * m4/getdate.m4 (gl_GETDATE): Conditionally define
44654         TIME_T_FITS_IN_LONG_INT.
44655         * lib/getdate.y (long_time_t): New type.
44656         (relative_time): Change type of 'seconds' field to long_time_t.
44657         (get_date): Update types of local variables. Check against overflow
44658         during conversion from long_time_t to time_t.
44659         Reported by Matt Kraai <kraai@ftbfs.org>
44660         and Hasso Tepper <hasso@netbsd.org>.
44661
44662 2009-09-17  Bruno Haible  <bruno@clisp.org>
44663
44664         * modules/COPYING: Update copyright years.
44665         * modules/README: Likeiwse.
44666         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
44667         Reported by Ian Beckwith <ianb@erislabs.net>.
44668
44669 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
44670
44671         * users.txt: Update references for gnuit package.
44672
44673 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
44674
44675         * m4/getdelim.m4: Fix typo in copyright line.
44676
44677 2009-09-17  Bruno Haible  <bruno@clisp.org>
44678
44679         * lib/atoll.c: Use the standard header with GPL copyright.
44680         * lib/argz.in.h: Likewise.
44681         * lib/glob.c: Likewise.
44682         * lib/glob-libc.h: Likewise.
44683         * lib/random_r.c: Likewise.
44684         * lib/siglist.h: Likewise.
44685         * lib/strsignal.c: Likewise.
44686         Reported by Ian Beckwith <ianb@erislabs.net>.
44687
44688 2009-09-17  Eric Blake  <ebb9@byu.net>
44689
44690         rmdir: ensure correct dependency order
44691         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
44692
44693 2009-09-17  Bruno Haible  <bruno@clisp.org>
44694
44695         Disable assertion that fails on NetBSD 5 / i386.
44696         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
44697         Reported by Sam Steingold <sds@gnu.org>
44698         and Hasso Tepper <hasso@netbsd.org>.
44699
44700 2009-09-16  Eric Blake  <ebb9@byu.net>
44701
44702         unlinkdir: port to mingw
44703         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
44704         on which no one can unlink a directory.
44705
44706         stdlib: sort witness names
44707         * modules/stdlib (Makefile.am): Sort replacements.
44708         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
44709         * lib/stdlib.in.h: Likewise.
44710
44711         parse-duration-tests: avoid link failure
44712         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
44713         LIBINTL.
44714         Reported by Tom G. Christensen.
44715
44716         openat-tests: ensure unlinkat behaves like rmdir
44717         * tests/test-rmdir.c (main): Factor guts...
44718         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
44719         * modules/rmdir-tests (Files): Ship new file.
44720         * modules/openat-tests: New test.
44721         * tests/test-unlinkat.c: Likewise.
44722
44723         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
44724         * modules/rmdir-errno (Status, Notice): Now obsolete.
44725
44726         rmdir: work around cygwin 1.5.x and mingw bugs
44727         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
44728         * lib/rmdir.c (rmdir): Work around it.
44729         * modules/rmdir (Status, Notice): No longer obsolete.
44730         (Files): Add dos.m4.
44731         (Depends-on): Add unistd.
44732         (configure.ac): Set witnesses.
44733         (License): Relax to LGPLv2+.
44734         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
44735         * modules/unistd (Makefile.am): Substitute witnesses.
44736         * lib/unistd.in.h (rmdir): Declare replacement.
44737         * doc/posix-functions/rmdir.texi (rmdir): Document this.
44738         * modules/rmdir-tests: New tests.
44739         * tests/test-rmdir.c: Likewise.
44740
44741 2009-09-15  Eric Blake  <ebb9@byu.net>
44742
44743         fchdir: improve use of replacement functions
44744         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
44745         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
44746         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
44747         REPLACE_CLOSEDIR.
44748         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
44749         * modules/sys_stat (Makefile.am): Substitute correct witness.
44750         * modules/dirent (Makefile.am): Likewise.
44751         * modules/unistd (Makefile.am): Likewise.
44752         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
44753         * lib/unistd.in.h (dup): Likewise.
44754         * lib/sys_stat.in.h (fstat): Likewise.
44755
44756         maint: ignore gnulib-tool temp files
44757         * .gitignore: Ignore files created during gnulib-tool --test.
44758
44759 2009-09-13  Jim Meyering  <meyering@redhat.com>
44760
44761         posixtm: don't reject a time that specify "60" as the number of seconds
44762         * lib/posixtm.c (posixtime): The code to reject invalid dates
44763         would also reject a time specified with the .60 suffix.
44764         But POSIX allows that, in order to accommodate leap seconds.
44765         So don't reject it.
44766         (main): Adjust tests accordingly.
44767         * modules/posixtm (Depends-on): Add stpcpy.
44768
44769 2009-09-11  Jim Meyering  <meyering@redhat.com>
44770
44771         announce-gen: include [$release_type] in emitted Subject:
44772         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
44773         e.g., [stable] in the emitted Subject: line.
44774
44775 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44776
44777         Remove obsolete macros from several modules.
44778         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
44779         obsolete Autoconf macros with their modern counterparts.
44780         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
44781         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
44782         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
44783         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
44784         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
44785         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
44786         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
44787         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
44788         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
44789         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
44790         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
44791         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
44792         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
44793         * m4/sockets.m4 (gl_SOCKETS): Likewise.
44794         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
44795         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
44796         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
44797         * m4/time_r.m4 (gl_TIME_R): Likewise.
44798         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
44799         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
44800         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
44801
44802         Fix copyright header in build-aux scripts.
44803         * build-aux/git-version-gen: Fix copyright header to match GPLv3
44804         recommendation.
44805         * build-aux/ncftpput-ftp: Likewise.
44806         * build-aux/update-copyright: Likewise.
44807
44808 2009-09-09  Eric Blake  <ebb9@byu.net>
44809
44810         test-link: allow Linux choice of errno
44811         * tests/test-link.c (main): Relax test for alternate error.
44812
44813         strndup: fix improper m4 caching
44814         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
44815         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
44816         (gl_PREREQ_STRNDUP): Delete.
44817         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
44818         * modules/string (Makefile.am): Substitute it.
44819         * lib/string.in.h (strndup): Modernize prototype.
44820
44821         getcwd: port to mingw
44822         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
44823         different from the POSIX assumptions made throughout the getcwd
44824         module; fortunately, the mingw getcwd does not need replacement.
44825         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
44826         * modules/getcwd-tests: New test.
44827         * tests/test-getcwd.c: Likewise.
44828
44829         link: fix platform bugs
44830         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
44831         * lib/link.c (link): Work around them.  Fix related mingw bug.
44832         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
44833         * modules/unistd (Makefile.am): Substitute it.
44834         * lib/unistd.in.h (link): Declare replacement.
44835         * doc/posix-functions/link.texi (link): Document this.
44836         * modules/link (Depends-on): Add strdup-posix, sys_stat.
44837
44838         test-link: consolidate into single C program, test more cases
44839         * tests/test-link.sh: Delete.
44840         * tests/test-link.c: Test more error conditions.  Exposes bugs on
44841         at least Cygwin and Solaris.
44842         * modules/link-tests (Files): Remove unused file.
44843         (Depends-on): Add errno, sys_stat.
44844         (Makefile.am): Simplify.
44845
44846 2009-09-08  Bruno Haible  <bruno@clisp.org>
44847
44848         Work around towlower, towupper bug on mingw.
44849         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
44850         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
44851         * doc/posix-functions/towlower.texi: Mention the mingw bug.
44852         * doc/posix-functions/towupper.texi: Likewise.
44853         Reported by Eric Blake.
44854
44855 2009-09-08  Jim Meyering  <meyering@redhat.com>
44856
44857         build: don't try to run autoheader if we don't use it
44858         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
44859         is not used in configure.ac.
44860
44861 2009-09-08  Eric Blake  <ebb9@byu.net>
44862
44863         euidaccess: fix compilation error
44864         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
44865
44866         rawmemchr: relax license
44867         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
44868         okay.
44869         Reported by Jim Meyering.
44870
44871         mkfifoat: new module
44872         * modules/mkfifoat: New file.
44873         * lib/mkfifoat.c: Likewise.
44874         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
44875         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44876         * modules/sys_stat (Makefile.am): Use them.
44877         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
44878         * MODULES.html.sh (File system functions): Mention module.
44879         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44880         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44881         * modules/mkfifoat-tests: New test.
44882         * tests/test-mkfifoat.c: Likewise.
44883
44884         strchrnul: relax license
44885         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
44886         okay.
44887         Reported by Jim Meyering.
44888
44889 2009-09-08  Eric Blake  <ebb9@byu.net>
44890
44891         fstatat: fix compilation on Solaris
44892         * lib/fstatat.c (includes): Add fcntl.h.
44893         Reported by Pádraig Brady.
44894
44895 2009-09-07  Eric Blake  <ebb9@byu.net>
44896
44897         rename: modernize replacement
44898         * modules/rename (Depends-on): Add stdio.
44899         (configure.ac): Declare witness.
44900         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
44901         stdio take care of replacement.
44902         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
44903         * modules/stdio (Makefile.am): Substitute them.
44904         * lib/stdio.in.h (rename): Declare replacement.
44905         * lib/rename.c (includes): Allow cross-compilation to non-windows
44906         machines.
44907         * doc/posix-functions/rename.texi (rename): Improve
44908         documentation.
44909
44910         stdio: sort witness names
44911         * modules/stdio (Makefile.am): Sort replacements.
44912         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
44913         * lib/stdio.in.h: Likewise.
44914
44915         getcwd: minor cleanups
44916         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
44917         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
44918
44919         openat: provide more convenience names
44920         * modules/faccessat (configure.ac): Add C witness.
44921         * lib/unistd.in.h (readlinkat): Fix typo.
44922         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
44923         convenience wrappers.
44924         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
44925         wrappers in syntax checks.
44926
44927 2009-09-06  Eric Blake  <ebb9@byu.net>
44928
44929         doc: fix comments in recent patches
44930         * lib/faccessat.c: Mention correct function.
44931         * lib/fchmodat.c: Likewise.
44932         * lib/fchownat.c: Likewise.
44933         * lib/symlinkat.c: Likewise.
44934         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
44935         constants.
44936
44937         faccessat, symlinkat: continue cleanup of previous patch
44938         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
44939         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
44940         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
44941         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
44942         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
44943         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
44944         set.
44945
44946 2009-09-06  Bruno Haible  <bruno@clisp.org>
44947
44948         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
44949         (fstatat): Declare if GNULIB_FSTATAT is set.
44950         (mkdirat): Declare if GNULIB_MKDIRAT is set.
44951         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
44952         (unlinkat): Declare if GNULIB_UNLINKAT is set.
44953         * modules/fcntl-h (Files): Remove m4/openat.m4.
44954         * modules/sys_stat (Files): Remove m4/openat.m4.
44955         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
44956         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
44957         * modules/unistd (Files): Remove m4/openat.m4.
44958         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
44959         GNULIB_OPENAT.
44960         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
44961         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
44962         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
44963         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
44964         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
44965         gl_OPENAT_DEFAULTS.
44966         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
44967         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
44968         Don't require gl_OPENAT_DEFAULTS.
44969         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
44970         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
44971         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
44972         (gl_OPENAT_DEFAULTS): Remove macro.
44973
44974 2009-09-06  Bruno Haible  <bruno@clisp.org>
44975
44976         * modules/openat (configure.ac): Remove unneeded witness.
44977
44978 2009-09-06  Bruno Haible  <bruno@clisp.org>
44979
44980         Set errno to ENOSYS when a function is entirely unsupported.
44981         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
44982         EOPNOTSUPP.
44983         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
44984         * modules/chown (Depends-on): Remove errno.
44985
44986 2009-09-06  Bruno Haible  <bruno@clisp.org>
44987
44988         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
44989
44990 2009-09-06  Bruno Haible  <bruno@clisp.org>
44991
44992         * lib/sys_stat.in.h: Fix preprocessor command indentation.
44993
44994 2009-09-06  Ben Pfaff  <blp@gnu.org>
44995             Bruno Haible  <bruno@clisp.org>
44996
44997         Work around a glibc bug in strtok_r.
44998         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
44999         Undefine if UNDEFINE_STRTOK_R is set.
45000         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
45001         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45002         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
45003         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
45004         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
45005         UNDEFINE_STRTOK_R.
45006         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
45007
45008 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
45009
45010         exclude: minor fix
45011         * lib/exclude.c: Include wctype.h
45012
45013 2009-09-06  Akim Demaille  <demaille@gostai.com>
45014
45015         bootstrap: improve error message
45016         * build-aux/bootstrap (find_tool): Upon failure, report the list
45017         of candidates.
45018         Honor the initial value of the envvar.
45019
45020 2009-09-05  Eric Blake  <ebb9@byu.net>
45021
45022         symlinkat: new module
45023         * modules/symlinkat: New file.
45024         * lib/symlinkat.c: Likewise.
45025         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
45026         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45027         * modules/unistd (Makefile.am): Use them.
45028         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
45029         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
45030         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
45031         * MODULES.html.sh (File system functions): Mention module.
45032         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
45033         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45034         * modules/symlinkat-tests: New test.
45035         * tests/test-symlinkat.c: Likewise.
45036
45037         test-openat-safer: add more checks
45038         * tests/test-openat-safer.c (main): Check more code paths.
45039
45040 2009-09-05  Jim Meyering  <meyering@redhat.com>
45041
45042         syntax-check: detect unnecessary inclusion of openat.h
45043         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
45044
45045 2009-09-05  Bruno Haible  <bruno@clisp.org>
45046
45047         Support towlower, towupper.
45048         * doc/posix-functions/towlower.texi: Mention module wctype.
45049         * doc/posix-functions/towupper.texi: Likewise.
45050         * lib/wctype.in.h (towlower, towupper): New functions.
45051         * tests/test-wctype.c: Include stdio.h, stdlib.h.
45052         (ASSERT): New macro.
45053         (e): New variable.
45054         (main): Test also towlower, towupper. Test WEOF argument.
45055         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45056
45057 2009-09-05  Bruno Haible  <bruno@clisp.org>
45058
45059         Fix conversion behaviour when the input is invalid.
45060         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
45061         mark occurring in first pass of indirect conversion.
45062         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
45063         input.
45064         Found by clang's static analyzer.
45065
45066 2009-09-05  Bruno Haible  <bruno@clisp.org>
45067
45068         * tests/test-striconveh.c (main): Test indirect conversion on platforms
45069         where direct conversion is possible.
45070
45071 2009-09-04  Eric Blake  <ebb9@byu.net>
45072
45073         openat: fail with ENOENT on empty name
45074         * lib/openat-proc.c (openat_proc_name): Special-case the empty
45075         buffer.
45076
45077         link-follow: fix logic bug in prior patch
45078         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
45079         reversed sense of yes and no in prior patch.  Avoid confusing
45080         compilation failure with desired semantics.
45081
45082         link-follow: accommodate mingw and cross-compilation
45083         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
45084         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
45085         cross-compilation results to -1, to make linkat easier to
45086         implement when cross-compiling.  Trivially support mingw.
45087         * modules/link-follow (configure.ac): Call new name.
45088         * NEWS: Mention this.
45089
45090 2009-09-03  Eric Blake  <ebb9@byu.net>
45091
45092         faccessat: compile replacement
45093         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
45094         needed.
45095
45096         fts: fix compilation error
45097         * lib/fts.c (includes): Re-add "openat.h", for
45098         openat_needs_fchdir.
45099
45100         faccessat: new module
45101         * modules/faccessat: New file.
45102         * lib/faccessat.c: Likewise.
45103         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45104         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45105         * modules/unistd (Makefile.am): Use it.
45106         * lib/unistd.in.h (faccessat): Declare it.
45107         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
45108         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
45109         * MODULES.html.sh (File system functions): Mention it.
45110         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
45111         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
45112
45113         euidaccess: prefer POSIX over non-standard implementation
45114         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
45115         * lib/euidaccess.c (euidaccess): Use it if available.
45116
45117         openat: make template easier to use
45118         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
45119         AT_FUNC_F2 to be undefined.
45120         (VALIDATE_FLAG): New macro; use it to reject bad flags.
45121         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
45122         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
45123         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
45124         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
45125         Likewise.
45126         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
45127         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
45128         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
45129         Likewise.
45130
45131         openat: declare in POSIX headers
45132         * NEWS: Mention this.
45133         * modules/openat (configure.ac): Declare witnesses.
45134         (Depends-on): Add fcntl-h, sys_stat, unistd.
45135         (Include): Mention correct headers.
45136         * modules/fcntl-h (Depends-on): Add link-warning.
45137         (Files): Add openat.m4.
45138         (Makefile.am): Substitute witnesses.
45139         * modules/sys_stat (Files, Makefile.am): Likewise.
45140         * modules/unistd (Files, Makefile.am): Likewise.
45141         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
45142         (gl_OPENAT_DEFAULTS): New macro.
45143         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
45144         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
45145         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
45146         (SYS_STAT_H): Remove unused variable.
45147         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
45148         * lib/fcntl--.h (includes): Remove unneeded header.
45149         * lib/openat-safer.c (includes): Likewise.
45150         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
45151         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
45152         appropriate headers.
45153         (__OPENAT_PREFIX): Delete.
45154         * lib/fcntl.in.h (openat): Provide declaration.
45155         (AT_FDCWD): Fix Solaris bug.
45156         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
45157         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
45158         * lib/fchmodat.c (includes):  Adjust to find declaration.
45159         * lib/fchownat.c (includes): Likewise.
45160         * lib/mkdirat.c (includes): Likewise.
45161         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
45162         still visible.
45163
45164 2009-09-02  Eric Blake  <ebb9@byu.net>
45165
45166         errno: use consistently
45167         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
45168         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
45169         * lib/canonicalize.c (ELOOP): Likewise.
45170         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
45171         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
45172         * lib/lchown.c (EOPNOTSUPP): Likewise.
45173         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
45174         * lib/savewd.c (ESTALE): Likewise.
45175         * lib/settime.c (ENOSYS): Likewise.
45176         * lib/utimens.c (ENOSYS): Likewise.
45177         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
45178         * lib/chdir-safer.c (ELOOP): Likewise.
45179         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
45180         * modules/c-stack (Depends-on): Add errno.
45181         * modules/canonicalize (Depends-on): Likewise.
45182         * modules/chdir-safer (Depends-on): Likewise.
45183         * modules/fdopendir (Depends-on): Likewise.
45184         * modules/inet_ntop (Depends-on): Likewise.
45185         * modules/inet_pton (Depends-on): Likewise.
45186         * modules/lchown (Depends-on): Likewise.
45187         * modules/openat (Depends-on): Likewise.
45188         * modules/savewd (Depends-on): Likewise.
45189         * modules/settime (Depends-on): Likewise.
45190         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
45191
45192         fts: avoid leaking fds
45193         * modules/fts (Depends-on): Add cloexec.
45194         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
45195         flag.
45196
45197         fts: make directory fds more robust
45198         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
45199         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
45200
45201         backupfile, chdir-long, fts, savedir: make safer
45202         * lib/backupfile.c (includes): Use "dirent--.h", since
45203         numbered_backup can write to stderr during readdir.
45204         * lib/savedir.c (includes): Likewise.
45205         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
45206         emulation can write to stderr on failure.
45207         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
45208         * lib/getcwd.c: Document why opendir_safer is unused.
45209         * lib/glob.c: Likewise.
45210         * lib/scandir.c: Likewise.
45211         * lib/openat-proc.c: Likewise, for open_safer.
45212         * modules/backupfile (Depends-on): Add dirent-safer.
45213         * modules/savedir (Depends-on): Likewise.
45214         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
45215         * modules/chdir-long (Depends-on): Add openat-safer.
45216
45217         openat-safer: new module
45218         * modules/openat-safer: New file.
45219         * lib/openat-safer.c: Likewise.
45220         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
45221         * lib/fcntl-safer.h (openat_safer): Declare.
45222         * lib/fcntl--.h (openat): Override.
45223         * MODULES.html.sh (File descriptor based I/O): Mention it.
45224         * lib/openat.h: Add double-inclusion guards.
45225         * lib/openat.c (includes): Only include "fcntl-safer.h", not
45226         "fcntl--.h", so we can implement openat.
45227         * modules/openat-safer-tests: New test.
45228         * tests/test-openat-safer.c: New file.
45229
45230         dirent-safer: new module
45231         * modules/dirent-safer: New file.
45232         * lib/dirent--.h: Likewise.
45233         * lib/dirent-safer.h: Likewise.
45234         * lib/opendir-safer.c: Likewise.
45235         * m4/dirent-safer.m4: Likewise.
45236         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
45237         * modules/dirent-safer-tests: New test.
45238         * tests/test-dirent-safer.c: New file.
45239         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
45240
45241         fdopendir: optimize on mingw
45242         * lib/unistd.in.h (_gl_directory_name): New prototype.
45243         * lib/fchdir.c (_gl_directory_name): Implement it.
45244         (fchdir): Use it to simplify implementation.
45245         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
45246         fchdir, when available, to avoid calling [f]chdir().
45247
45248         fdopendir: split into its own module
45249         * lib/openat.c (fdopendir): Move...
45250         * lib/fdopendir.c: ...into new file.
45251         * modules/fdopendir: New module.
45252         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
45253         * modules/openat (Depends-on): Add fdopendir.
45254         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
45255         fdopendir here.
45256         * modules/savedir (Depends-on): Only need fdopendir, not full
45257         openat.
45258         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
45259         * lib/openat.h (fdopendir): Drop prototype.
45260         * lib/dirent.in.h (fdopendir): Provide prototype.
45261         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
45262         * modules/dirent (Makefile.am): Substitute them.
45263         * MODULES.html.sh (File system functions): Mention it.
45264         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
45265         * modules/fdopendir-tests: New file.
45266         * tests/test-fdopendir.c: Likewise.
45267
45268         fchdir: use more consistent macro convention
45269         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
45270         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
45271         REPLACE_FCHDIR, rather than relying on config.h macros.
45272         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
45273         inside a single make-time REPLACE_FCHDIR block, rather than using
45274         the config.h FCHDIR_REPLACEMENT.
45275         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
45276         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
45277         Manage fstat replacement.
45278         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
45279         REPLACE_FCHDIR.
45280         * modules/sys_stat (Files): Add m4/unistd_h.m4.
45281         (Makefile.am): Substitute REPLACE_FCHDIR.
45282         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
45283         FCHDIR_REPLACEMENT.
45284         * lib/dup-safer.c (dup_safer): Likewise.
45285         * lib/dup2.c (rpl_dup2): Likewise.
45286         * lib/dup3.c (rpl_dup3): Likewise.
45287         * lib/open.c (rpl_open): Likewise.
45288
45289         fchdir: simplify error handling, and support dup3
45290         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
45291         stdbool, malloc-posix, realloc-posix.
45292         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
45293         (ensure_dirs_slot): Return false on allocation failure.
45294         (rpl_dup2): Delete.
45295         (_gl_register_dup): New function.
45296         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
45297         (_gl_register_fd): Close fd on allocation failure.
45298         * lib/fcntl.in.h (_gl_register_fd): Update signature.
45299         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
45300         prototype.
45301         (rpl_dup2_fchdir): Delete prototype.
45302         * lib/open.c (open): Update caller.
45303         * lib/dup2.c (dup2): Track fchdir metadata.
45304         * lib/dup3.c (dup3): Likewise.
45305         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
45306         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
45307
45308 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45309
45310         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
45311         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
45312         don't pass arguments to AC_OUTPUT.
45313
45314 2009-09-02  Bruno Haible  <bruno@clisp.org>
45315
45316         * modules/mkdtemp (License): Relicense under LGPLv2+.
45317         Reported by Paolo Bonzini.
45318
45319 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45320
45321         Replace uses of obsolete autoconf macros in Jim's modules.
45322         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
45323         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
45324         can evoke a warning from autoconf when run with -Wobsolete
45325         enabled.  They were declared obsolete for good reasons (see
45326         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
45327         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
45328         should not continue using the deprecated macros.
45329         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
45330         obsolete Autoconf macros with modern counterparts.
45331         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
45332         * m4/dos.m4 (gl_AC_DOS): Likewise.
45333         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
45334         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
45335         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
45336         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
45337         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
45338         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
45339         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
45340         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
45341         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
45342         Likewise.
45343         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
45344         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
45345         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
45346         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
45347         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
45348         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
45349
45350 2009-09-01  Eric Blake  <ebb9@byu.net>
45351
45352         fchdir: fix off-by-one bug in previous patch
45353         * lib/fchdir.c (rpl_fstat): Use correct bounds.
45354         (_gl_unregister_fd): Delete useless if.
45355
45356 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
45357
45358         maint.mk: sort the list of syntax-check rules
45359         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
45360         easier to get a sense of progress when the rules are run sequentially
45361         and take a long time.
45362
45363 2009-09-01  Simon Josefsson  <simon@josefsson.org>
45364
45365         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
45366         * modules/netinet_in: Likewise.
45367         * modules/sys_file: Likewise.
45368         * modules/sys_ioctl: Likewise.
45369         * modules/sys_select: Likewise.
45370         * modules/sys_socket: Likewise.
45371         * modules/sys_stat: Likewise.
45372         * modules/sys_time: Likewise.
45373         * modules/sys_times: Likewise.
45374         * modules/sys_utsname: Likewise.
45375         * modules/sys_wait: Likewise.
45376
45377 2009-09-01  Jim Meyering  <meyering@redhat.com>
45378
45379         fts: help ensure that return values are not ignored
45380         * lib/fts_.h (__GNUC_PREREQ): Define.
45381         (__attribute_warn_unused_result__): Define.
45382         (fts_children, fts_close, fts_open, fts_read): Declare with
45383         __attribute_warn_unused_result__.
45384
45385         fts: fts_close now fails also when closing a dir file descriptor fails
45386         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
45387         and propagate to caller, along with errno.
45388
45389         announce-gen: correct formatting in --help output
45390         * build-aux/announce-gen (usage): Move the one-line description in
45391         --help output "up", to where it belongs, just after Usage:.
45392
45393 2009-08-31  Eric Blake  <ebb9@byu.net>
45394
45395         fchdir: port to mingw
45396         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
45397         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
45398         opened, then use a substitute.
45399         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
45400         replacement.
45401         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
45402         (_gl_register_fd): No need to check stat if open already filters
45403         all directories.
45404         (fchdir): Fix error condition to match POSIX.
45405         * modules/fchdir (Depends-on): Add sys_stat.
45406         * doc/posix-functions/open.texi (open): Document the limitation.
45407         * modules/fchdir-tests: New file.
45408         * tests/test-fchdir.c: Likewise.
45409
45410         canonicalize: allow cross-testing from cygwin to mingw
45411         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
45412         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
45413         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
45414         Likewise.
45415         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
45416         target does not support symlinks.
45417         * tests/test-canonicalize-lgpl.sh: Likewise.
45418
45419         chown: avoid compilation warning on mingw
45420         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
45421         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
45422         mingw.
45423         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45424         * modules/chown (Depends-on): Add errno.
45425
45426 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
45427
45428         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
45429         command.
45430
45431 2009-08-31  Jim Meyering  <meyering@redhat.com>
45432
45433         canonicalize: remove useless initialization
45434         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
45435         initialization of local, "end".
45436
45437 2009-08-30  Bruno Haible  <bruno@clisp.org>
45438
45439         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
45440         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
45441         ENOSYS.
45442
45443 2009-08-30  Bruno Haible  <bruno@clisp.org>
45444
45445         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
45446         /usr/xpg4/bin/tr when it exists.
45447         * tests/test-pipe-filter-gi1.sh: Likewise.
45448
45449 2009-08-30  Bruno Haible  <bruno@clisp.org>
45450
45451         Work around deficient /usr/bin/id program on Solaris.
45452         * tests/test-file-has-acl.sh (ID): New variable.
45453         * tests/test-set-mode-acl.sh (ID): Likewise.
45454         * tests/test-copy-acl.sh (ID): Likewise.
45455         * tests/test-copy-file.sh (ID): Likewise.
45456
45457 2009-08-30  Bruno Haible  <bruno@clisp.org>
45458
45459         New module 'xstriconveh'.
45460         * lib/xstriconveh.h: New file.
45461         * lib/xstriconveh.c: New file.
45462         * modules/xstriconveh: New file.
45463
45464 2009-08-30  Bruno Haible  <bruno@clisp.org>
45465
45466         Make it easier to use mem_cd_iconveh.
45467         * lib/striconveh.h (iconveh_t): New type.
45468         (iconveh_open, iconveh_close): New declarations.
45469         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
45470         with a single 'const iconveh_t *' argument.
45471         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
45472         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
45473         with a single 'const iconveh_t *' argument.
45474         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
45475         * tests/test-striconveh.c (main): Update.
45476         * NEWS: Mention the change.
45477
45478 2009-08-30  Bruno Haible  <bruno@clisp.org>
45479
45480         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
45481         problem.
45482
45483 2009-08-30  Bruno Haible  <bruno@clisp.org>
45484
45485         Work around iconv_open problem on Solaris.
45486         * lib/iconv_open-solaris.gperf: New file.
45487         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
45488         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
45489         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
45490         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
45491         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
45492         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
45493
45494 2009-08-29  Jim Meyering  <meyering@redhat.com>
45495
45496         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
45497         * top/maint.mk (cvs-check): Remove target; it was just an alias
45498         to the better-named vc-diff-check.
45499         (maintainer-distcheck): Remove rule.  It was used only from
45500         the (alpha/beta/major) target, and all of its commands but one
45501         were coreutils-specific.
45502         (vc-dist): Remove rule.
45503         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
45504         Run vc-diff-check, not vc-dist.
45505         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
45506
45507 2009-08-27  Bruno Haible  <bruno@clisp.org>
45508
45509         * tests/test-bitrotate.c (main): Remove test that uses a shift count
45510         of 0.
45511
45512 2009-08-27  Bruno Haible  <bruno@clisp.org>
45513
45514         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
45515         compilers.
45516         * doc/func.texi: Document the SunPRO C bug.
45517
45518 2009-08-27  Bruno Haible  <bruno@clisp.org>
45519
45520         Fix link error on Solaris.
45521         * tests/test-parse-duration.c (xstrdup): Remove function.
45522
45523 2009-08-26  Pádraig Brady  <P@draigbrady.com>
45524
45525         ignore-value: handle pointer types, too
45526         * lib/ignore-value.h (__attribute__): Remove definition.
45527         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
45528         of a more concise and more-often effective "(void) i" statement.
45529         (ignore_ptr): New function to suppress warnings from functions that
45530         return pointers, and to make it explicit that one function doesn't
45531         handle all cases.
45532
45533 2009-08-25  Bruno Haible  <bruno@clisp.org>
45534
45535         dup2: work around a Linux bug.
45536         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
45537         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
45538         * doc/posix-functions/dup2.texi: Mention the Linux bug.
45539         Reported by Simon Josefsson.
45540
45541 2009-08-25  Jim Meyering  <meyering@redhat.com>
45542
45543         libguestfs uses gnulib
45544         * users.txt: Add libguestfs.
45545
45546 2009-08-24  Eric Blake  <ebb9@byu.net>
45547
45548         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
45549         * lib/pipe2.c (includes): Add binary-io.h.
45550         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
45551
45552 2009-08-24  Bruno Haible  <bruno@clisp.org>
45553
45554         Tolerate declared but missing accept4 syscall.
45555         * lib/accept4.c (accept4): Invoke original accept4 function first, if
45556         available.
45557         * lib/sys_socket.in.h (accept4): If the function is already present,
45558         override it.
45559         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
45560         * modules/accept4 (Makefile.am): Compile accept4.c always.
45561         Reported by Paolo Bonzini and Eric Blake.
45562
45563 2009-08-23  Bruno Haible  <bruno@clisp.org>
45564
45565         New module 'accept4'.
45566         * lib/sys_socket.in.h (accept4): New declaration.
45567         * lib/accept4.c: New file.
45568         * m4/accept4.m4: New file.
45569         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45570         GNULIB_ACCEPT4, HAVE_ACCEPT4.
45571         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
45572         HAVE_ACCEPT4.
45573         * modules/accept4: New file.
45574         * doc/glibc-functions/accept4.texi: Mention the new module.
45575
45576 2009-08-24  Jim Meyering  <meyering@redhat.com>
45577
45578         progname: also set global program_invocation_name, when possible
45579         Before this change, a libtool-enabled program that calls glibc's
45580         error function would report the program name as
45581         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
45582         * modules/progname (configure.ac): Check for a declaration of
45583         program_invocation_name.
45584         * lib/progname.c:  Include <errno.h>.
45585         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
45586         Set program_invocation_name.
45587
45588 2009-08-23  Bruno Haible  <bruno@clisp.org>
45589
45590         * lib/dup3.c: Include <string.h>.
45591
45592 2009-08-23  Bruno Haible  <bruno@clisp.org>
45593
45594         * lib/dup3.c (dup3): Test only once whether the system actually exists.
45595         * lib/pipe2.c (pipe2): Likewise.
45596         Suggested by Eric Blake.
45597
45598 2009-08-23  Bruno Haible  <bruno@clisp.org>
45599
45600         Tolerate declared but missing dup3 syscall.
45601         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
45602         * lib/unistd.in.h (dup3): If the function is already present,
45603         override it.
45604         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
45605         * modules/dup3 (Makefile.am): Compile dup3.c always.
45606         Reported by Paolo Bonzini.
45607
45608 2009-08-23  Bruno Haible  <bruno@clisp.org>
45609
45610         Tolerate declared but missing pipe2 syscall.
45611         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
45612         available.
45613         * lib/unistd.in.h (pipe2): If the function is already present,
45614         override it.
45615         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
45616         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
45617         Reported by Paolo Bonzini.
45618
45619 2009-08-23  Bruno Haible  <bruno@clisp.org>
45620
45621         * lib/pipe2.c (pipe2): Move #ifs inside function.
45622
45623 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
45624
45625         quotearg: document limitations of quote_these_too
45626         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
45627         those limitations are created.
45628         * lib/quotearg.h (set_char_quoting): Document that digits and
45629         letters that are special after backslash are not permitted.
45630         (quotearg_char): Cross-reference set_char_quoting documentation.
45631
45632 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
45633
45634         quotearg: implement custom_quoting_style
45635         * lib/quotearg.c: (struct quoting_options): Add left_quote and
45636         right_quote fields.
45637         (set_custom_quoting): New public function.
45638         (quotearg_buffer_restyled): Add left_quote and right_quote
45639         arguments, handle them very much like locale quoting, and update
45640         all uses.
45641         (quotearg_n_custom): New public function.
45642         (quotearg_n_custom_mem): New public function.
45643         (quotearg_custom): New public function.
45644         (quotearg_custom_mem): New public function.
45645         * lib/quotearg.h: Prototype and document new public functions.
45646         (enum quoting_style): For escape_quoting_style and
45647         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
45648         ignored even though they're otherwise like c_quoting_style.
45649         Add custom_quoting_style member and document with comparison to
45650         clocale_quoting_style.
45651         * tests/test-quotearg.c (custom_quotes): New array.
45652         (custom_results): New array.
45653         (main): Extend to test custom quoting.
45654
45655 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
45656
45657         quotearg: fix right quote escaping when it's in quote_these_too
45658         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
45659         quote, be sure to prepend only one backslash.
45660         * tests/test-quotearg.c (use_quote_double_quotes): New function.
45661         (main): Test it.
45662
45663 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
45664
45665         quotearg-tests: test escaping of embedded locale quotes
45666         * tests/test-quotearg.c (struct result_strings): Add member for
45667         new input.
45668         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
45669         (inputs): Add new input.
45670         (results_g): Add expected results.
45671         (flag_results): Likewise.
45672         (locale_results): Likewise.
45673         (compare_strings): Check those.
45674
45675 2009-08-23  Bruno Haible  <bruno@clisp.org>
45676
45677         Tests for module 'dup3'.
45678         * modules/dup3-tests: New file.
45679         * tests/test-dup3.c: New file.
45680
45681         New module 'dup3'.
45682         * lib/unistd.in.h (dup3): New declaration.
45683         * lib/dup3.c: New file.
45684         * m4/dup3.m4: New file.
45685         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
45686         HAVE_DUP3.
45687         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
45688         * modules/dup3: New file.
45689         * doc/glibc-functions/dup3.texi: Mention the new module.
45690
45691 2009-08-23  Bruno Haible  <bruno@clisp.org>
45692
45693         Tweak the dup2 test.
45694         * tests/test-dup2.c (main): Create the test file empty. Verify that an
45695         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
45696         the test file is still empty. Fix argument order of lseek.
45697
45698 2009-08-23  Bruno Haible  <bruno@clisp.org>
45699
45700         Avoid test link errors when the modules getopt-gnu, gettext are used.
45701         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
45702         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45703
45704 2009-08-23  Bruno Haible  <bruno@clisp.org>
45705
45706         Fix getdtablesize() on mingw.
45707         * lib/getdtablesize.c (getdtablesize): Implement differently.
45708         * lib/unistd.in.h (getdtablesize): Improve comment.
45709
45710 2009-08-23  Bruno Haible  <bruno@clisp.org>
45711
45712         New module 'mkostemp'.
45713         Based on Ulrich Drepper's 2007-08-10 change in glibc.
45714         * lib/stdlib.in.h (mksotemp): New declaration.
45715         * lib/mkostemp.c: New file, from glibc with modifications.
45716         * lib/tempname.h (GT_FILE): Remove outdated comment.
45717         (gen_tempname): Add flags argument.
45718         * lib/tempname.c (__GT_BIGFILE): Remove macro.
45719         (__GT_FILE): Map to 1.
45720         (small_open, large_open): Remove macros.
45721         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
45722         * lib/mkstemp.c (mkstemp): Update.
45723         * lib/mkdtemp.c (mkdtemp): Likewise.
45724         * m4/mkostemp.m4: New file.
45725         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
45726         HAVE_MKOSTEMP.
45727         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
45728         HAVE_MKOSTEMP.
45729         * modules/mkostemp: New file, based on modules/mkstemp.
45730         * doc/glibc-functions/mkostemp.texi: Mention the new module.
45731         * NEWS: Mention the change.
45732
45733 2009-08-23  Bruno Haible  <bruno@clisp.org>
45734
45735         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
45736         Reported by Eric Blake.
45737
45738 2009-08-23  Bruno Haible  <bruno@clisp.org>
45739
45740         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
45741         Reported by Eric Blake.
45742
45743 2009-08-23  Bruno Haible  <bruno@clisp.org>
45744
45745         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
45746         * modules/pipe2 (Depends-on): Likewise.
45747
45748 2009-08-23  Eric Blake  <ebb9@byu.net>
45749
45750         fcntl-h: add O_TTY_INIT support
45751         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
45752         * tests/test-fcntl-h.c (o): Test it.
45753         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
45754
45755         fcntl-h: rename from fcntl, in preparation for fcntl(2)
45756         * modules/fcntl: Move <fcntl.h> header replacement...
45757         * modules/fcntl-h: ...to new name, so as not to collide with
45758         like-named function.
45759         * tests/test-fcntl.c: Rename...
45760         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
45761         * modules/fcntl-tests: Rename...
45762         * modules/fcntl-h-tests: ...to this.  Update test file name.
45763         * modules/chdir-long (Depends-on): Update clients.
45764         * modules/chdir-safer (Depends-on): Likewise.
45765         * modules/fcntl-safer (Depends-on): Likewise.
45766         * modules/fts (Depends-on): Likewise.
45767         * modules/mkancesdirs (Depends-on): Likewise.
45768         * modules/mkdir-p (Depends-on): Likewise.
45769         * modules/open (Depends-on): Likewise.
45770         * modules/savewd (Depends-on): Likewise.
45771         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
45772         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
45773
45774 2009-08-22  Bruno Haible  <bruno@clisp.org>
45775
45776         * modules/binary-io (License): Relicense under LGPL.
45777         * modules/pipe2 (License): Likewise.
45778
45779 2009-08-22  Bruno Haible  <bruno@clisp.org>
45780
45781         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
45782         return value.
45783         * lib/pipe-filter-gi.c (filter_init): Likewise.
45784         Reported by Eric Blake.
45785
45786 2009-08-22  Bruno Haible  <bruno@clisp.org>
45787
45788         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
45789         * modules/pipe (Depends-on): Add pipe2.
45790
45791 2009-08-22  Bruno Haible  <bruno@clisp.org>
45792
45793         Tests for module 'pipe2'.
45794         * modules/pipe2-tests: New file.
45795         * tests/test-pipe2.c: New file.
45796
45797         New module 'pipe2'.
45798         * lib/unistd.in.h (pipe2): New declaration.
45799         * lib/pipe2.c: New file.
45800         * m4/pipe2.m4: New file.
45801         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
45802         HAVE_PIPE2.
45803         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
45804         * modules/pipe2: New file.
45805         * doc/glibc-functions/pipe2.texi: Mention the new module.
45806
45807 2009-08-22  Bruno Haible  <bruno@clisp.org>
45808
45809         Reference some new glibc functions.
45810         * doc/glibc-functions/accept4.texi: New file.
45811         * doc/glibc-functions/dup3.texi: New file.
45812         * doc/glibc-functions/mkostemp.texi: New file.
45813         * doc/glibc-functions/pipe2.texi: New file.
45814         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
45815         (Glibc sys/socket.h): Refer to accept4.
45816         (Glibc unistd.h): Refer to dup3, pipe2.
45817         Reported by Eric Blake.
45818
45819 2009-08-22  Jim Meyering  <meyering@redhat.com>
45820             Bruno Haible  <bruno@clisp.org>
45821
45822         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
45823         This makes it so packages using automake-1.11's silent-rules option
45824         can print e.g., a single "GEN    configmake.h" line, rather than
45825         the 30+ statements that perform the job.  If you want to see the
45826         actual commands, you can still run "make V=1".
45827         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
45828         so that make output is abbreviated when those variables are defined
45829         appropriately.
45830         * modules/argz: Likewise.
45831         * modules/arpa_inet: Likewise.
45832         * modules/byteswap: Likewise.
45833         * modules/configmake: Likewise.
45834         * modules/dirent: Likewise.
45835         * modules/errno: Likewise.
45836         * modules/fcntl: Likewise.
45837         * modules/float: Likewise.
45838         * modules/fnmatch: Likewise.
45839         * modules/getopt-posix: Likewise.
45840         * modules/glob: Likewise.
45841         * modules/iconv_open: Likewise.
45842         * modules/inttypes: Likewise.
45843         * modules/localcharset: Likewise.
45844         * modules/locale: Likewise.
45845         * modules/math: Likewise.
45846         * modules/netdb: Likewise.
45847         * modules/netinet_in: Likewise.
45848         * modules/poll: Likewise.
45849         * modules/posix_spawnp-tests: Likewise.
45850         * modules/sched: Likewise.
45851         * modules/search: Likewise.
45852         * modules/selinux-h: Likewise.
45853         * modules/signal: Likewise.
45854         * modules/spawn: Likewise.
45855         * modules/stdarg: Likewise.
45856         * modules/stdbool: Likewise.
45857         * modules/stddef: Likewise.
45858         * modules/stdint: Likewise.
45859         * modules/stdio: Likewise.
45860         * modules/stdlib: Likewise.
45861         * modules/string: Likewise.
45862         * modules/strings: Likewise.
45863         * modules/sys_file: Likewise.
45864         * modules/sys_ioctl: Likewise.
45865         * modules/sys_select: Likewise.
45866         * modules/sys_socket: Likewise.
45867         * modules/sys_stat: Likewise.
45868         * modules/sys_time: Likewise.
45869         * modules/sys_times: Likewise.
45870         * modules/sys_utsname: Likewise.
45871         * modules/sys_wait: Likewise.
45872         * modules/sysexits: Likewise.
45873         * modules/time: Likewise.
45874         * modules/unistd: Likewise.
45875         * modules/wchar: Likewise.
45876         * modules/wctype: Likewise.
45877
45878 2009-08-22  Jim Meyering  <meyering@redhat.com>
45879
45880         announce-gen: detect write failure
45881         * build-aux/announce-gen: Add Coda at end.
45882         Remove equivalent-but-more-verbose block at top.
45883
45884 2009-08-19  Akim Demaille  <demaille@gostai.com>
45885
45886         bootstrap: --help to stdout.
45887         * bootstrap (usage): Don't send --help to stderr.
45888         Use a here doc instead of a long string.
45889
45890 2009-08-21  Eric Blake  <ebb9@byu.net>
45891
45892         test-popen-safer: split from test-popen
45893         * tests/test-popen.c (main): Move...
45894         * tests/test-popen.h: ...into new file.
45895         * tests/test-popen-safer2.c: New file.
45896         * modules/popen-tests (Files): Add test-popen.h.
45897         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
45898         Suggested by Bruno Haible.
45899
45900         test-fcntl-safer: split from test-open
45901         * tests/test-open.c (main): Move...
45902         * tests/test-open.h: ...into new file.
45903         * tests/test-fcntl-safer.c: New file.
45904         * modules/open-tests (Files): Add test-open.h.
45905         * modules/fcntl-safer-tests: New file.
45906         Suggested by Bruno Haible.
45907
45908         test-fopen-safer: split from test-fopen
45909         * tests/test-fopen.c (main): Move...
45910         * tests/test-fopen.h: ...into new file.
45911         * tests/test-fopen-safer.c: New file.
45912         * modules/fopen-tests (Files): Add test-fopen.h.
45913         * modules/fopen-safer-tests: New file.
45914         Suggested by Bruno Haible.
45915
45916 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
45917
45918         popen-safer: test O_CLOEXEC at run-time.
45919         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
45920
45921 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
45922
45923         fcntl: move more flags to the header
45924         * lib/cloexec.c: Do not define FD_CLOEXEC here.
45925         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
45926         * lib/fcntl.in.h: Do both things here.
45927
45928 2009-08-21  Jim Meyering  <meyering@redhat.com>
45929
45930         consistently remove $@-t before redirecting to it
45931         * modules/argz: Remove $@-t and $@ before redirecting to the former.
45932         * modules/alloca-opt: Likewise.
45933         * modules/byteswap: Likewise.
45934         * modules/fnmatch: Likewise.
45935         * modules/getopt-posix: Likewise.
45936         * modules/glob: Likewise.
45937         * modules/poll: Likewise.
45938         * modules/posix_spawnp-tests: Likewise.
45939         * modules/sys_socket: Likewise.
45940         * modules/sysexits: Likewise.
45941
45942 2009-08-21  Eric Blake  <ebb9@byu.net>
45943
45944         popen: simplify access to original popen
45945         * lib/popen.c (rpl_popen): No need to worry about popen being a
45946         macro.
45947         Reported by Bruno Haible.
45948
45949 2009-08-20  Eric Blake  <ebb9@byu.net>
45950
45951         build: avoid some compiler warnings
45952         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
45953         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
45954         type.
45955         (new_exclude_segment, excluded_file_pattern_p)
45956         (excluded_file_name_p): Reduce scope.
45957         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
45958         old-style declaration.
45959
45960 2009-08-20  Simon Josefsson  <simon@josefsson.org>
45961
45962         * tests/test-exclude1.sh: Handle Windows EOL.
45963         * tests/test-exclude2.sh: Likewise.
45964         * tests/test-exclude3.sh: Likewise.
45965         * tests/test-exclude4.sh: Likewise.
45966         * tests/test-exclude5.sh: Likewise.
45967         * tests/test-exclude6.sh: Likewise.
45968         * tests/test-exclude7.sh: Likewise.
45969
45970 2009-08-19  Akim Demaille  <demaille@gostai.com>
45971
45972         bootstrap: find sha1sum when named gsha1sum.
45973         * bootstrap (find_tool): New.
45974         ($SHA1SUM): New.
45975         Use it.
45976
45977 2009-08-20  Jim Meyering  <meyering@redhat.com>
45978
45979         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
45980         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
45981         expression that converts "." in a file name to "\." in the resulting
45982         regexp.  Start with a dummy statement, so that prior shell variable
45983         definitions are expanded portably.  Reported by Simon Josefsson.
45984
45985 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
45986
45987         Fix polling for writeability of a screen buffer.
45988         * lib/poll.c: Distinguish input and screen buffers for the
45989         Win32 implementation.
45990         * lib/select.c: Likewise.
45991
45992 2009-08-19  Eric Blake  <ebb9@byu.net>
45993
45994         popen-safer: prevent popen from clobbering std descriptors
45995         * modules/popen-safer: New file.
45996         * lib/popen-safer.c: Likewise.
45997         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
45998         * lib/stdio--.h (popen): Provide override.
45999         * lib/stdio-safer.h (popen_safer): Provide declaration.
46000         * tests/test-popen.c (includes): Partially test this.
46001         * modules/popen-safer-tests: New file, for more tests.
46002         * tests/test-popen-safer.c: Likewise.
46003         * MODULES.html.sh (file stream based Input/Output): Mention it.
46004
46005         tests: test some of the *-safer modules
46006         * modules/fopen-safer (Depends-on): Add fopen.
46007         * modules/fcntl-safer (Depends-on): Add fcntl.
46008         * modules/stdlib-safer (Depends-on): Add stdlib.
46009         (configure.ac): Set indicator.
46010         * modules/unistd-safer (configure.ac): Likewise.
46011         * modules/tmpfile-safer (configure.ac): Likewise.
46012         (Depends-on): Add tmpfile.
46013         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
46014         active.
46015         * tests/test-fopen.c (includes): Test safer versions when they are
46016         in use.
46017         * tests/test-open.c (includes): Likewise.
46018
46019         popen: fix cygwin 1.5 bug when stdin closed
46020         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
46021         * modules/popen: New file.
46022         * modules/popen-tests: Likewise.
46023         * tests/test-popen.c: Likewise.
46024         * m4/popen.m4: Likewise.
46025         * lib/popen.c: Likewise.
46026         * lib/stdio.in.h (popen): New declaration.
46027         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
46028         * modules/stdio (Makefile.am): Likewise.
46029         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
46030
46031 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
46032
46033         maint.mk: give full control over update-copyright exclusions
46034         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
46035         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
46036         (update-copyright): Don't force inclusion of top-level
46037         ChangeLog.  Don't force exclusion of all COPYING files, but make
46038         them the default exclusion instead.
46039
46040 2009-08-16  Bruno Haible  <bruno@clisp.org>
46041
46042         Fix test failures on Solaris 10.
46043         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
46044         tests when Solaris iconv() is used.
46045         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
46046         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
46047         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
46048         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
46049         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
46050
46051 2009-08-16  Bruno Haible  <bruno@clisp.org>
46052
46053         Fix test failures on Solaris 10.
46054         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
46055         'tr' program and pass it as first argument.
46056         * tests/test-pipe-filter-gi1.sh: Likewise.
46057         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
46058         program as first argument.
46059         * tests/test-pipe-filter-gi1.c (main): Likewise.
46060
46061 2009-08-16  Eric Blake  <ebb9@byu.net>
46062
46063         fpurge: fix previous commits
46064         * modules/fpurge (Makefile.am): Make replacement conditional,
46065         partially reverting 2007-04-29 change; missed in previous
46066         attempt.
46067         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
46068         is missing.
46069
46070 2009-08-16  Bruno Haible  <bruno@clisp.org>
46071
46072         Clarify fpurge's effect on the file position.
46073         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
46074         * tests/test-fpurge.c (main): Make a second pass for checking the file
46075         position.
46076
46077 2009-08-16  Bruno Haible  <bruno@clisp.org>
46078
46079         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
46080         declaration of fpurge is missing.
46081         * tests/test-fpurge.c (main): Check that the file has not more contents
46082         than expected. Close the file before removing it.
46083
46084 2009-08-15  Eric Blake  <ebb9@byu.net>
46085
46086         fpurge: don't wrap working cygwin implementation
46087         * lib/fpurge.c (fpurge): Fix comment typo.
46088         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
46089         1.7 to avoid replacement.
46090         * tests/test-fpurge.c (main): Enhance test.
46091
46092 2009-08-15  Eric Blake  <ebb9@byu.net>
46093         and Jim Meyering  <meyering@redhat.com>
46094
46095         test-update-copyright: skip if perl is insufficient
46096         * tests/test-update-copyright.sh: Failure to run maintainer tool
46097         should not cause testsuite failure on cygwin 1.5.
46098
46099 2009-08-14  Eric Blake  <ebb9@byu.net>
46100
46101         doc: mention more functions added in cygwin 1.7.0
46102         * doc/posix-headers/limits.texi (limits.h): Update for recent
46103         cygwin additions.
46104         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
46105         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
46106         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
46107         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
46108         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
46109
46110 2009-08-14  Eric Blake  <ebb9@byu.net>
46111
46112         maint.mk: simplify update-copyright rule
46113         * top/maint.mk (update-copyright-local): Delete, and document how
46114         to do it in cfg.mk instead.
46115         (update-copyright-exclude-regexp): Delete, and document how to do
46116         it in .x-update-copyright instead.
46117         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
46118         exclude ChangeLog.
46119
46120 2009-08-14  Bruno Haible  <bruno@clisp.org>
46121
46122         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
46123
46124 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46125
46126         maint.mk: support update-copyright-env
46127         * top/maint.mk (update-copyright-env): Define place-holder.
46128         (update-copyright): Expand $(update-copyright-env) before
46129         invoking update-copyright.
46130
46131 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46132
46133         update-copyright: implement forced reformatting
46134         * build-aux/update-copyright: Implement and document
46135         UPDATE_COPYRIGHT_FORCE.
46136         * tests/test-update-copyright.sh: Test it.
46137
46138 2009-08-14  Eric Blake  <ebb9@byu.net>
46139         and Bruno Haible  <bruno@clisp.org>
46140
46141         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
46142         * tests/test-locale.c: Revert previous patch related to NULL.
46143         * tests/test-stdio.c: Likewise.
46144         * tests/test-stdlib.c: Likewise.
46145         * tests/test-string.c: Likewise.
46146         * tests/test-unistd.c: Likewise.
46147         * modules/time-tests (Depends-on): Add verify.
46148         * modules/wchar-tests (Depends-on): Likewise.
46149         * tests/test-time.c: Test for NULL compliance.
46150         * tests/test-wchar.c: Likewise.
46151         * modules/locale (Depends-on): Add stddef.
46152         * modules/stdio (Depends-on): Likewise.
46153         * modules/stdlib (Depends-on): Likewise.
46154         * modules/string (Depends-on): Likewise.
46155         * modules/time (Depends-on): Likewise.
46156         * modules/unistd (Depends-on): Likewise.
46157         * modules/wchar (Depends-on): Likewise.
46158         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
46159         * lib/stdlib.in.h (includes): Likewise.
46160         * lib/string.in.h (includes): Likewise.
46161         * lib/time.in.h (includes): Likewise.
46162         * lib/unistd.in.h (includes): Likewise.
46163         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
46164         replaced.
46165         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46166         * m4/stddef_h.m4: New file.
46167         * modules/stddef: Likewise.
46168         * lib/stddef.in.h: Likewise.
46169         * modules/stddef-tests: Likewise.
46170         * tests/test-stddef.c: Likewise.
46171         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
46172         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
46173         * doc/posix-headers/locale.texi (locale.h): Likewise.
46174         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
46175         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
46176         * doc/posix-headers/string.texi (string.h): Likewise.
46177         * doc/posix-headers/time.texi (time.h): Likewise.
46178         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
46179         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
46180
46181 2009-08-14  Eric Blake  <ebb9@byu.net>
46182
46183         doc: improve git diff of texinfo files
46184         * .gitattributes: Add rule for *.texi files, with hint on how to
46185         use it.
46186         Copied from m4, and based on a report by Bruno Haible.
46187
46188 2009-08-14  Bruno Haible  <bruno@clisp.org>
46189
46190         Disable multithread support by default on Cygwin 1.5.x for real.
46191         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
46192
46193 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46194
46195         update-copyright: much ado about intervals
46196         * build-aux/update-copyright: Implement and document
46197         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
46198         of copyright year intervals.
46199         Also, document UPDATE_COPYRIGHT_YEAR.
46200         * tests/test-update-copyright.sh: Test it.
46201
46202         update-copyright: convert 2-digit to 4-digit years
46203         * build-aux/update-copyright: Implement and document.
46204         * tests/test-update-copyright.sh: Update.
46205
46206 2009-08-14  Jim Meyering  <meyering@redhat.com>
46207
46208         test-exclude: avoid coreutils "make check" failure
46209         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
46210         just as in test-argmatch.c.
46211
46212 2009-08-13  Eric Blake  <ebb9@byu.net>
46213
46214         test-dup2: fix bad assumption
46215         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
46216         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
46217
46218         test-version-etc: fix CRLF portability issue
46219         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
46220         recognize \r.
46221         * tests/test-argp-version-etc-1.sh: Likewise.
46222
46223         getopt: update client modules
46224         * modules/argp (Depends-on): Use getopt-gnu.
46225         * modules/git-merge-changelog (Depends-on): Likewise.
46226         * modules/long-options (Depends-on): Likewise.
46227         * modules/xstrtol (Depends-on): Likewise.
46228
46229 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46230
46231         * tests/test-version-etc.sh: Don't fail on different
46232         project/version.  Don't fail on CRLF differences.  Rewrite to use
46233         multiple -e instead of multiple sed forks, suggested by Eric Blake
46234         <ebb9@byu.net>.
46235         * tests/test-argp-version-etc-1.sh: Likewise.
46236
46237 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46238
46239         * tests/test-version-etc.sh: Don't fail on different
46240         project/version.
46241
46242 2009-08-12  Bruno Haible  <bruno@clisp.org>
46243
46244         Tests for modules 'getopt-posix', 'getopt-gnu'.
46245         * modules/getopt-posix-tests: New file.
46246         * tests/test-getopt.c: New file.
46247         * tests/test-getopt.h: New file.
46248         * tests/test-getopt_long.h: New file.
46249
46250         New modules 'getopt-posix', 'getopt-gnu'.
46251         * modules/getopt-gnu: New file, renamed from modules/getopt.
46252         * modules/getopt-posix: New file.
46253         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
46254         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
46255         (gl_GETOPT): Remove macro.
46256         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
46257         Disable the test against BSD systems that declare optreset. Test
46258         against mingw bug. Test against lack of support of optional arguments
46259         on many platforms.
46260         * doc/glibc-headers/getopt.texi: Update module name and list of
46261         relevant platforms.
46262         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
46263         'getopt-gnu' and more portability problems.
46264         * NEWS: Mention the changes.
46265
46266 2009-08-12  Bruno Haible  <bruno@clisp.org>
46267
46268         Ensure that optarg etc. get declared by <unistd.h>.
46269         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
46270         AC_USE_SYSTEM_EXTENSIONS.
46271         * modules/getopt (Depends-on): Add 'extensions'.
46272
46273 2009-08-12  Bruno Haible  <bruno@clisp.org>
46274
46275         Avoid test link errors.
46276         * modules/pipe-filter-ii-tests (Makefile.am): Define
46277         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
46278         * modules/pipe-filter-gi-tests (Makefile.am): Define
46279         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
46280         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46281
46282 2009-08-12  Bruno Haible  <bruno@clisp.org>
46283
46284         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
46285         gl_GETOPT_SUBSTITUTE before.
46286         (gl_GETOPT): Use it.
46287         * m4/argp.m4 (gl_ARGP): Update.
46288         Reported by Sergey Poznyakoff.
46289
46290         * m4/getopt.m4: Reorder macros.
46291         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
46292         (gl_GETOPT_SUBSTITUTE): Remove macro.
46293
46294 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46295
46296         Minor improvement in gitlog-to-changelog
46297
46298         * build-aux/gitlog-to-changelog: New option `--format' makes
46299         output format string configurable.
46300
46301 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46302
46303         Optimize exclude: use hash tables for non-wildcard patterns.
46304
46305         * lib/exclude.c: Include hash.h and mbuiter.h
46306         (struct exclude_pattern, exclude_segment): New data types.
46307         (struct exclude): Rewrite.
46308         (fnmatch_pattern_has_wildcards): New function.
46309         (new_exclude_segment, free_exclude_segment): New functions.
46310         (excluded_file_pattern_p, excluded_file_name_p): New functions.
46311         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
46312         * lib/exclude.h (is_fnmatch_pattern): New prototype.
46313         * modules/exclude: Depend on hash and mbuiter.
46314
46315         * modules/exclude-tests: New file.
46316         * tests/test-exclude.c: New file.
46317         * tests/test-exclude1.sh: New file.
46318         * tests/test-exclude2.sh: New file.
46319         * tests/test-exclude3.sh: New file.
46320         * tests/test-exclude4.sh: New file.
46321         * tests/test-exclude5.sh: New file.
46322         * tests/test-exclude6.sh: New file.
46323         * tests/test-exclude7.sh: New file.
46324
46325 2009-08-12  Bruno Haible  <bruno@clisp.org>
46326
46327         Ensure that getopt() gets declared by <unistd.h>.
46328         * lib/unistd.in.h: Conditionally include getopt.h.
46329         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
46330         Set GNULIB_UNISTD_H_GETOPT.
46331         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46332         GNULIB_UNISTD_H_GETOPT.
46333         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
46334
46335 2009-08-12  Bruno Haible  <bruno@clisp.org>
46336
46337         Clarify logic.
46338         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
46339         gl_replace_getopt instead of GETOPT_H.
46340
46341 2009-08-12  Bruno Haible  <bruno@clisp.org>
46342
46343         * m4/getopt.m4: Add comments.
46344
46345 2009-08-12  Bruno Haible  <bruno@clisp.org>
46346
46347         Disable multithread support by default on Cygwin 1.5.x.
46348         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
46349         set gl_use_threads=no if not specified otherwise.
46350
46351 2009-08-11  Bruno Haible  <bruno@clisp.org>
46352
46353         Avoid compilation error on NetBSD 5.0.
46354         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
46355         * tests/test-stdio.c: Likewise.
46356         * tests/test-stdlib.c: Likewise.
46357         * tests/test-string.c: Likewise.
46358         * tests/test-unistd.c: Likewise.
46359         Reported by Greg Troxel <gdt@ir.bbn.com>
46360         at <https://savannah.gnu.org/support/?106973>.
46361
46362 2009-08-11  Bruno Haible  <bruno@clisp.org>
46363
46364         * modules/dup2-tests (Depends-on): Remove close.
46365
46366         Undo 2009-07-19 commit.
46367         * modules/acl-tests (Depends-on): Remove close.
46368         * modules/binary-io-tests (Depends-on): Likewise.
46369         * modules/closein-tests (Depends-on): Likewise.
46370         * modules/flock-tests (Depends-on): Likewise.
46371         * modules/fsync-tests (Depends-on): Likewise.
46372         * modules/lseek-tests (Depends-on): Likewise.
46373         * modules/pipe-tests (Depends-on): Likewise.
46374         * modules/posix_spawn-tests (Depends-on): Likewise.
46375         * modules/posix_spawnp-tests (Depends-on): Likewise.
46376         * modules/stat-time-tests (Depends-on): Likewise.
46377         * modules/yesno-tests (Depends-on): Likewise.
46378
46379 2009-08-10  Bruno Haible  <bruno@clisp.org>
46380
46381         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
46382
46383 2009-08-10  Bruno Haible  <bruno@clisp.org>
46384
46385         Fix a gcc warning.
46386         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
46387
46388 2009-08-10  Bruno Haible  <bruno@clisp.org>
46389
46390         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
46391         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
46392         not only the first time.
46393         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
46394         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
46395         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
46396         is 1, not only the the first time.
46397
46398 2009-08-10  Bruno Haible  <bruno@clisp.org>
46399
46400         Make it possible to use module 'gethostname' without module 'close'.
46401         * lib/unistd.in.h (close): Evoke a link error only if
46402         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46403         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46404         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46405         * modules/unistd (Makefile.am): Substitute
46406         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46407         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
46408         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46409         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
46410         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46411         * modules/sys_ioctl (Makefile.am): Substitute
46412         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46413         * modules/socket (configure.ac): On native Windows, set
46414         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
46415         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46416         Reported by Sam Steingold <sds@gnu.org>.
46417
46418 2009-08-10  Bruno Haible  <bruno@clisp.org>
46419
46420         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
46421         * modules/ioctl (configure.ac): Likewise.
46422
46423 2009-08-10  Bruno Haible  <bruno@clisp.org>
46424
46425         Avoid collision between gnulib wrapper and libintl wrapper.
46426         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
46427         already defined in intl/printf.c.
46428         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
46429         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
46430
46431 2009-08-09  Bruno Haible  <bruno@clisp.org>
46432
46433         Make <sys/select.h> really self-contained, also on Solaris 10.
46434         * lib/sys_select.in.h: Include <string.h>.
46435         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
46436         Solaris 10 problem.
46437         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
46438         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
46439         Reported by Jim Meyering.
46440
46441 2009-08-09  Bruno Haible  <bruno@clisp.org>
46442
46443         Avoid warnings from 'aclocal' that are due to a use of macro name
46444         AM_XGETTEXT_OPTION that is not defined in automake.
46445         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
46446         automake.
46447         * modules/error (configure.ac): Likewise.
46448         * modules/propername (configure.ac): Likewise.
46449         * modules/vasprintf (configure.ac): Likewise.
46450         * modules/verror (configure.ac): Likewise.
46451         * modules/xprintf (configure.ac): Likewise.
46452         * modules/xvasprintf (configure.ac): Likewise.
46453
46454 2009-08-08  Bruno Haible  <bruno@clisp.org>
46455
46456         Avoid compilation error in C++ mode.
46457         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
46458         Reported by Sam Steingold <sds@gnu.org>.
46459
46460 2009-08-08  Bruno Haible  <bruno@clisp.org>
46461
46462         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
46463         for the various Unix platforms.
46464         * doc/posix-headers/limits.texi: Update platforms list regarding
46465         HOST_NAME_MAX.
46466         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46467
46468 2009-08-07  Jim Meyering  <meyering@redhat.com>
46469
46470         selinux-at: fix typo in a comment
46471         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
46472         Spotted by Paolo Bonzini.
46473
46474         selinux-at: remove redundant m4 code, add documentation
46475         * modules/selinux-at (configure.ac): Remove redundant code.
46476         LIB_SELINUX is already set via the dependent module, selinux-h.
46477         (Include): Add quotes around selinux-at.h.
46478         * lib/selinux-at.h: Add documentation.
46479         Reported by Bruno Haible in
46480         http://marc.info/?l=gnulib-bug&m=124958988300749
46481
46482 2009-08-07  Bruno Haible  <bruno@clisp.org>
46483
46484         Avoid link error on MacOS X 10.3 and 10.4.
46485         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
46486         on non-ELF systems.
46487         * lib/argp-pv.c (argp_program_version): Likewise.
46488         Reported by Simon Josefsson.
46489
46490 2009-08-07  Simon Josefsson  <simon@josefsson.org>
46491
46492         * tests/test-version-etc.sh: Use $EXEEXT.
46493
46494 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
46495
46496         update-copyright: update documentation to point to maint.mk
46497         * build-aux/update-copyright: Here.
46498
46499 2009-08-06  Jim Meyering  <meyering@redhat.com>
46500
46501         maint.mk: support update-copyright-local
46502         * top/maint.mk (update-copyright-local): Define place-holder.
46503         (update-copyright): Depend on $(update-copyright-local).
46504
46505 2009-08-06  Jim Meyering  <meyering@redhat.com>
46506
46507         selinux-at: new module
46508         Initially written for coreutils, this module will soon be
46509         used by findutils, too.
46510         * MODULES.html.sh [Misc]: Add selinux-at.
46511         * lib/selinux-at.h: New file, from coreutils.
46512         * lib/selinux-at.c: Likewise.
46513         * modules/selinux-at: Likewise.
46514         (License): Change from LGPL to GPL, since it depends
46515         on the GPL'd openat module.
46516
46517         doc: update README
46518         * README: Remove references to cogito.
46519         Remove cvs-repo-updating instructions from 2007.
46520         Don't imply that CVS is better if you have limited disk space.
46521
46522 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46523
46524         update-copyright: support C-style comments
46525         * build-aux/update-copyright: Implement and document.
46526         * tests/test-update-copyright.sh: Test.
46527
46528 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46529
46530         update-copyright: support omitted "(C)"
46531         * build-aux/update-copyright: Implement and document.  Also,
46532         allow variable whitespace before "(C)".
46533         * tests/test-update-copyright.sh: Test.
46534
46535 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46536
46537         update-copyright: don't trip on non-FSF copyright statements
46538         * build-aux/update-copyright: Fix so that the first correctly
46539         formatted FSF copyright statement is recognized no matter what
46540         appears before it.  Update documentation.
46541         * tests/test-update-copyright.sh: Test that.
46542
46543 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46544
46545         update-copyright: clean up code a little
46546         * build-aux/update-copyright: Append "_re" to the name of any
46547         variable holding a regular expression.
46548         Replace "old" and "new" with "stmt" in variable names.
46549         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
46550         handled correctly.
46551         Format code more consistently.
46552
46553 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46554
46555         update-copyright-tests: improve portability
46556         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
46557         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
46558
46559 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
46560
46561         update-copyright: support @copyright{} and &copy;
46562         * build-aux/update-copyright: Implement and document.
46563         * tests/test-update-copyright.sh: Test.
46564
46565 2009-08-04  Jim Meyering  <meyering@redhat.com>
46566
46567         update-copyright-tests: correctly test EOL=\r\n handling
46568         * tests/test-update-copyright.sh: Put \r at the end of some lines
46569         for the dos-eol tests.  Based on a patch by Joel E. Denny.
46570
46571         maint.mk: make update-copyright exclusion list more configurable
46572         * top/maint.mk (update-copyright): Default to excluding COPYING,
46573         but allow an override, in case someone does want to update that file.
46574
46575         maint.mk: don't update copyright date in COPYING
46576         * top/maint.mk (update-copyright): Exclude COPYING.
46577
46578         maint.mk: add a copyright-updating rule
46579         * top/maint.mk (update-copyright): New rule.
46580         Derived from coreutils/Makefile.am.
46581
46582         update-copyright: rename some variables
46583         * build-aux/update-copyright: Rename a few variables for clarity.
46584         Tweak syntax.  List Joel E. Denny as coauthor.
46585
46586 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
46587
46588         update-copyright: fix bug for 2-digit last year and add tests
46589         * build-aux/update-copyright: Fix bug.
46590         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
46591         specified.
46592         * modules/update-copyright-tests: New
46593         * tests/test-update-copyright.sh: New.
46594
46595 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
46596
46597         update-copyright: handle leading tabs in line prefix
46598         * build-aux/update-copyright: Count leading tabs as 8 spaces
46599         when computing margin.  This helps with the formatting of
46600         ChangeLogs, for example.
46601         Fix documentation a little.
46602
46603 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
46604
46605         update-copyright: support EOL=\r\n
46606         * build-aux/update-copyright: Implement that.
46607
46608 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
46609
46610         update-copyright: automatically format copyright statements
46611         * build-aux/update-copyright: Implement that.
46612         Also, be a little more predictable and safer by always failing
46613         when the full copyright format is not perfectly recognized as an
46614         unbroken whole.  Discussed at
46615         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
46616         Rewrite documentation.
46617
46618 2009-08-03  Bruno Haible  <bruno@clisp.org>
46619
46620         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
46621
46622 2009-08-02  Bruno Haible  <bruno@clisp.org>
46623
46624         Tests for module 'uname'.
46625         * modules/uname-tests: New file.
46626         * tests/test-uname.c: New file.
46627
46628         New module 'uname'.
46629         * lib/uname.c: New file.
46630         * m4/uname.m4: New file.
46631         * modules/uname: New file.
46632         * doc/posix-functions/uname.texi: Mention the new module.
46633
46634 2009-08-02  Bruno Haible  <bruno@clisp.org>
46635
46636         Tests for module 'sys_utsname'.
46637         * modules/sys_utsname-tests: New file.
46638         * tests/test-sys_utsname.c: New file.
46639
46640         New module 'sys_utsname'.
46641         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
46642         * m4/sys_utsname_h.m4: New file.
46643         * modules/sys_utsname: New file.
46644         * doc/posix-headers/sys_utsname.texi: Mention the new module.
46645
46646 2009-08-02  Bruno Haible  <bruno@clisp.org>
46647
46648         Implicitly initialize the sockets library.
46649         * lib/gethostname.c: Include sockets.h.
46650         (rpl_gethostname): Invoke gl_sockets_startup.
46651         * lib/socket.c: Include sockets.h.
46652         (rpl_socket): Invoke gl_sockets_startup.
46653         * modules/gethostname (Depends-on): Add sockets.
46654         * modules/socket (Depends-on): Likewise.
46655         * tests/test-poll.c: Don't include sockets.h.
46656         (main): Don't invoke gl_sockets_startup.
46657         * tests/test-select.c: Don't include sockets.h.
46658         (main): Don't invoke gl_sockets_startup.
46659
46660 2009-08-02  Bruno Haible  <bruno@clisp.org>
46661
46662         Allow multiple calls to gl_sockets_startup.
46663         * lib/sockets.c (initialized_sockets_version): New variable.
46664         (gl_sockets_startup): Do nothing if already called for this or a higher
46665         version.
46666         (gl_sockets_cleanup): Reset initialized_sockets_version.
46667
46668 2009-08-03  Simon Josefsson  <simon@josefsson.org>
46669
46670         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
46671         different project/version.
46672
46673 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
46674             Bruno Haible  <bruno@clisp.org>
46675
46676         Tests for module 'pipe-filter-gi'.
46677         * modules/pipe-filter-gi-tests: New file.
46678         * tests/test-pipe-filter-gi1.sh: New file.
46679         * tests/test-pipe-filter-gi1.c: New file.
46680         * tests/test-pipe-filter-gi2.sh: New file.
46681         * tests/test-pipe-filter-gi2-main.c: New file.
46682         * tests/test-pipe-filter-gi2-child.c: New file.
46683
46684         New module 'pipe-filter-gi'.
46685         * lib/pipe-filter-gi.c: New file.
46686         * modules/pipe-filter-gi: New file.
46687
46688 2009-08-02  Bruno Haible  <bruno@clisp.org>
46689             Paolo Bonzini  <bonzini@gnu.org>
46690
46691         Tests for module 'pipe-filter-ii'.
46692         * modules/pipe-filter-ii-tests: New file.
46693         * tests/test-pipe-filter-ii1.sh: New file.
46694         * tests/test-pipe-filter-ii1.c: New file.
46695         * tests/test-pipe-filter-ii2.sh: New file.
46696         * tests/test-pipe-filter-ii2-main.c: New file.
46697         * tests/test-pipe-filter-ii2-child.c: New file.
46698
46699         New module 'pipe-filter-ii'.
46700         * lib/pipe-filter.h: New file.
46701         * lib/pipe-filter-ii.c: New file.
46702         * lib/pipe-filter-aux.h: New file.
46703         * modules/pipe-filter-ii: New file.
46704
46705 2009-08-02  Simon Josefsson  <simon@josefsson.org>
46706
46707         * lib/gc-libgcrypt.c: Change copyright to FSF.
46708         * lib/gc-gnulib.c: Likewise.
46709
46710 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
46711
46712         * lib/gethostname.c: Include limits.h.
46713
46714 2009-08-02  Simon Josefsson  <simon@josefsson.org>
46715             Bruno Haible  <bruno@clisp.org>
46716
46717         Ensure HOST_NAME_MAX as part of the gethostname module.
46718         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
46719         define also HOST_NAME_MAX.
46720         * tests/test-gethostname.c: Include <limits.h>.
46721         (main): Check also HOST_NAME_MAX.
46722         * doc/posix-headers/limits.texi: Document the mingw problem.
46723
46724 2009-08-02  Bruno Haible  <bruno@clisp.org>
46725
46726         * lib/gethostname.c (gethostname): Fix handling of large len argument.
46727         Add comments.
46728
46729 2009-03-31  Simon Josefsson  <simon@josefsson.org>
46730
46731         * lib/gethostname.c: Add Windows wrapper.
46732         * m4/gethostname.m4: Look for gethostname in -lws2_32.
46733         * modules/gethostname: Depend on sys_socket & errno, for also
46734         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
46735         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
46736
46737 2009-07-31  Jim Meyering  <meyering@redhat.com>
46738
46739         getloadavg: fix symbol name in comment
46740         * lib/getloadavg.c: Correct a typo I introduced when adding
46741         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
46742         Matt Kraai spotted the problem.
46743
46744 2009-07-29  Matt Kraai  <mkraai@beckman.com>
46745
46746         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
46747         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
46748         code also if ! defined N_NAME_POINTER.
46749         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
46750         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
46751         but the n_name member is a 12-byte array.
46752
46753 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
46754
46755         update-copyright: generalize comment handling
46756         * build-aux/update-copyright: Handle copyright statements
46757         within more comment styles.
46758         Document usage.
46759         Report any file with an external copyright holder or parse failure.
46760
46761 2009-07-29  Jim Meyering  <meyering@redhat.com>
46762
46763         mktime: correct setting of REPLACE_MKTIME
46764         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
46765
46766         update-copyright: new module
46767         * modules/update-copyright: New file.
46768         * build-aux/update-copyright: New file.
46769         * MODULES.html.sh (maint+release support): Add update-copyright.
46770
46771 2009-07-27  Bruno Haible  <bruno@clisp.org>
46772
46773         Fix compilation error when <ctime> is used and mktime is replaced.
46774         * lib/time.in.h (mktime): New declaration.
46775         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
46776         REPLACE_MKTIME instead of defining mktime in config.h.
46777         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
46778         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
46779         Reported by Ross McFarland <rwmcfa1@neces.com>.
46780
46781 2009-07-27  Bruno Haible  <bruno@clisp.org>
46782
46783         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
46784         Reported by Matt Kraai <mkraai@beckman.com>.
46785
46786 2009-07-25  Jim Meyering  <meyering@redhat.com>
46787
46788         maint.mk: avoid warnings about missing files
46789         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
46790         diagnostic when .prev-version does not exist.
46791         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
46792         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
46793         nonexistent cfg.mk.
46794         Suggestions from Simon Josefsson.
46795
46796 2009-07-25  Bruno Haible  <bruno@clisp.org>
46797
46798         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
46799         defined as macros. Needed on QNX 6.4.1.
46800         Reported by Matt Kraai <mkraai@beckman.com>.
46801
46802 2009-07-23  Jim Meyering  <meyering@redhat.com>
46803
46804         maint.mk: invoke "make dist" with a working value of XZ_OPT
46805         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
46806
46807 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
46808
46809         Make fseeko.c compile on QNX.
46810         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
46811
46812 2009-07-22  Peter Simons  <simons@cryp.to>
46813
46814         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
46815         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
46816         * lib/md4.h: Likewise.
46817         * lib/md5.h: Likewise.
46818         * lib/sha1.h: Likewise.
46819         * lib/sha256.h: Likewise.
46820         * lib/sha512.h: Likewise.
46821
46822         tests-sha1: don't assign literal string to 'char *' variable
46823         * tests/test-sha1.c (main): Declare locals with "const" to match
46824         attributes of the right hand side.
46825
46826 2009-07-21  Eric Blake  <ebb9@byu.net>
46827
46828         dup2: fix more mingw problems
46829         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
46830         fd to itself.
46831         * doc/posix-functions/dup2.texi (dup2): Document the bug.
46832         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
46833         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
46834         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
46835         care of mingw bugs.
46836
46837 2009-07-21  Jim Meyering  <meyering@redhat.com>
46838
46839         vc-list-files: avoid failure when /bin/sh is dash
46840         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
46841         On some Debian based systems, /bin/sh is a symlink to dash, and running
46842         this command would omit the "/" following each 'tests' prefix:
46843           dash -x build-aux/vc-list-files -C . tests
46844         That is because bash and dash work differently:
46845           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
46846           bash ok
46847           dash odd
46848
46849 2009-07-21  Eric Blake  <ebb9@byu.net>
46850
46851         dup2-tests: test previous patch
46852         * modules/dup2-tests: New file.
46853         * tests/test-dup2.c: Likewise.
46854         * tests/test-open.c (main): Avoid unspecified behavior.
46855         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
46856         test.
46857
46858         dup2: work around mingw and cygwin 1.5 bug
46859         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
46860         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
46861         * modules/unistd (Makefile.am): Substitute it.
46862         * lib/unistd.in.h (dup2): Declare the replacement.
46863         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
46864         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
46865         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
46866         * modules/execute (Depends-on): Add dup2.
46867         * modules/fseterr (Depends-on): Likewise.
46868         * modules/pipe (Depends-on): Likewise.
46869         * modules/posix_spawn-internal (Depends-on): Likewise.
46870
46871 2009-07-21  Bruno Haible  <bruno@clisp.org>
46872
46873         * modules/.gitattributes: New file.
46874
46875 2009-07-20  Bruno Haible  <bruno@clisp.org>
46876
46877         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
46878         (main): Use it.
46879
46880 2009-07-20  Eric Blake  <ebb9@byu.net>
46881
46882         test-pipe: make a bit more robust.
46883         * tests/test-pipe.c (myerr): Allow error messages regardless of
46884         what we do to stderr.
46885         (test_pipe): Rearrange to avoid deadlock.
46886         (child_main): Try a larger read, to ensure we avoided deadlock.
46887         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
46888         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
46889         if misused.
46890
46891 2009-07-19  Jim Meyering  <meyering@redhat.com>
46892
46893         fts: avoid false-positive cycle-detection
46894         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
46895         for each new command line argument.
46896
46897 2009-07-19  Bruno Haible  <bruno@clisp.org>
46898
46899         Fix build error on mingw with the modules sys_select and unistd.
46900         * modules/acl-tests (Depends-on): Add close.
46901         * modules/binary-io-tests (Depends-on): Likewise.
46902         * modules/closein-tests (Depends-on): Likewise.
46903         * modules/flock-tests (Depends-on): Likewise.
46904         * modules/fsync-tests (Depends-on): Likewise.
46905         * modules/lseek-tests (Depends-on): Likewise.
46906         * modules/pipe-tests (Depends-on): Likewise.
46907         * modules/posix_spawn-tests (Depends-on): Likewise.
46908         * modules/posix_spawnp-tests (Depends-on): Likewise.
46909         * modules/stat-time-tests (Depends-on): Likewise.
46910         * modules/yesno-tests (Depends-on): Likewise.
46911
46912 2009-07-19  Bruno Haible  <bruno@clisp.org>
46913
46914         Unify conditionals.
46915         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
46916         macros, not at the compiler macros.
46917         * lib/pipe.c: Likewise.
46918         * lib/execute.c: Likewise.
46919         * lib/spawni.c: Likewise.
46920
46921 2009-07-19  Bruno Haible  <bruno@clisp.org>
46922
46923         Fix handling of closed stdin/stdout/stderr on mingw.
46924         * lib/w32spawn.h: Include unistd.h.
46925         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
46926         file descriptor with O_NOINHERIT flag.
46927         (fd_safer_noinherit): New function, based on fd-safer.c.
46928         (dup_safer_noinherit): New function, based on dup-safer.c.
46929         (undup_safer_noinherit): New function.
46930         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
46931         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
46932         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
46933         instead of fd_safer.
46934         * tests/test-pipe.c: Include <windows.h>.
46935         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
46936         result.
46937
46938         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
46939         from main.
46940         (test_pipe): Pass an extra argument for disambiguation.
46941         (main): Invoke parent_main or child_main.
46942
46943         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
46944         consistently.
46945
46946 2009-07-18  Eric Blake  <ebb9@byu.net>
46947
46948         test-pipe: fix mingw build
46949         * tests/test-pipe.c (main): Avoid fcntl on mingw.
46950
46951 2009-07-18  Bruno Haible  <bruno@clisp.org>
46952
46953         * modules/pipe-tests (Makefile.am): Fix typo.
46954
46955 2009-07-18  Eric Blake  <ebb9@byu.net>
46956
46957         error: fix mingw build
46958         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
46959         Reported by Bruno Haible.
46960
46961         error: avoid undefined use of stdout
46962         * lib/error.c (error, error_at_line): Check that fd 1 is open
46963         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
46964         is handling faults and the close_stdout module wants to report the
46965         detection of closed stdout as an error.
46966
46967 2009-07-17  Eric Blake  <ebb9@byu.net>
46968
46969         pipe: be robust in face of closed fds
46970         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
46971         should cause child to misbehave.
46972         * modules/pipe-tests: New module.
46973         * tests/test-pipe.c: New file.
46974         * tests/test-pipe.sh: New file.
46975         Reported by Akim Demaille.
46976
46977 2009-07-14  Bruno Haible  <bruno@clisp.org>
46978
46979         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
46980         Reported by anonymous kc.
46981
46982 2009-07-07  Jim Meyering  <meyering@redhat.com>
46983
46984         maint.mk: don't look for translatable strings in *.m4 or *.mk
46985         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
46986         when searching for translatable strings.
46987
46988 2009-07-05  Jim Meyering  <meyering@redhat.com>
46989
46990         remove superfluous parentheses in STREQ definition
46991         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
46992         * lib/getugroups.c (STREQ): Likewise.
46993         * lib/fnmatch.c (STREQ): Likewise.
46994         Spotted by Bruno Haible.
46995
46996 2009-07-04  Jim Meyering  <meyering@redhat.com>
46997
46998         argv-iter: new module
46999         * MODULES.html.sh: Add argv-iter.
47000         * lib/argv-iter.c, lib/argv-iter.h: New files.
47001         * modules/argv-iter: New file.
47002         * modules/argv-iter-tests: New file.
47003         * tests/test-argv-iter.c: Test it.
47004
47005 2009-07-04  Bruno Haible  <bruno@clisp.org>
47006
47007         Fix assertion.
47008         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
47009         contains more exact copies of a given entry than file2, leave the extra
47010         copies unpaired rather than aborting.
47011         Reported by Eric Blake.
47012
47013 2009-07-02  Bruno Haible  <bruno@clisp.org>
47014
47015         Speedup git-merge-changelog for git cherry-pick.
47016         * lib/git-merge-changelog.c (struct entries_mapping): New type.
47017         (entries_mapping_get): New function, extracted from compute_mapping.
47018         (entries_mapping_reverse_get): New function.
47019         (compute_mapping): Add a 'full' argument. Return the result in a
47020         'struct entries_mapping'.
47021         (main): Update. Access the mappings through entries_mapping_get.
47022         Reported by Eric Blake.
47023
47024 2009-07-02  Bruno Haible  <bruno@clisp.org>
47025
47026         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
47027         best_i.
47028
47029 2009-07-02  Bruno Haible  <bruno@clisp.org>
47030
47031         Speed up approximate search for matching ChangeLog entries.
47032         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
47033         argument. Call fstrcmp_bounded instead of fstrcmp.
47034         (compute_mapping, try_split_merged_entry, main): Update callers.
47035
47036 2009-07-02  Bruno Haible  <bruno@clisp.org>
47037
47038         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
47039
47040 2009-06-30  Bruno Haible  <bruno@clisp.org>
47041
47042         Reduce the number of uc_is_cased calls.
47043         * lib/unicase.h (casing_suffix_context_t): Add
47044         'first_char_except_ignorable' field.
47045         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
47046         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
47047         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
47048         Update initializer.
47049         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
47050         case-ignorable characters.
47051         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
47052         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
47053         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
47054         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
47055         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
47056
47057 2009-06-30  Bruno Haible  <bruno@clisp.org>
47058
47059         Tests for module 'unicase/ignorable'.
47060         * modules/unicase/ignorable-tests: New file.
47061         * tests/unicase/test-ignorable.c: New file, generated by
47062         gen-uni-tables.
47063
47064         Tests for module 'unicase/cased'.
47065         * modules/unicase/cased-tests: New file.
47066         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
47067         * tests/unicase/test-predicate-part1.h: New file, derived from
47068         tests/unictype/test-predicate-part1.h.
47069         * tests/unicase/test-predicate-part2.h: New file, same as
47070         tests/unictype/test-predicate-part2.h.
47071
47072         Fix evaluation of "Before C" condition of FINAL_SIGMA.
47073         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
47074         (output_casing_properties): New function.
47075         (main): Call it.
47076         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
47077         * lib/unicase/cased.c: Include unictype/bitmap.h.
47078         (uc_is_cased): Define through a bitmap lookup.
47079         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
47080         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
47081         (uc_is_case_ignorable): Define through a bitmap lookup.
47082         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
47083         lib/unictype/bitmap.h.
47084         (Depends-on): Add inline. Clean up.
47085         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
47086         lib/unictype/bitmap.h.
47087         (Depends-on): Add inline. Clean up.
47088         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
47089         recognition.
47090         * tests/unicase/test-u16-tolower.c (main): Likewise.
47091         * tests/unicase/test-u32-tolower.c (main): Likewise.
47092
47093 2009-06-30  Bruno Haible  <bruno@clisp.org>
47094
47095         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
47096         * lib/unicase/u16-casemap.c: Likewise.
47097         * lib/unicase/u32-casemap.c: Likewise.
47098
47099 2009-06-29  Bruno Haible  <bruno@clisp.org>
47100
47101         Define u32_casefold as a wrapper around u32_ct_casefold.
47102         * lib/unicase/u32-casefold.c: Update.
47103         * modules/unicase/u32-casefold (Depends-on): Add
47104         unicase/u32-ct-casefold, unicase/empty-prefix-context,
47105         unicase/empty-suffix-context. Clean up.
47106
47107         Define u16_casefold as a wrapper around u16_ct_casefold.
47108         * lib/unicase/u16-casefold.c: Update.
47109         * modules/unicase/u16-casefold (Depends-on): Add
47110         unicase/u16-ct-casefold, unicase/empty-prefix-context,
47111         unicase/empty-suffix-context. Clean up.
47112
47113         Define u8_casefold as a wrapper around u8_ct_casefold.
47114         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
47115         * lib/unicase/u8-casefold.c: Update.
47116         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
47117         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47118
47119         Define u32_totitle as a wrapper around u32_ct_totitle.
47120         * lib/unicase/u32-totitle.c: Update.
47121         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
47122         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47123
47124         Define u16_totitle as a wrapper around u16_ct_totitle.
47125         * lib/unicase/u16-totitle.c: Update.
47126         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
47127         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47128
47129         Define u8_totitle as a wrapper around u8_ct_totitle.
47130         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
47131         functions.
47132         (FUNC): Delegate to U_CT_TOTITLE.
47133         * lib/unicase/u8-totitle.c: Update.
47134         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
47135         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47136
47137         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
47138         invocation.
47139         * modules/unicase/u32-tolower (Depends-on): Add
47140         unicase/empty-prefix-context, unicase/empty-suffix-context.
47141
47142         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
47143         invocation.
47144         * modules/unicase/u16-tolower (Depends-on): Add
47145         unicase/empty-prefix-context, unicase/empty-suffix-context.
47146
47147         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
47148         * modules/unicase/u8-tolower (Depends-on): Add
47149         unicase/empty-prefix-context, unicase/empty-suffix-context.
47150
47151         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
47152         invocation.
47153         * modules/unicase/u32-toupper (Depends-on): Add
47154         unicase/empty-prefix-context, unicase/empty-suffix-context.
47155
47156         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
47157         invocation.
47158         * modules/unicase/u16-toupper (Depends-on): Add
47159         unicase/empty-prefix-context, unicase/empty-suffix-context.
47160
47161         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
47162         * modules/unicase/u8-toupper (Depends-on): Add
47163         unicase/empty-prefix-context, unicase/empty-suffix-context.
47164
47165         New module 'unicase/u32-ct-casefold'.
47166         * lib/unicase/u32-ct-casefold.c: New file.
47167         * modules/unicase/u32-ct-casefold: New file.
47168
47169         New module 'unicase/u16-ct-casefold'.
47170         * lib/unicase/u16-ct-casefold.c: New file.
47171         * modules/unicase/u16-ct-casefold: New file.
47172
47173         New module 'unicase/u8-ct-casefold'.
47174         * lib/unicase/u8-ct-casefold.c: New file.
47175         * lib/unicase/u-ct-casefold.h: New file, derived from
47176         lib/unicase/u-casefold.h.
47177         * modules/unicase/u8-ct-casefold: New file.
47178
47179         New module 'unicase/u32-ct-totitle'.
47180         * lib/unicase/u32-ct-totitle.c: New file.
47181         * modules/unicase/u32-ct-totitle: New file.
47182
47183         New module 'unicase/u16-ct-totitle'.
47184         * lib/unicase/u16-ct-totitle.c: New file.
47185         * modules/unicase/u16-ct-totitle: New file.
47186
47187         New module 'unicase/u8-ct-totitle'.
47188         * lib/unicase/u8-ct-totitle.c: New file.
47189         * lib/unicase/u-ct-totitle.h: New file, derived from
47190         lib/unicase/u-totitle.h.
47191         * modules/unicase/u8-ct-totitle: New file.
47192
47193         New module 'unicase/u32-ct-tolower'.
47194         * lib/unicase/u32-ct-tolower.c: New file.
47195         * modules/unicase/u32-ct-tolower: New file.
47196
47197         New module 'unicase/u16-ct-tolower'.
47198         * lib/unicase/u16-ct-tolower.c: New file.
47199         * modules/unicase/u16-ct-tolower: New file.
47200
47201         New module 'unicase/u8-ct-tolower'.
47202         * lib/unicase/u8-ct-tolower.c: New file.
47203         * modules/unicase/u8-ct-tolower: New file.
47204
47205         New module 'unicase/u32-ct-toupper'.
47206         * lib/unicase/u32-ct-toupper.c: New file.
47207         * modules/unicase/u32-ct-toupper: New file.
47208
47209         New module 'unicase/u16-ct-toupper'.
47210         * lib/unicase/u16-ct-toupper.c: New file.
47211         * modules/unicase/u16-ct-toupper: New file.
47212
47213         New module 'unicase/u8-ct-toupper'.
47214         * lib/unicase/u8-ct-toupper.c: New file.
47215         * modules/unicase/u8-ct-toupper: New file.
47216
47217         Add context arguments to u*_casemap functions.
47218         * lib/unicase/unicasemap.h: Include unicase.h.
47219         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
47220         suffix_context arguments.
47221         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
47222         functions.
47223         (FUNC): Add prefix_context and suffix_context arguments. Use
47224         uc_is_cased and uc_is_case_ignorable.
47225         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
47226         * lib/unicase/u16-casemap.c: Likewise.
47227         * lib/unicase/u32-casemap.c: Likewise.
47228         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
47229         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47230         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
47231         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47232         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
47233         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47234
47235         New module 'unicase/u32-suffix-context'.
47236         * lib/unicase/u32-suffix-context.c: New file.
47237         * modules/unicase/u32-suffix-context: New file.
47238
47239         New module 'unicase/u16-suffix-context'.
47240         * lib/unicase/u16-suffix-context.c: New file.
47241         * modules/unicase/u16-suffix-context: New file.
47242
47243         New module 'unicase/u8-suffix-context'.
47244         * lib/unicase/u8-suffix-context.c: New file.
47245         * lib/unicase/u-suffix-context.h: New file.
47246         * modules/unicase/u8-suffix-context: New file.
47247
47248         New module 'unicase/empty-suffix-context'.
47249         * lib/unicase/empty-suffix-context.c: New file.
47250         * modules/unicase/empty-suffix-context: New file.
47251
47252         New module 'unicase/u32-prefix-context'.
47253         * lib/unicase/u32-prefix-context.c: New file.
47254         * modules/unicase/u32-prefix-context: New file.
47255
47256         New module 'unicase/u16-prefix-context'.
47257         * lib/unicase/u16-prefix-context.c: New file.
47258         * modules/unicase/u16-prefix-context: New file.
47259
47260         New module 'unicase/u8-prefix-context'.
47261         * lib/unicase/u8-prefix-context.c: New file.
47262         * lib/unicase/u-prefix-context.h: New file.
47263         * lib/unicase/context.h: New file.
47264         * modules/unicase/u8-prefix-context: New file.
47265
47266         New module 'unicase/empty-prefix-context'.
47267         * lib/unicase/empty-prefix-context.c: New file.
47268         * modules/unicase/empty-prefix-context: New file.
47269
47270         New module 'unicase/ignorable'.
47271         * lib/unicase/ignorable.c: New file.
47272         * modules/unicase/ignorable: New file.
47273
47274         New module 'unicase/cased'.
47275         * lib/unicase/caseprop.h: New file.
47276         * lib/unicase/cased.c: New file.
47277         * modules/unicase/cased: New file.
47278
47279         New functions for case mapping of substrings.
47280         * lib/unicase.h (casing_prefix_context_t): New type.
47281         (unicase_empty_prefix_context): New variable.
47282         (u8_casing_prefix_context, u16_casing_prefix_context,
47283         u32_casing_prefix_context, u8_casing_prefixes_context,
47284         u16_casing_prefixes_context, u32_casing_prefixes_context): New
47285         declarations.
47286         (casing_suffix_context_t): New type.
47287         (unicase_empty_suffix_context): New variable.
47288         (u8_casing_suffix_context, u16_casing_suffix_context,
47289         u32_casing_suffix_context, u8_casing_suffixes_context,
47290         u16_casing_suffixes_context, u32_casing_suffixes_context,
47291         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
47292         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
47293         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
47294         declarations.
47295
47296 2009-06-28  Jim Meyering  <meyering@redhat.com>
47297
47298         boostrap: indent only with spaces
47299         * build-aux/bootstrap: Indent only with spaces, never TABs.
47300
47301         bootstrap: split long lines
47302         * build-aux/bootstrap: Keep line length < 80.
47303
47304         bootstrap: sync from coreutils
47305         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
47306         just as autoreconf does.  Verify a list of prerequisite
47307         package-name,version-number pairs if defined in bootstrap.conf.
47308         Refer to README-prereq, if prerequisites are not satisfied.
47309
47310 2009-06-27  Eric Blake  <ebb9@byu.net>
47311
47312         tests: add test for bogus NULL definition
47313         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
47314         * tests/test-stdlib.c: Likewise.
47315         * tests/test-string.c: Likewise.
47316         * tests/test-locale.c: Likewise.
47317         * tests/test-unistd.c: Likewise.
47318         * modules/stdio-tests (Depends-on): Add verify.
47319         * modules/stdlib-tests (Depends-on): Likewise.
47320         * modules/string-tests (Depends-on): Likewise.
47321         * modules/locale-tests (Depends-on): Likewise.
47322         * modules/unistd-tests (Depends-on): Likewise.
47323
47324 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
47325
47326         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
47327         self-explaining comment.
47328         * m4/selinux-selinux-h: Update serial.
47329         (gl_LIBSELINUX): New macro, adding a warning for missing development
47330         packages to code extracted from...
47331         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
47332         Add warning for missing development packages here, too.
47333
47334 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
47335
47336         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
47337
47338 2009-06-25  Eric Blake  <ebb9@byu.net>
47339
47340         version-etc: fix regression
47341         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
47342         gcc.
47343         (version_etc): Use it, to catch bugs with trailing NULL.
47344         * lib/version-etc.c (version_etc_arn): Delete unused argument.
47345         (version_etc_va): Fix logic bug.
47346         * modules/version-etc-tests: Add test.
47347         * tests/test-version-etc.c: New file.
47348         * tests/test-version-etc.sh: Likewise.
47349
47350 2009-06-25  Sam Steingold  <sds@gnu.org>
47351
47352         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
47353         mbtowc declaration.
47354
47355 2009-06-25  Eric Blake  <ebb9@byu.net>
47356
47357         fpurge: migrate into <stdio.h>
47358         * lib/fpurge.h: Delete...
47359         * lib/stdio.in.h (fpurge): ...and declare here, instead.
47360         * lib/fpurge.c (fpurge): Change declaring header.
47361         * modules/fpurge (Files): Drop deleted file.
47362         (Depends-on): Add stdio.
47363         (configure.ac): Set witness.
47364         * modules/stdio (Makefile.am): Support fpurge macros.
47365         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47366         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
47367         * lib/fflush.c: Update client.
47368         * tests/test-fpurge.c: Likewise.
47369         * NEWS: Mention the change.
47370
47371 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47372
47373         * lib/argp-version-etc.c (program_authors): Add const
47374         qualifier.
47375         * lib/version-etc.c: Fix typos in the comments.
47376         * modules/argp-version-etc: Depends on version-etc.
47377
47378 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47379
47380         argp-version-etc: new module.
47381
47382         * lib/argp-version-etc.c: New file.
47383         * lib/argp-version-etc.h: New file.
47384         * modules/argp-version-etc: New file.
47385         * modules/argp-version-etc-tests: New file.
47386         * tests/test-argp-version-etc.c: New test.
47387         * tests/test-argp-version-etc-1.sh: New test.
47388
47389 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47390
47391         Provide additional interfaces and documentation for version-etc
47392         module.
47393
47394         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
47395         interfaces.
47396         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
47397         prototypes.
47398
47399 2009-06-24  Bruno Haible  <bruno@clisp.org>
47400
47401         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
47402         HAVE_LIB${NAME} macro.
47403         Reported by Sam Steingold <sds@gnu.org>.
47404
47405 2009-06-23  Simon Josefsson  <simon@josefsson.org>
47406
47407         * modules/hash-tests (test_hash_LDADD): Link to libintl when
47408         needed.
47409
47410 2009-06-21  Bruno Haible  <bruno@clisp.org>
47411
47412         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
47413         work.
47414         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
47415         together with LIB${NAME}, LTLIB${NAME}.
47416         Reported by Sam Steingold <sds@gnu.org>.
47417
47418 2009-06-20  Jim Meyering  <meyering@redhat.com>
47419
47420         tests: make sc_require_test_exit_idiom more generic
47421         * top/maint.mk (Exit_witness_file): New overridable variable.
47422         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
47423         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
47424
47425 2009-06-19  Jim Meyering  <meyering@redhat.com>
47426
47427         hash: reverse order of src/dst parameters in an internal interface
47428         * lib/hash.c (transfer_entries): Reverse order of parameters to
47429         put DST before SRC.  Adjust callers.
47430
47431         tests: test-hash: avoid wholesale duplication
47432         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
47433         Instead, use a loop and add a single conditional.
47434
47435         tests: test-hash: allow seed selection via a command line argument
47436         * tests/test-hash.c (get_seed): New function.
47437         (main): Use it.
47438
47439 2009-06-19  Eric Blake  <ebb9@byu.net>
47440
47441         hash: avoid memory leak on allocation failure
47442         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
47443         failure.  Factor repeated algorithm...
47444         (transfer_entries): ...into new helper routine.
47445         (hash_delete): React to hash_rehash return value.
47446
47447         hash: reduce memory pressure in hash_rehash no-op case
47448         * lib/hash.c (next_prime): Avoid overflow.
47449         (hash_initialize): Factor bucket size computation...
47450         (compute_bucket_size): ...into new helper function.
47451         (hash_rehash): Use new function and open coding to reduce memory
47452         pressure, and avoid a memory leak in USE_OBSTACK code.
47453         Reported by Jim Meyering.
47454
47455 2009-06-18  Eric Blake  <ebb9@byu.net>
47456
47457         hash: make rotation more obvious
47458         * modules/hash (Depends-on): Add bitrotate and stdint.
47459         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
47460         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
47461         (SIZE_MAX): Rely on headers for definition.
47462         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
47463         (raw_hasher): Use rotr_sz.
47464         Suggested by Jim Meyering.
47465
47466         hash: fix memory leak in last patch
47467         * lib/hash.c (hash_rehash): Avoid memory leak.
47468
47469         hash: avoid no-op rehashing
47470         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
47471
47472         hash: provide default callback functions
47473         * lib/hash.c (raw_hasher, raw_comparator): New functions.
47474         (hash_initialize): Use them as defaults.
47475         * tests/test-hash.c (main): Test this.
47476
47477         hash: minor optimization
47478         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
47479         when possible.
47480         (hash_initialize): Document this promise.
47481         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
47482         * tests/test-hash.c (hash_compare_strings): Test this.
47483
47484 2009-06-18  Bruno Haible  <bruno@clisp.org>
47485
47486         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
47487         going to be replaced anyway.
47488
47489 2009-06-18  Bruno Haible  <bruno@clisp.org>
47490
47491         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
47492         in one place.
47493         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
47494         be replaced anyway.
47495
47496 2009-06-18  Eric Blake  <ebb9@byu.net>
47497
47498         hash: check for resize before insertion
47499         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
47500         threshold before insertion, so that a pathological hash_rehash
47501         that fills every bucket can still trigger another rehash.
47502
47503 2009-06-18  Jim Meyering  <meyering@redhat.com>
47504
47505         hash-tests: add a loop around the small tests
47506         * tests/test-hash.c (main): Repeat small tests with selected
47507         small initial table sizes.
47508
47509 2009-06-17  Eric Blake  <ebb9@byu.net>
47510
47511         hash: minor cleanups
47512         * lib/hash.h (hash_entry): Make opaque, by moving...
47513         * lib/hash.c (hash_entry): ...here.
47514         (hash_insert): Clarify restrictions on what can be inserted.
47515         (hash_get_next): Clarify when it is safe to remove an element
47516         during traversal.
47517         (check_tuning): Skip verification when tuning is known safe.
47518         (hash_initialize): Clarify restrictions on tuning.
47519
47520 2009-06-17  Jim Meyering  <jim@meyering.net>
47521         and Eric Blake  <ebb9@byu.net>
47522
47523         hash-tests: new module
47524         * modules/hash-tests: New file.
47525         * tests/test-hash.c: New file.
47526
47527 2009-06-17  Eric Blake  <ebb9@byu.net>
47528
47529         strstr-simple: document new module
47530         * MODULES.html.sh: Document new module.
47531
47532         strstr, strcasestr: replace on platforms with broken memchr
47533         * modules/strstr: Split into...
47534         * modules/strstr-simple: ...new module that does not care about
47535         performance, but does care about glibc bug.
47536         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
47537         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
47538         if platform memchr is broken, per Debian bug 521737.
47539         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
47540         memchr.
47541         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
47542         * doc/posix-functions/strstr.texi (strstr): Document the fix.
47543         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
47544         * modules/mountlist (Depends-on): Add strstr-simple.
47545         * modules/gen-uni-tables (Depends-on): Likewise.
47546         * modules/argz (Depends-on): Add strstr.
47547
47548 2009-06-17  Bruno Haible  <bruno@clisp.org>
47549
47550         * modules/posix_spawn-internal (Depends-on): Add errno.
47551
47552 2009-06-17  Bruno Haible  <bruno@clisp.org>
47553
47554         Define missing ESTALE on Interix 3.5.
47555         * lib/errno.in.h (ESTALE): Assign a value if missing.
47556         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
47557         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
47558         missing.
47559         * doc/posix-headers/errno.texi: Mention the Interix bug.
47560         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
47561
47562 2009-06-15  Eric Blake  <ebb9@byu.net>
47563
47564         memchr, memchr2: add valgrind exception
47565         * lib/memchr.valgrind: New file.
47566         * lib/memchr2.valgrind: New file.
47567         * modules/memchr (Files): Distribute valgrind file.
47568         * modules/memchr2 (Files): Likewise.
47569
47570         docs: memchr is no longer obsolete
47571         * MODULES.html.sh: Move memchr from obsolete to string.h section.
47572         * lib/string.in.h (memchr): Simplify logic.
47573
47574 2009-06-14  Jim Meyering  <meyering@redhat.com>
47575
47576         link-follow: fix the "checking..." message to not mention trailing slash
47577         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
47578         never considered trailing slashes.
47579
47580 2009-06-14  Bruno Haible  <bruno@clisp.org>
47581
47582         * m4/memchr.m4: Mention also the bug on IA-64.
47583         * doc/posix-functions/memchr.texi: Likewise.
47584
47585 2009-06-12  Eric Blake  <ebb9@byu.net>
47586
47587         memchr: detect broken x86_64 and alpha implementations
47588         * modules/memchr-tests (Depends-on): Move mmap detection...
47589         * modules/memchr (Depends-on): ...here.
47590         (configure.ac): Set indicator.
47591         * lib/string.in.h (memchr): Declare replacement.
47592         * modules/string (Makefile.am): Trigger replacement.
47593         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
47594         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
47595         bugs.
47596         * doc/posix-functions/memchr.texi (memchr): Document the bug.
47597         * modules/getpagesize (License): Relax license.
47598
47599 2009-06-11  Bruno Haible  <bruno@clisp.org>
47600
47601         * lib/idpriv.h: Add more references.
47602
47603 2009-06-08  Bruno Haible  <bruno@clisp.org>
47604
47605         Tests for module 'idpriv-droptemp'.
47606         * modules/idpriv-droptemp-tests: New file.
47607         * tests/test-idpriv-droptemp.sh: New file.
47608         * tests/test-idpriv-droptemp.su.sh: New file.
47609         * tests/test-idpriv-droptemp.c: New file.
47610
47611         New module 'idpriv-droptemp'.
47612         * lib/idpriv-droptemp.c: New file.
47613         * modules/idpriv-droptemp: New file.
47614
47615 2009-06-08  Bruno Haible  <bruno@clisp.org>
47616
47617         Tests for module 'idpriv-drop'.
47618         * modules/idpriv-drop-tests: New file.
47619         * tests/test-idpriv-drop.sh: New file.
47620         * tests/test-idpriv-drop.su.sh: New file.
47621         * tests/test-idpriv-drop.c: New file.
47622
47623         New module 'idpriv-drop'.
47624         * lib/idpriv.h: New file.
47625         * lib-idpriv-drop.c: New file.
47626         * m4/idpriv.m4: New file.
47627         * modules/idpriv-drop: New file.
47628
47629 2009-06-08  Bruno Haible  <bruno@clisp.org>
47630
47631         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
47632         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47633         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47634         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47635         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47636         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47637         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47638
47639 2009-06-08  Eric Blake  <ebb9@byu.net>
47640
47641         test-strstr: use memory fence, when possible
47642         * tests/test-strstr.c (main): Use memory fence, in order to be
47643         more likely to trigger Debian bug 521737.
47644         * modules/strstr-tests (Files): Pull in additional files.
47645
47646         memchr: no longer obsolete, for wider field testing
47647         * modules/memchr (Status, Notice): Delete, this module is no
47648         longer obsolete.
47649         * modules/vasnprintf (Depends-on): Add memchr.
47650
47651 2009-06-07  Jim Meyering  <meyering@redhat.com>
47652
47653         hash: declare some functions with the warn_unused_result attribute
47654         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
47655
47656 2009-06-07  Bruno Haible  <bruno@clisp.org>
47657
47658         * tests/test-alignof.c: Don't test int64_t if it does not exist.
47659         Reported by Eric Blake.
47660
47661 2009-06-06  Eric Blake  <ebb9@byu.net>
47662
47663         test-alignof: fix typo with long double
47664         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
47665         compiler error.
47666
47667 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
47668
47669         Escape non-texinfo { and }s.
47670         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
47671         markup error.
47672
47673 2009-06-04  Jim Meyering  <meyering@redhat.com>
47674
47675         gitlog-to-changelog: don't infloop on an empty commit log
47676         * build-aux/gitlog-to-changelog: Warn about an empty log message.
47677         Reported by Boris Petersen <transacid@centerim.org>.
47678
47679 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
47680
47681         version-etc: extend for packagers
47682         Add three new configure options, intended for packagers:
47683           --with-packager="packager name"
47684           --with-packager-version="packager-specific version"
47685           --with-packager-bug-reports="packager bug reporting"
47686         An example with coreutils:
47687           $ ./configure \
47688             --with-packager=Gentoo \
47689             --with-packager-bug-report=http://bugs.gentoo.org/ \
47690             --with-packager-version="patchset 1.6"
47691           $ ./src/ls --version | head -n2
47692           ls (GNU coreutils) 7.1-dirty
47693           Packaged by Gentoo (patchset 1.6)
47694         Note that the bug reporting info via --help doesn't show up because
47695         coreutils uses its own custom emit_bug_reporting_address() implementation
47696         in src/system.h.  If it didn't, it'd look like:
47697           $ ./src/ls --help | tail -n4
47698           Report bugs to <bug-coreutils@gnu.org>.
47699           Report Gentoo bugs to <http://bugs.gentoo.org/>.
47700           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
47701           General help using GNU software: <http://www.gnu.org/gethelp/>.
47702         * lib/version-etc.c: Print new information, if provided.
47703         * m4/version-etc.m4: New file.
47704         * modules/version-etc (Files): Add m4/version-etc.m4.
47705         (configure.ac): Add gl_VERSION_ETC.
47706
47707 2009-05-31  Bruno Haible  <bruno@clisp.org>
47708
47709         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
47710         and 'int64_t'.
47711         * modules/alignof-tests (Dependencies): Add stdint.
47712         Reported by Eric Blake.
47713
47714 2009-05-31  Bruno Haible  <bruno@clisp.org>
47715
47716         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
47717         restriction due to compiler bugs.
47718         Reported by Eric Blake.
47719
47720 2009-05-31  Simon Josefsson  <simon@josefsson.org>
47721             Bruno Haible  <bruno@clisp.org>
47722
47723         Fix test-alignof failure.
47724         * lib/alignof.h (alignof_slot): New macro.
47725         (alignof_type): New macro, with the same semantics as the previous
47726         'alignof'.
47727         (alignof): Alias to alignof_slot.
47728         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
47729         check that the results are usable as constant expressions.
47730
47731 2009-05-31  Bruno Haible  <bruno@clisp.org>
47732
47733         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
47734         * tests/test-memchr.c (main): Check that memchr does not read past the
47735         first occurrence of the byte.
47736         * tests/test-strstr.c (main): Update comment.
47737         Suggested by Eric Blake.
47738
47739 2009-05-30  Bruno Haible  <bruno@clisp.org>
47740
47741         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
47742         detail how to use dumpbin.
47743         Reported by David Byron <dbyron@dbyron.com>.
47744
47745 2009-06-02  Simon Josefsson  <simon@josefsson.org>
47746
47747         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
47748
47749 2009-06-02  Simon Josefsson  <simon@josefsson.org>
47750
47751         * m4/manywarnings.m4: Add GCC 4.4 warnings.
47752
47753 2009-05-28  Bruno Haible  <bruno@clisp.org>
47754
47755         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
47756         build-aux/ files.
47757
47758 2009-05-28  Simon Josefsson  <simon@josefsson.org>
47759
47760         * gnulib-tool (func_import): Transform license on build-aux/ files too.
47761
47762 2009-05-27  Simon Josefsson  <simon@josefsson.org>
47763
47764         * gnulib-tool (sed_transform_main_lib_file)
47765         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
47766         regexps.
47767
47768 2009-05-26  Simon Josefsson  <simon@josefsson.org>
47769
47770         * tests/test-strstr.c: Add another self-test.
47771         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
47772         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
47773
47774 2009-05-23  Bruno Haible  <bruno@clisp.org>
47775
47776         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
47777         change.
47778
47779 2009-05-21  Bruno Haible  <bruno@clisp.org>
47780
47781         Simplify use of mode_t varargs.
47782         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
47783         uses 'mode_t' or 'int'.
47784         * lib/openat.c (openat): Likewise.
47785         * lib/open-safer.c (open_safer): Likewise.
47786         * m4/mode_t.m4: New file.
47787         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
47788         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
47789         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
47790         * modules/open (Files): Add m4/mode_t.m4.
47791         * modules/openat (Files): Likewise.
47792         * modules/fcntl-safer (Files): Likewise.
47793         Suggested by Eric Blake.
47794
47795 2009-05-21  Pádraig Brady  <P@draigbrady.com>
47796
47797         * doc/glibc-functions/fallocate.texi: New file.
47798         * doc/gnulib.texi: Include it.
47799
47800 2009-05-21  Eric Blake  <ebb9@byu.net>
47801             Bruno Haible  <bruno@clisp.org>
47802
47803         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
47804         invocations.
47805         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
47806
47807 2009-05-21  Eric Blake  <ebb9@byu.net>
47808             Bruno Haible  <bruno@clisp.org>
47809
47810         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
47811         include_next. Fix of 2008-11-20 commit.
47812         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
47813         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
47814         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
47815         NEXT_MATH_H.
47816         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
47817         instead of NEXT_MATH_H.
47818
47819 2009-05-21  Bruno Haible  <bruno@clisp.org>
47820
47821         Avoid redefinition warnings for SIZE_MAX.
47822         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
47823         Reported by Simon Josefsson.
47824
47825 2009-05-21  Bruno Haible  <bruno@clisp.org>
47826
47827         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
47828         AC_CACHE_VAL.
47829
47830 2009-05-20  Bruno Haible  <bruno@clisp.org>
47831
47832         Make zeroptr.h work on mingw.
47833         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
47834         mprotect.
47835         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
47836         * modules/memchr2-tests (configure.ac): Likewise.
47837         * modules/memcmp-tests (configure.ac): Likewise.
47838         * modules/memmem-tests (configure.ac): Likewise.
47839         * modules/memrchr-tests (configure.ac): Likewise.
47840         Reported by Simon Josefsson.
47841
47842 2009-05-20  Simon Josefsson  <simon@josefsson.org>
47843
47844         * tests/test-glob.c: Include string.h for strcmp prototype.
47845
47846 2009-05-20  Simon Josefsson  <simon@josefsson.org>
47847
47848         * modules/getdelim (Depends-on): Add explicit stdint, although it
47849         was implicitly already pulled in via realloc-posix.
47850         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
47851
47852 2009-05-20  Simon Josefsson  <simon@josefsson.org>
47853
47854         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
47855         G. Christensen" <tgc@jupiterrise.com>.
47856         * m4/sys_socket_h.m4: Check for sa_family_t.
47857         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
47858         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
47859         * tests/test-sys_socket.c: Check that sa_family_t works.
47860
47861 2009-05-18  Eric Blake  <ebb9@byu.net>
47862
47863         maint.mk: allow gnulib_dir in VPATH build
47864         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
47865
47866 2009-05-15  Jim Meyering  <meyering@redhat.com>
47867
47868         maint.mk: Give gnulib_dir a default definition.
47869         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
47870         Thus, most packages no longer need to specify this variable in cfg.mk
47871
47872 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
47873
47874         rename.m4: fix typos that would make non-mingw cross-configure fail
47875         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
47876
47877 2009-05-13  Eric Blake  <ebb9@byu.net>
47878
47879         mmap-anon: avoid out-of-order autoconf expansion
47880         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
47881         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
47882         * modules/memchr-tests (Depends-on): Add extensions.
47883         * modules/memchr2-tests (Depends-on): Add extensions.
47884         * modules/memcmp-tests (Depends-on): Add extensions.
47885         * modules/memmem-tests (Depends-on): Add extensions.
47886         * modules/memrchr-tests (Depends-on): Add extensions.
47887
47888 2009-05-13  Bruno Haible  <bruno@clisp.org>
47889
47890         Make some tests ISO C 99 compliant.
47891         * tests/zerosize-ptr.h: New file.
47892         * tests/test-memchr.c: Include zerosize-ptr.h.
47893         (main): Use a zero-size object pointer instead of NULL.
47894         * tests/test-memchr2.c: Include zerosize-ptr.h.
47895         (main): Use a zero-size object pointer instead of NULL.
47896         * tests/test-memcmp.c: Include zerosize-ptr.h.
47897         (main): Use a zero-size object pointer instead of NULL.
47898         * tests/test-memmem.c: Include zerosize-ptr.h.
47899         (main): Use a zero-size object pointer instead of NULL.
47900         * tests/test-memrchr.c: Include zerosize-ptr.h.
47901         (main): Use a zero-size object pointer instead of NULL.
47902         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
47903         m4/mmap-anon.m4.
47904         (Depends-on): Add getpagesize.
47905         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
47906         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
47907         m4/mmap-anon.m4.
47908         (Depends-on): Add getpagesize.
47909         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
47910         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
47911         m4/mmap-anon.m4.
47912         (Depends-on): Add getpagesize.
47913         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
47914         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
47915         m4/mmap-anon.m4.
47916         (Depends-on): Add getpagesize.
47917         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
47918         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
47919         m4/mmap-anon.m4.
47920         (Depends-on): Add getpagesize.
47921         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
47922
47923 2009-05-12  Bruno Haible  <bruno@clisp.org>
47924
47925         Tests for module 'alignof'.
47926         * modules/alignof-tests: New file.
47927         * tests/test-alignof.c: New file.
47928
47929 2009-05-12  Bruno Haible  <bruno@clisp.org>
47930
47931         Fix alignof macro.
47932         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
47933         vendor compilers that are always correct.
47934
47935 2009-05-12  Bruno Haible  <bruno@clisp.org>
47936
47937         Make the MAP_ANONYMOUS detection work on HP-UX 11.
47938         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
47939         not whether its fully works.
47940
47941 2009-05-12  Bruno Haible  <bruno@clisp.org>
47942
47943         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
47944
47945 2009-05-12  Jim Meyering  <meyering@redhat.com>
47946
47947         * top/maint.mk: Adjust backslash alignment.
47948
47949 2009-05-11  Simon Josefsson  <simon@josefsson.org>
47950
47951         * top/maint.mk: Make $(srcdir)/build-aux configurable.
47952
47953 2009-05-11  Eric Blake  <ebb9@byu.net>
47954
47955         argp: avoid undefined behavior
47956         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
47957         macros.
47958
47959 2009-05-08  Simon Josefsson  <simon@josefsson.org>
47960
47961         * tests/test-vc-list-files-git.sh: Do git config of user.email and
47962         user.name to prevent git commit from complaining.
47963
47964 2009-05-10  Bruno Haible  <bruno@clisp.org>
47965
47966         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
47967         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
47968         it rewrites every file name only once.
47969         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
47970
47971 2009-05-08  Bruno Haible  <bruno@clisp.org>
47972
47973         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
47974         instead of 'max'.
47975
47976 2009-05-08  Simon Josefsson  <simon@josefsson.org>
47977
47978         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
47979         sockaddr_storage test.
47980
47981 2009-05-07  Simon Josefsson  <simon@josefsson.org>
47982
47983         * modules/sys_socket (Makefile.am): Substitute
47984         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
47985         * m4/sys_socket_h.m4: Check for sockaddr_storage.
47986         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
47987         * tests/test-sys_socket.c: Check sockaddr_storage.
47988
47989 2009-05-08  Bruno Haible  <bruno@clisp.org>
47990
47991         New module 'alignof'.
47992         * lib/alignof.h: New file.
47993         * modules/alignof: New file.
47994
47995 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
47996             Bruno Haible  <bruno@clisp.org>
47997
47998         Fix test-file-has-acl on FreeBSD.
47999         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
48000         mask is implicitly added.
48001         * tests/test-file-has-acl.c: Include <signal.h>.
48002         (main): Terminate the test after 5 seconds.
48003         * modules/acl-tests (configure.ac): Check for alarm function.
48004
48005 2009-05-04  Bruno Haible  <bruno@clisp.org>
48006
48007         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
48008         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
48009         * modules/errno (configure.ac): Drop AC_REQUIRE.
48010         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
48011         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
48012
48013 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48014
48015         * modules/glob-tests: New module.
48016         * tests/test-glob.c: Add.
48017
48018 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48019
48020         * modules/fnmatch-tests: New module.
48021         * tests/test-fnmatch.c: Add.
48022
48023 2009-05-04  Eric Blake  <ebb9@byu.net>
48024
48025         maint: make the new no-submodule-changes rule VPATH-safe
48026         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
48027
48028 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48029             Bruno Haible  <bruno@clisp.org>
48030
48031         acl: Fix infinite loop on FreeBSD.
48032         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
48033         of return value from acl_get_entry.
48034         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
48035         Likewise.
48036
48037 2009-05-03  Bruno Haible  <bruno@clisp.org>
48038
48039         * lib/acl-internal.h (acl_entries): Clarify return value.
48040         * lib/acl_entries.c (acl_entries): Likewise.
48041
48042 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48043
48044         Bug fix in acl module.
48045         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
48046
48047 2009-05-03  Bruno Haible  <bruno@clisp.org>
48048
48049         Create gperf-generated file in the source dir, not in the build dir.
48050         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
48051         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
48052         * modules/unicase/locale-language (unicase/locale-languages.h):
48053         Likewise.
48054         * modules/unicase/special-casing (unicase/special-casing-table.h):
48055         Likewise.
48056         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
48057         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
48058         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
48059         Reported by Ralf Wildenhues.
48060
48061 2009-05-03  Bruno Haible  <bruno@clisp.org>
48062
48063         * modules/fnmatch (Description, configure.ac): Taken from
48064         fnmatch-posix.
48065         * modules/fnmatch-posix: Turn into a symbolic reference to the
48066         'fnmatch' module, and deprecate.
48067         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
48068
48069 2009-05-03  Bruno Haible  <bruno@clisp.org>
48070
48071         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
48072         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
48073         Reported by Ralf Wildenhues.
48074
48075 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48076
48077         * m4/fnmatch.m4: Fix fnmatch re-define.
48078
48079 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48080
48081         priv-set: new module and tests; adapt write-any-file
48082         * lib/priv-set.c: New file.
48083         * lib/priv-set.h: New file.
48084         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
48085         * lib/write-any-file.c: Simplify by using priv-set module.
48086         * m4/priv-set.m4: New file.
48087         * modules/priv-set: New file.
48088         * modules/unlinkdir: Add dependency on priv-set module.
48089         * modules/write-any-file: Likewise.
48090
48091         Tests for module 'priv-set'.
48092         * modules/priv-set-tests: New file.
48093         * tests/test-priv-set.c: New file.
48094
48095 2009-05-03  Jim Meyering  <meyering@redhat.com>
48096             Bruno Haible  <bruno@clisp.org>
48097
48098         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
48099         use the converted UTF-8 variant of the name instead.
48100
48101 2009-05-03  Jim Meyering  <meyering@redhat.com>
48102
48103         tests: tighten some getdate tests
48104         * tests/test-getdate.c (main): Tighten tests: require equality,
48105         not just greater than.  Set TZ envvar to UTC0.
48106
48107 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
48108
48109         getdate: correctly interpret "next monday" when run on a Monday
48110         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
48111         that e.g., "next tues" (when run on a tuesday) results in a date
48112         that is one week in the future, and not today's date.
48113         I.e., add a week when the wday is the same as the current one.
48114         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
48115         and earlier by Martin Bernreuther and Jan Minář.
48116         * tests/test-getdate.c (main): Check that "next DAY" is always in
48117         the future and that "last DAY" is always in the past.
48118
48119 2009-05-02  Jim Meyering  <meyering@redhat.com>
48120
48121         build: ensure that a release build fails when a submodule is unclean
48122         * top/maint.mk (no-submodule-changes): New rule.
48123         (alpha beta major): Depend on it.
48124
48125 2009-05-02  Bruno Haible  <bruno@clisp.org>
48126
48127         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
48128         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
48129         shell variable gl_fnmatch_required to detect which variant is
48130         requested.
48131         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
48132         gl_FUNC_FNMATCH_POSIX.
48133         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
48134         exclude fnmatch-posix.
48135
48136 2009-05-02  Bruno Haible  <bruno@clisp.org>
48137
48138         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
48139         * modules/mbsrtowcs (License): Change to LGPLv2+.
48140         * modules/strnlen1 (License): Likewise.
48141         Reported by Simon Josefsson.
48142
48143 2009-05-02  Bruno Haible  <bruno@clisp.org>
48144
48145         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
48146         "cross".
48147         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
48148         gnulib-tool was called with option --source-base=lib.
48149
48150 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48151
48152         Use automake *-local hooks without commands, for extensibility.
48153         * modules/localcharset (Makefile.am): Rename install-exec-local
48154         rule to install-exec-localcharset, and make it a prerequisite of
48155         install-exec-local.  Likewise, rename the uninstall-local rule to
48156         uninstall-localcharset, and make it a prerequisite of the former.
48157
48158 2009-05-01  Bruno Haible  <bruno@clisp.org>
48159
48160         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
48161         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48162         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
48163         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
48164         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
48165         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48166         m4/locale-zh.m4, m4/codeset.m4.
48167
48168         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48169         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
48170         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48171         m4/locale-zh.m4.
48172
48173         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
48174         REPLACE_WCRTOMB if mbstate_t must be replaced.
48175         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
48176         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
48177
48178 2009-05-01  Bruno Haible  <bruno@clisp.org>
48179
48180         Avoid compiler warnings when redefining macros defined by <libintl.h>.
48181         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
48182         dngettext, dcngettext, textdomain, bindtextdomain,
48183         bind_textdomain_codeset): Undefine before redefining.
48184
48185 2009-04-30  Bruno Haible  <bruno@clisp.org>
48186
48187         Fix bug introduced on 2009-04-25.
48188         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
48189         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
48190         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
48191         is defined.
48192         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
48193         is defined.
48194         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
48195         is defined.
48196         Reported by Elbert_Pol <elbert.pol@gmail.com>.
48197
48198 2009-04-28  Bruno Haible  <bruno@clisp.org>
48199
48200         Comment tweaks.
48201         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
48202         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
48203         * lib/unicase.h (u*_casexfrm): Likewise.
48204         Reported by Paolo Bonzini.
48205
48206 2009-04-28  Bruno Haible  <bruno@clisp.org>
48207
48208         Fix a compilation error.
48209         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
48210         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48211         Reported by Jim Meyering.
48212
48213 2009-04-27  Bruno Haible  <bruno@clisp.org>
48214
48215         New module 'libunistring'.
48216         * modules/libunistring: New file.
48217         * m4/libunistring.m4: New file.
48218         * MODULES.html.sh (Unicode string functions): Add it.
48219
48220 2009-04-27  Eric Blake  <ebb9@byu.net>
48221
48222         maint.mk: allow package-specific header to provide <config.h>
48223         * top/maint.mk (sc_require_config_h): New variable.
48224         (sc_require_config_h, sc_require_config_h_first): Use it.
48225
48226 2009-04-27  Simon Josefsson  <simon@josefsson.org>
48227
48228         * top/maint.mk (sc_avoid_if_before_free): Except
48229         useless-if-before-free script.
48230
48231 2009-04-27  Eric Blake  <ebb9@byu.net>
48232
48233         maintainer-makefile: depend on all required helper scripts
48234         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
48235         useless-if-before-free.
48236         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
48237         version, rather than assuming gnulib checkout is available.
48238         Reported by Simen Josefsson.
48239
48240 2009-04-26  Bruno Haible  <bruno@clisp.org>
48241
48242         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
48243         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
48244         "../" or "..".
48245
48246 2009-04-26  Bruno Haible  <bruno@clisp.org>
48247
48248         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
48249         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
48250         AC_LIB_HAVE_LINKFLAGS.
48251
48252 2009-04-26  Bruno Haible  <bruno@clisp.org>
48253
48254         Simplify calling convention of u*_conv_from_encoding.
48255         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
48256         u32_conv_from_encoding): Expect a resultbuf argument and return the
48257         result directly as a pointer.
48258         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
48259         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
48260         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
48261         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
48262         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
48263         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48264         Update.
48265         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
48266         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
48267         * lib/vasnprintf.c (VASNPRINTF): Update.
48268         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
48269         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
48270         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
48271         * NEWS: Mention the change.
48272
48273 2009-04-26  Bruno Haible  <bruno@clisp.org>
48274
48275         Simplify calling convention of u*_conv_to_encoding.
48276         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
48277         u32_conv_to_encoding): Expect a resultbuf argument and return the
48278         result directly as a pointer.
48279         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48280         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
48281         freeing scaled_offsets if mem_iconveha failed.
48282         * lib/unicase/u-casexfrm.h (FUNC): Update.
48283         * lib/uninorm/u-normxfrm.h (FUNC): Update.
48284         * lib/vasnprintf.c (VASNPRINTF): Update.
48285         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
48286         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
48287         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
48288         * NEWS: Mention the change.
48289
48290 2009-04-26  Bruno Haible  <bruno@clisp.org>
48291
48292         Avoid test failures on AIX and OSF/1.
48293         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
48294         malloc(0).
48295         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48296         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48297         Likewise.
48298         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
48299         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
48300         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
48301         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
48302         * doc/posix-functions/malloc.texi: Document the portability problem
48303         related to malloc(0).
48304
48305 2009-04-26  Bruno Haible  <bruno@clisp.org>
48306
48307         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
48308         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
48309         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
48310
48311 2009-04-25  Bruno Haible  <bruno@clisp.org>
48312
48313         Avoid link error when creating a namespace clean library.
48314         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
48315         as macro with arguments if already defined as an alias.
48316         * lib/signbitf.c (gl_signbitf): Don't undefine.
48317         * lib/signbitd.c (gl_signbitd): Don't undefine.
48318         * lib/signbitl.c (gl_signbitl): Don't undefine.
48319
48320 2009-04-25  Jim Meyering  <meyering@redhat.com>
48321
48322         vc-list-files: fix another quoting bug
48323         * build-aux/vc-list-files: Avoid sed backslash expansion
48324         of pathological directory names.
48325
48326 2009-04-25  Eric Blake  <ebb9@byu.net>
48327
48328         vc-list-files: fix shell quoting error
48329         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
48330         timestamp.
48331
48332 2009-04-25  Jim Meyering  <meyering@redhat.com>
48333
48334         vc-list-files: restore lost functionality with subdir argument
48335         * build-aux/vc-list-files: When given a non-"." sub-directory
48336         argument, substitute the $dir/ prefix back onto each resulting name.
48337         Otherwise, coreutils' root_tests check would fail.
48338
48339 2009-04-24  Eric Blake  <ebb9@byu.net>
48340
48341         vc-list-files: ignore git symlinks
48342         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
48343         than ls-files, to ignore git symlinks.
48344
48345         maint.mk: import improvements from m4
48346         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
48347         (move_if_change): Delete unused macro.
48348         (news-date-check, vc-diff-check): Support VPATH builds.
48349         (announcement): Likewise.  Split --bootstrap-tools list...
48350         (boostrap-tools): ...into separate list, which can be overridden
48351         in cfg.mk.
48352         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
48353         requiring dependency on useless-if-before-free module.
48354         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
48355         Support VPATH builds.
48356
48357 2009-04-24  Jim Meyering  <meyering@redhat.com>
48358
48359         maint.mk: remove coreutils-specific rules and variables
48360         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
48361         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
48362         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
48363
48364         maint.mk: remove obsolete rule
48365         * top/maint.mk (rel-check): Remove rule.
48366         (WGET, WGETFLAGS): Remove now-unused variables.
48367
48368 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48369
48370         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
48371         consistency.
48372
48373         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
48374         '$(PATH_SEPARATOR)' instead of ':'.
48375
48376 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48377
48378         * lib/getopt1.c (main): Use 'const' for static array.
48379
48380 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48381
48382         * top/maint.mk: Sync with coreutils.
48383         * NEWS: Explain incompatibilities.
48384
48385 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48386             Bruno Haible  <bruno@clisp.org>
48387
48388         Fix cross-compilation results.
48389         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
48390         statement, as third argument of AC_TRY_RUN.
48391         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
48392         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
48393         Likewise.
48394         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
48395         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
48396         Likewise.
48397         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48398         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
48399         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
48400
48401 2009-04-20  Bruno Haible  <bruno@clisp.org>
48402
48403         Avoid test failure on mingw.
48404         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
48405
48406 2009-04-20  Bruno Haible  <bruno@clisp.org>
48407
48408         Avoid compilation error on mingw.
48409         * modules/localename-tests (Depends-on): Add locale.
48410
48411 2009-04-19  Bruno Haible  <bruno@clisp.org>
48412
48413         Support for building a shared library on Windows platforms.
48414         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
48415         (main): Test the presence of UNINORM_NFC here.
48416         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
48417         (main): Test the presence of UNINORM_NFD here.
48418         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
48419         (main): Test the presence of UNINORM_NFKC here.
48420         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
48421         (main): Test the presence of UNINORM_NFKD here.
48422
48423 2009-04-19  Bruno Haible  <bruno@clisp.org>
48424
48425         Avoid a compiler warning.
48426         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
48427         Change type of variable 'sequence'.
48428
48429 2009-04-19  Bruno Haible  <bruno@clisp.org>
48430
48431         * modules/configmake (Makefile.am): When the contents of configmake.h
48432         does not change, arrange to preserve its modification time.
48433
48434 2009-04-17  Simon Josefsson  <simon@josefsson.org>
48435
48436         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
48437         gettext domain.
48438
48439 2009-04-16  Jim Meyering  <meyering@redhat.com>
48440
48441         useless-if-before-free: improve conversion code
48442         * build-aux/useless-if-before-free: Adjust code-in-comment to match
48443         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
48444
48445 2009-04-14  Bruno Haible  <bruno@clisp.org>
48446
48447         * modules/fcntl (Depends-on): Add extensions.
48448         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
48449
48450 2009-04-12  Ben Pfaff  <blp@gnu.org>
48451
48452         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
48453         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
48454
48455 2009-03-20  Ben Pfaff  <blp@gnu.org>
48456
48457         Make rename replace existing destinations on Windows.
48458         * m4/rename.m4: Add test for Mingw.
48459         * lib/rename.c: Add rename replacement that uses MoveFileEx with
48460         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
48461         * doc/posix-functions/rename.texi: Document.
48462
48463 2009-04-10  Bruno Haible  <bruno@clisp.org>
48464
48465         New include file "iconveh.h".
48466         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
48467         * lib/striconveh.h: Include it.
48468         (enum iconv_ilseq_handler): Remove definition.
48469         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
48470         striconveh.h.
48471         * lib/striconveha.c: Include striconveh.h.
48472         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
48473         * modules/striconveh (Files): Add lib/iconveh.h.
48474         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
48475         lib/striconveh.h.
48476
48477 2009-04-10  Bruno Haible  <bruno@clisp.org>
48478
48479         * lib/uniconv.h: Update comment.
48480
48481 2009-04-10  Bruno Haible  <bruno@clisp.org>
48482
48483         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
48484         always.
48485         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
48486         * lib/unistr/u16-mbtouc-aux.c: Likewise.
48487         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
48488         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
48489         "unistring-notinline.h", so that the function gets defined always.
48490         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
48491         * lib/unistr/u8-uctomb.c: Likewise.
48492         * lib/unistr/u16-mbtouc.c: Likewise.
48493         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
48494         * lib/unistr/u16-uctomb.c: Likewise.
48495         * lib/unistr/u32-mbtouc.c: Likewise.
48496         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
48497         * lib/unistr/u32-uctomb.c: Likewise.
48498
48499 2009-04-10  Bruno Haible  <bruno@clisp.org>
48500
48501         Mark 'utime' obsolete.
48502         * modules/utime (Status, Notice): New sections.
48503         Suggested by Jim Meyering.
48504
48505         Fix cross-compile guess for utime test.
48506         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
48507         autoconf.
48508         * doc/posix-functions/utime.texi: Give more precisions.
48509         Reported by Jan <ipif@ymail.com>.
48510
48511 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
48512
48513         filevercmp: correct today's change
48514         * lib/filevercmp.c: Also handle coreutils' test inputs.
48515         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
48516
48517         Fix regression in 'filevercmp' module. Thanks Sven Joachim
48518         for reporting it.
48519         * lib/filevercmp.c: Special handle for "", "." and "..".
48520         * tests/test-filevercmp.c: Enlarge the set suite.
48521
48522 2009-04-07  Jim Meyering  <meyering@redhat.com>
48523
48524         useless-if-before-free: show how to remove braced useless free, too
48525         * build-aux/useless-if-before-free: still only in a comment, though.
48526
48527 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
48528
48529         maint.mk: import changes to syntax-check macros from coreutils
48530         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
48531         Use them in the relevant macros.
48532
48533 2009-04-06  Bruno Haible  <bruno@clisp.org>
48534
48535         Fix unportable use of bit-fields.
48536         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
48537         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
48538         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
48539
48540 2009-04-06  Bruno Haible  <bruno@clisp.org>
48541
48542         Avoid test failures on AIX and OSF/1.
48543         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
48544         that malloc(0) = NULL.
48545         * tests/unicase/test-u8-tolower.c (check): Likewise.
48546         * tests/unicase/test-u8-totitle.c (check): Likewise.
48547         * tests/unicase/test-u8-toupper.c (check): Likewise.
48548         * tests/unicase/test-u16-casefold.c (check): Likewise.
48549         * tests/unicase/test-u16-tolower.c (check): Likewise.
48550         * tests/unicase/test-u16-totitle.c (check): Likewise.
48551         * tests/unicase/test-u16-toupper.c (check): Likewise.
48552         * tests/unicase/test-u32-casefold.c (check): Likewise.
48553         * tests/unicase/test-u32-tolower.c (check): Likewise.
48554         * tests/unicase/test-u32-totitle.c (check): Likewise.
48555         * tests/unicase/test-u32-toupper.c (check): Likewise.
48556         * tests/uninorm/test-u8-nfc.c (check): Likewise.
48557         * tests/uninorm/test-u8-nfd.c (check): Likewise.
48558         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
48559         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
48560         * tests/uninorm/test-u16-nfc.c (check): Likewise.
48561         * tests/uninorm/test-u16-nfd.c (check): Likewise.
48562         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
48563         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
48564         * tests/uninorm/test-u32-nfc.c (check): Likewise.
48565         * tests/uninorm/test-u32-nfd.c (check): Likewise.
48566         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
48567         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
48568
48569 2009-04-05  Bruno Haible  <bruno@clisp.org>
48570
48571         Work around an autoconf limitation.
48572         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
48573         comment line if it would be longer than 3 KB.
48574
48575 2009-04-05  Bruno Haible  <bruno@clisp.org>
48576
48577         Avoid test failure with libiconv-1.13.
48578         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
48579         of the expected test results.
48580
48581 2009-04-05  Bruno Haible  <bruno@clisp.org>
48582
48583         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
48584         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
48585         that it should be installed.
48586
48587 2009-04-05  Bruno Haible  <bruno@clisp.org>
48588
48589         * gnulib-tool: New option --copy-file.
48590         (func_usage): Document it.
48591         (func_dest_tmpfilename): Moved out of func_import.
48592         (func_add_file, func_update_file): New functions, extracted from
48593         func_import.
48594         (func_import): Update.
48595
48596 2009-04-05  Karl Berry  <karl@gnu.org>
48597
48598         * README: prominently mention gnulib-tool.
48599         Rearrange sections so getting the code is near the top.
48600
48601 2009-04-05  Bruno Haible  <bruno@clisp.org>
48602
48603         * lib/unicase.h: Mention u*_cmp2.
48604         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
48605         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
48606         * lib/unicase/ulc-casecmp.c: Likewise.
48607         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
48608         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
48609         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
48610         unistr/u8-cmp.
48611         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
48612         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
48613         unistr/u16-cmp.
48614         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
48615         unistr/u32-cmp.
48616
48617         * lib/uninorm.h: Mention u*_cmp2.
48618         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
48619         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
48620         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
48621         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
48622         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
48623         unistr/u8-cmp.
48624         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
48625         unistr/u16-cmp.
48626         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
48627         unistr/u32-cmp.
48628
48629         New module 'unistr/u32-cmp2'.
48630         * lib/unistr/u32-cmp2.c: New file.
48631         * modules/unistr/u32-cmp2: New file.
48632
48633         New module 'unistr/u16-cmp2'.
48634         * lib/unistr/u16-cmp2.c: New file.
48635         * modules/unistr/u16-cmp2: New file.
48636
48637         New module 'unistr/u8-cmp2'.
48638         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
48639         * lib/unistr/u8-cmp2.c: New file.
48640         * lib/unistr/u-cmp2.h: New file.
48641         * modules/unistr/u8-cmp2: New file.
48642
48643 2009-04-05  Bruno Haible  <bruno@clisp.org>
48644
48645         * lib/unictype.h (uc_property_is_valid): New macro.
48646         * tests/unictype/test-pr_byname.c (main): Use it.
48647
48648         * lib/unistr.h: Doc fixes.
48649         * lib/uniconv.h: Doc fixes.
48650         * lib/unictype.h: Doc fixes.
48651
48652 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
48653
48654         Port coreutils 7.2 to Solaris 8.
48655
48656         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
48657         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
48658         for Solaris 8.  This is a bit of a hack, as it means it's the
48659         caller's responsibility to add -lnsl if needed, but most likely it
48660         won't be needed since only getaddrinfo uses this and getaddrinfo
48661         isn't needed on Solaris 8.
48662
48663         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
48664         problem to Solaris 8 encountered with coreutils 7.2, which
48665         resulted in a message "fnmatch.c:292: warning: passing argument 4
48666         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
48667         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
48668
48669 2009-04-03  Simon Josefsson  <simon@josefsson.org>
48670
48671         * m4/ld-version-script.m4: Add FIXME comment.
48672
48673 2009-04-02  Simon Josefsson  <simon@josefsson.org>
48674
48675         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
48676         SOVERSION variable.
48677
48678 2009-04-02  Bruno Haible  <bruno@clisp.org>
48679
48680         * Makefile (info, html, dvi, pdf): Combine the rules.
48681         Suggested by Jim Meyering.
48682
48683 2009-04-01  Bruno Haible  <bruno@clisp.org>
48684
48685         * Makefile (info, html, dvi, pdf): New targets.
48686         Reported by Reuben Thomas <rrt@sc3d.org>.
48687
48688 2009-04-01  Bruno Haible  <bruno@clisp.org>
48689
48690         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
48691         can be put into PATH.
48692         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
48693
48694 2009-04-01  Bruno Haible  <bruno@clisp.org>
48695
48696         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
48697
48698 2009-04-01  Bruno Haible  <bruno@clisp.org>
48699
48700         Rename module 'visibility'.
48701         * modules/lib-symbol-visibility: Renamed from modules/visibility.
48702         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
48703         * doc/gnulib.texi: Update.
48704         * MODULES.html.sh (Misc): Update.
48705         * NEWS: Mention the change.
48706
48707 2009-04-01  Simon Josefsson  <simon@josefsson.org>
48708
48709         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
48710         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
48711         Eric Blake <ebb9@byu.net> for review.
48712         * MODULES.html.sh: Add lib-msvc-compat.
48713         * doc/gnulib.texi: Link to new section.
48714         * m4/ld-output-def.m4: New file.
48715         * doc/ld-output-def.texi: New file.
48716
48717 2009-04-01  Simon Josefsson  <simon@josefsson.org>
48718
48719         Rename ld-version-script to lib-symbol-versions.  Suggested by
48720         Bruno Haible <bruno@clisp.org>.
48721         * modules/ld-version-script: Renamed to lib-symbol-versions.
48722         * doc/ld-version-script.texi: Fix module name.
48723         * MODULES.html.sh: Add lib-symbol-versions.
48724
48725 2009-03-31  Simon Josefsson  <simon@josefsson.org>
48726
48727         * modules/u64-tests: New file.
48728         * tests/test-u64.c: New file.
48729
48730 2009-03-04  Simon Josefsson  <simon@josefsson.org>
48731
48732         * MODULES.html.sh: Mention u64.
48733         * modules/u64: New module.
48734         * modules/crypto/sha512: Depend on u64 module instead of providing
48735         u64.h.
48736
48737 2009-03-27  Eric Blake  <ebb9@byu.net>
48738
48739         test-strerror: make debugging EAI_SYSTEM easier
48740         * modules/getaddrinfo-tests (Depends-on): Add strerror.
48741         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
48742         failure was EAI_SYSTEM.
48743
48744 2009-03-25  Bruno Haible  <bruno@clisp.org>
48745
48746         Fix a problem with --enable-relocatable on Solaris 7.
48747         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
48748         since 2008-02-24.
48749
48750 2009-03-25  Eric Blake  <ebb9@byu.net>
48751
48752         test-sockets: avoid gcc warning
48753         * tests/test-sockets.c (main): Silence compiler warning.
48754
48755 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
48756
48757         New modules nproc, pthread, contributed by Glen Lenker.
48758
48759         * MODULES.html.sh: Add pthread, nproc.
48760         * lib/nproc.c: New file.
48761         * lib/nproc.h: New file.
48762         * lib/pthread.in.h: New file.
48763         * m4/pthread.m4: New file.
48764         * modules/nproc: New file.
48765         * modules/pthread: New file.
48766
48767 2009-03-24  Simon Josefsson  <simon@josefsson.org>
48768
48769         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
48770         New variable.
48771
48772 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
48773
48774         filevercmp: handle simple~ and numbered.~3~ backup suffixes
48775         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
48776         * tests/test-filevercmp.c: Add tests for backup suffixes.
48777
48778 2009-03-24  Simon Josefsson  <simon@josefsson.org>
48779
48780         * modules/stdlib (Depends-on): Add stdint, needed when defining
48781         struct random_data on, for example, HP-UX 10.20.  Reported by
48782         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48783
48784 2009-03-24  Simon Josefsson  <simon@josefsson.org>
48785
48786         * lib/readline.c (readline): Call fflush on stdout after printing
48787         prompt.
48788
48789 2009-03-20  Bruno Haible  <bruno@clisp.org>
48790
48791         Remove dependency from 'close' module to -lws2_32 on native Windows.
48792         * lib/close-hook.h: New file.
48793         * lib/close-hook.c: New file.
48794         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
48795         w32sock.h.
48796         (_gl_close_fd_maybe_socket): Remove function.
48797         (rpl_close): Invoke execute_all_close_hooks instead of
48798         _gl_close_fd_maybe_socket.
48799         * lib/sockets.c: Include close-hook.h, w32sock.h.
48800         (close_fd_maybe_socket): New function, essentially from lib/close.c.
48801         (close_sockets_hook): New variable.
48802         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
48803         (gl_sockets_cleanup): Unregister it.
48804         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
48805         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
48806         * modules/close-hook: New file.
48807         * modules/close (Files): Remove lib/w32sock.h.
48808         (Depends-on): Add close-hook.
48809         (Link): Remove section.
48810         * modules/sockets (Files): Add lib/w32sock.h.
48811         (Depends-on): Add close-hook.
48812         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
48813         invocation.
48814         * NEWS: Mention that LIB_CLOSE is gone.
48815
48816 2009-03-23  Eric Blake  <ebb9@byu.net>
48817
48818         signal-tests: test previous patch
48819         * tests/test-signal.c: New file.
48820         * modules/signal-tests: Likewise.
48821
48822         signal.h: always support 'volatile sig_atomic_t'
48823         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
48824         (gl_SIGNAL_H_DEFAULTS): Add a default.
48825         * modules/signal (Makefile.am): Substitute if needed.
48826         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
48827         users can blindly add volatile.
48828         * doc/posix-headers/signal.texi (signal.h): Document it.
48829         Reported by Matthew Woehlke.
48830
48831 2009-03-23  Jim Meyering  <meyering@redhat.com>
48832
48833         pathmax: PATH_MAX: use pathconf only when available
48834         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
48835         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
48836         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
48837         This avoids a link failure in a PSP cross-compilation environment
48838         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
48839
48840         * lib/vasnprintf.c (divide): Fix typo in comment.
48841
48842 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48843
48844         * gnulib-tool (func_filter_filelist): Fix comment.
48845
48846 2009-03-20  Bruno Haible  <bruno@clisp.org>
48847
48848         Make sockets.h self-contained.
48849         * lib/sockets.c: Include sockets.h first.
48850         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
48851
48852 2009-03-19  Eric Blake  <ebb9@byu.net>
48853
48854         doc: mention more functions added in cygwin 1.7.0
48855         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
48856         addition.
48857         * doc/posix-functions/log2f.texi: Likewise.
48858
48859 2009-03-19  Jim Meyering  <meyering@redhat.com>
48860
48861         fsusage: avoid syntax error due to statement-before-declaration
48862         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
48863         after all declarations.  Reported by Matthew Woehlke in
48864         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
48865
48866 2009-03-18  Eric Blake  <ebb9@byu.net>
48867
48868         build-aux/compile: sync from automake
48869         * build-aux/compile: New file, from automake.
48870         * config/srclist.txt: Mention build-aux/compile.
48871
48872 2009-03-17  Bruno Haible  <bruno@clisp.org>
48873
48874         * lib/git-merge-changelog.c: Fix typo in comment.
48875         Reported by Reuben Thomas <rrt@sc3d.org>.
48876
48877 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
48878
48879         * m4/regex.m4: update and improve help for
48880         --without-included-regex.
48881
48882 2009-03-17  Simon Josefsson  <simon@josefsson.org>
48883
48884         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
48885         failure on missing include files.
48886
48887 2009-03-17  Eric Blake  <ebb9@byu.net>
48888
48889         doc: mention more functions added in cygwin 1.7.0
48890         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
48891         addition.
48892         * doc/posix-functions/fwscanf.texi: Likewise.
48893         * doc/posix-functions/swprintf.texi: Likewise.
48894         * doc/posix-functions/swscanf.texi: Likewise.
48895         * doc/posix-functions/vfwprintf.texi: Likewise.
48896         * doc/posix-functions/vfwscanf.texi: Likewise.
48897         * doc/posix-functions/vswprintf.texi: Likewise.
48898         * doc/posix-functions/vswscanf.texi: Likewise.
48899         * doc/posix-functions/vwprintf.texi: Likewise.
48900         * doc/posix-functions/vwscanf.texi: Likewise.
48901         * doc/posix-functions/wcscasecmp.texi: Likewise.
48902         * doc/posix-functions/wcsdup.texi: Likewise.
48903         * doc/posix-functions/wcsftime.texi: Likewise.
48904         * doc/posix-functions/wcsncasecmp.texi: Likewise.
48905         * doc/posix-functions/wprintf.texi: Likewise.
48906         * doc/posix-functions/wscanf.texi: Likewise.
48907         * doc/glibc-functions/gethostbyname2.texi: Likewise.
48908
48909 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48910
48911         maint.mk: really add $(AM_MAKEFLAGS)
48912         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
48913         was inadvertently omitted in the last commit.
48914         Spotted by Bruno Haible.
48915
48916         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
48917         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
48918         $(AM_MAKEFLAGS)' rather than plain `make'.
48919
48920         gnulib-tool: execute $MAKE not make
48921         * gnulib-tool: Default $MAKE to 'make'.
48922         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
48923         than make.  Initialize $MAKE in the do-autobuild script.
48924
48925         gnulib-tool: use $MAKE not make in generated files
48926         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
48927         make, in generated files.  Initialize $MAKE in the do-autobuild
48928         script.
48929
48930         * top/GNUmakefile (_have-git-version-gen): Fix typo.
48931
48932         GNUmakefile: disable parallelism only for multiple, recursive targets
48933         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
48934         additions in the Makefile.
48935         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
48936         by Automake.
48937         (.NOTPARALLEL): Only disable parallel builds if multiple targets
48938         are listed on the command line and at least one of them is
48939         listed in $(ALL_RECURSIVE_TARGETS).
48940
48941 2009-03-14  Bruno Haible  <bruno@clisp.org>
48942
48943         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
48944         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
48945         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
48946         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
48947         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
48948         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
48949         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
48950         unistr/u8-uctomb.
48951         * modules/unistr/u8-strchr (Depends-on): Likewise.
48952         * modules/unistr/u8-strrchr (Depends-on): Likewise.
48953         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
48954         unistr/u16-uctomb.
48955         * modules/unistr/u16-strchr (Depends-on): Likewise.
48956         * modules/unistr/u16-strrchr (Depends-on): Likewise.
48957
48958 2009-03-12  Bruno Haible  <bruno@clisp.org>
48959
48960         Work around select() bug on Interix 3.5.
48961         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
48962         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
48963         * m4/select.m4: New file.
48964         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
48965         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
48966         * modules/select (Files): Add m4/select.m4.
48967         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
48968         * modules/nanosleep (Depends-on): Add select.
48969         * modules/poll (Depends-on): Likewise.
48970         * doc/posix-functions/select.texi: Mention the Interix bug.
48971         Reported by Markus Duft <mduft@gentoo.org>.
48972
48973         * lib/select.c: Renamed from lib/winsock-select.c.
48974         * modules/select (Files): Add lib/select.c, remove
48975         lib/winsock-select.c.
48976         (configure.ac): Update.
48977
48978 2009-03-12  Jim Meyering  <meyering@redhat.com>
48979
48980         avoid gcc warnings about unused macro definitions
48981         * lib/readtokens.c (STREQ): Remove unused definition.
48982         * lib/xmalloc.c (SIZE_MAX): Likewise.
48983         * lib/openat-die.c (N_): Likewise.
48984         * lib/mountlist.c (SIZE_MAX): Remove definition.
48985         Instead, include <stdint.h>.
48986         * lib/readutmp.c: Likewise.
48987         * modules/readutmp (Depends-on): Add stdint.
48988         * modules/mountlist (Depends-on): Add stdint.
48989         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
48990
48991 2009-03-10  Bruno Haible  <bruno@clisp.org>
48992
48993         Tests for module 'mbmemcasecoll'.
48994         * modules/mbmemcasecoll-tests: New file.
48995         * tests/test-mbmemcasecoll1.sh: New file.
48996         * tests/test-mbmemcasecoll2.sh: New file.
48997         * tests/test-mbmemcasecoll3.sh: New file.
48998         * tests/test-mbmemcasecoll.c: New file.
48999
49000         New module 'mbmemcasecoll'.
49001         * lib/mbmemcasecoll.h: New file.
49002         * lib/mbmemcasecoll.c: New file.
49003         * modules/mbmemcasecoll: New file.
49004
49005         * tests/test-mbmemcasecmp.h: New file, extracted from
49006         tests/test-mbmemcasecmp.c.
49007         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
49008         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
49009         (main): Update.
49010         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
49011
49012 2009-03-09  Bruno Haible  <bruno@clisp.org>
49013
49014         Tests for module 'mbmemcasecmp'.
49015         * modules/mbmemcasecmp-tests: New file.
49016         * tests/test-mbmemcasecmp1.sh: New file.
49017         * tests/test-mbmemcasecmp2.sh: New file.
49018         * tests/test-mbmemcasecmp3.sh: New file.
49019         * tests/test-mbmemcasecmp.c: New file.
49020
49021         New module 'mbmemcasecmp'.
49022         * lib/mbmemcasecmp.h: New file.
49023         * lib/mbmemcasecmp.c: New file.
49024         * modules/mbmemcasecmp: New file.
49025
49026 2009-03-09  Bruno Haible  <bruno@clisp.org>
49027
49028         Tests for module 'unicase/ulc-casecoll'.
49029         * modules/unicase/ulc-casecoll-tests: New file.
49030         * tests/unicase/test-ulc-casecoll1.sh: New file.
49031         * tests/unicase/test-ulc-casecoll2.sh: New file.
49032         * tests/unicase/test-ulc-casecoll.c: New file.
49033
49034         New module 'unicase/ulc-casecoll'.
49035         * lib/unicase.h (ulc_casecoll): New declaration.
49036         * lib/unicase/ulc-casecoll.c: New file.
49037         * modules/unicase/ulc-casecoll: New file.
49038
49039         New module 'unicase/ulc-casexfrm'.
49040         * lib/unicase.h (ulc_casexfrm): New declaration.
49041         * lib/unicase/ulc-casexfrm.c: New file.
49042         * modules/unicase/ulc-casexfrm: New file.
49043
49044 2009-03-09  Bruno Haible  <bruno@clisp.org>
49045
49046         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
49047         invocations.
49048
49049         * m4/mbscasecmp.m4: Remove file.
49050         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
49051         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
49052
49053         * m4/mbscasestr.m4: Remove file.
49054         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
49055         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
49056
49057         * m4/mbschr.m4: Remove file.
49058         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
49059         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
49060
49061         * m4/mbscspn.m4: Remove file.
49062         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
49063         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
49064
49065         * m4/mbslen.m4: Remove file.
49066         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
49067         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
49068
49069         * m4/mbsncasecmp.m4: Remove file.
49070         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
49071         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
49072
49073         * m4/mbsnlen.m4: Remove file.
49074         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
49075         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
49076
49077         * m4/mbspbrk.m4: Remove file.
49078         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
49079         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
49080
49081         * m4/mbspcasecmp.m4: Remove file.
49082         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
49083         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
49084
49085         * m4/mbsrchr.m4: Remove file.
49086         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
49087         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
49088
49089         * m4/mbssep.m4: Remove file.
49090         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
49091         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
49092
49093         * m4/mbsspn.m4: Remove file.
49094         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
49095         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
49096
49097         * m4/mbsstr.m4: Remove file.
49098         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
49099         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
49100
49101         * m4/mbstok_r.m4: Remove file.
49102         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
49103         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
49104
49105         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
49106
49107         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
49108         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
49109
49110         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
49111
49112 2009-03-08  Bruno Haible  <bruno@clisp.org>
49113
49114         Tests for module 'unicase/ulc-casecmp'.
49115         * modules/unicase/ulc-casecmp-tests: New file.
49116         * tests/unicase/test-ulc-casecmp1.sh: New file.
49117         * tests/unicase/test-ulc-casecmp2.sh: New file.
49118         * tests/unicase/test-ulc-casecmp.c: New file.
49119
49120         New module 'unicase/ulc-casecmp'.
49121         * lib/unicase.h (ulc_casecmp): New declaration.
49122         * lib/unicase/ulc-casecmp.c: New file.
49123         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
49124         'const SRC_UNIT *'.
49125         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
49126         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
49127         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
49128         * modules/unicase/ulc-casecmp: New file.
49129
49130         Tests for module 'unicase/u32-is-cased'.
49131         * modules/unicase/u32-is-cased-tests: New file.
49132         * tests/unicase/test-u32-is-cased.c: New file.
49133
49134         Tests for module 'unicase/u16-is-cased'.
49135         * modules/unicase/u16-is-cased-tests: New file.
49136         * tests/unicase/test-u16-is-cased.c: New file.
49137
49138         Tests for module 'unicase/u8-is-cased'.
49139         * modules/unicase/u8-is-cased-tests: New file.
49140         * tests/unicase/test-u8-is-cased.c: New file.
49141         * tests/unicase/test-is-cased.h: New file.
49142
49143         New module 'unicase/u32-is-cased'.
49144         * lib/unicase/u32-is-cased.c: New file.
49145         * modules/unicase/u32-is-cased: New file.
49146
49147         New module 'unicase/u16-is-cased'.
49148         * lib/unicase/u16-is-cased.c: New file.
49149         * modules/unicase/u16-is-cased: New file.
49150
49151         New module 'unicase/u8-is-cased'.
49152         * lib/unicase/u8-is-cased.c: New file.
49153         * lib/unicase/u-is-cased.h: New file.
49154         * modules/unicase/u8-is-cased: New file.
49155
49156         Tests for module 'unicase/u32-is-casefolded'.
49157         * modules/unicase/u32-is-casefolded-tests: New file.
49158         * tests/unicase/test-u32-is-casefolded.c: New file.
49159
49160         Tests for module 'unicase/u16-is-casefolded'.
49161         * modules/unicase/u16-is-casefolded-tests: New file.
49162         * tests/unicase/test-u16-is-casefolded.c: New file.
49163
49164         Tests for module 'unicase/u8-is-casefolded'.
49165         * modules/unicase/u8-is-casefolded-tests: New file.
49166         * tests/unicase/test-u8-is-casefolded.c: New file.
49167         * tests/unicase/test-is-casefolded.h: New file.
49168
49169         New module 'unicase/u32-is-casefolded'.
49170         * lib/unicase/u32-is-casefolded.c: New file.
49171         * modules/unicase/u32-is-casefolded: New file.
49172
49173         New module 'unicase/u16-is-casefolded'.
49174         * lib/unicase/u16-is-casefolded.c: New file.
49175         * modules/unicase/u16-is-casefolded: New file.
49176
49177         New module 'unicase/u8-is-casefolded'.
49178         * lib/unicase/u8-is-casefolded.c: New file.
49179         * modules/unicase/u8-is-casefolded: New file.
49180
49181         Tests for module 'unicase/u32-is-titlecase'.
49182         * modules/unicase/u32-is-titlecase-tests: New file.
49183         * tests/unicase/test-u32-is-titlecase.c: New file.
49184
49185         Tests for module 'unicase/u16-is-titlecase'.
49186         * modules/unicase/u16-is-titlecase-tests: New file.
49187         * tests/unicase/test-u16-is-titlecase.c: New file.
49188
49189         Tests for module 'unicase/u8-is-titlecase'.
49190         * modules/unicase/u8-is-titlecase-tests: New file.
49191         * tests/unicase/test-u8-is-titlecase.c: New file.
49192         * tests/unicase/test-is-titlecase.h: New file.
49193
49194         New module 'unicase/u32-is-titlecase'.
49195         * lib/unicase/u32-is-titlecase.c: New file.
49196         * modules/unicase/u32-is-titlecase: New file.
49197
49198         New module 'unicase/u16-is-titlecase'.
49199         * lib/unicase/u16-is-titlecase.c: New file.
49200         * modules/unicase/u16-is-titlecase: New file.
49201
49202         New module 'unicase/u8-is-titlecase'.
49203         * lib/unicase/u8-is-titlecase.c: New file.
49204         * modules/unicase/u8-is-titlecase: New file.
49205
49206         Tests for module 'unicase/u32-is-lowercase'.
49207         * modules/unicase/u32-is-lowercase-tests: New file.
49208         * tests/unicase/test-u32-is-lowercase.c: New file.
49209
49210         Tests for module 'unicase/u16-is-lowercase'.
49211         * modules/unicase/u16-is-lowercase-tests: New file.
49212         * tests/unicase/test-u16-is-lowercase.c: New file.
49213
49214         Tests for module 'unicase/u8-is-lowercase'.
49215         * modules/unicase/u8-is-lowercase-tests: New file.
49216         * tests/unicase/test-u8-is-lowercase.c: New file.
49217         * tests/unicase/test-is-lowercase.h: New file.
49218
49219         New module 'unicase/u32-is-lowercase'.
49220         * lib/unicase/u32-is-lowercase.c: New file.
49221         * modules/unicase/u32-is-lowercase: New file.
49222
49223         New module 'unicase/u16-is-lowercase'.
49224         * lib/unicase/u16-is-lowercase.c: New file.
49225         * modules/unicase/u16-is-lowercase: New file.
49226
49227         New module 'unicase/u8-is-lowercase'.
49228         * lib/unicase/u8-is-lowercase.c: New file.
49229         * modules/unicase/u8-is-lowercase: New file.
49230
49231         Tests for module 'unicase/u32-is-uppercase'.
49232         * modules/unicase/u32-is-uppercase-tests: New file.
49233         * tests/unicase/test-u32-is-uppercase.c: New file.
49234
49235         Tests for module 'unicase/u16-is-uppercase'.
49236         * modules/unicase/u16-is-uppercase-tests: New file.
49237         * tests/unicase/test-u16-is-uppercase.c: New file.
49238
49239         Tests for module 'unicase/u8-is-uppercase'.
49240         * modules/unicase/u8-is-uppercase-tests: New file.
49241         * tests/unicase/test-u8-is-uppercase.c: New file.
49242         * tests/unicase/test-is-uppercase.h: New file.
49243
49244         New module 'unicase/u32-is-uppercase'.
49245         * lib/unicase/u32-is-uppercase.c: New file.
49246         * modules/unicase/u32-is-uppercase: New file.
49247
49248         New module 'unicase/u16-is-uppercase'.
49249         * lib/unicase/u16-is-uppercase.c: New file.
49250         * modules/unicase/u16-is-uppercase: New file.
49251
49252         New module 'unicase/u8-is-uppercase'.
49253         * lib/unicase/u8-is-uppercase.c: New file.
49254         * modules/unicase/u8-is-uppercase: New file.
49255
49256         New module 'unicase/u32-is-invariant'.
49257         * lib/unicase/u32-is-invariant.c: New file.
49258         * modules/unicase/u32-is-invariant: New file.
49259
49260         New module 'unicase/u16-is-invariant'.
49261         * lib/unicase/u16-is-invariant.c: New file.
49262         * modules/unicase/u16-is-invariant: New file.
49263
49264         New module 'unicase/u8-is-invariant'.
49265         * lib/unicase/u8-is-invariant.c: New file.
49266         * lib/unicase/invariant.h: New file.
49267         * lib/unicase/u-is-invariant.h: New file.
49268         * modules/unicase/u8-is-invariant: New file.
49269
49270         Tests for module 'unicase/u32-casecoll'.
49271         * modules/unicase/u32-casecoll-tests: New file.
49272         * tests/unicase/test-u32-casecoll.c: New file.
49273
49274         Tests for module 'unicase/u16-casecoll'.
49275         * modules/unicase/u16-casecoll-tests: New file.
49276         * tests/unicase/test-u16-casecoll.c: New file.
49277
49278         Tests for module 'unicase/u8-casecoll'.
49279         * modules/unicase/u8-casecoll-tests: New file.
49280         * tests/unicase/test-u8-casecoll.c: New file.
49281
49282         New module 'unicase/u32-casecoll'.
49283         * lib/unicase/u32-casecoll.c: New file.
49284         * modules/unicase/u32-casecoll: New file.
49285
49286         New module 'unicase/u16-casecoll'.
49287         * lib/unicase/u16-casecoll.c: New file.
49288         * modules/unicase/u16-casecoll: New file.
49289
49290         New module 'unicase/u8-casecoll'.
49291         * lib/unicase/u8-casecoll.c: New file.
49292         * lib/unicase/u-casecoll.h: New file.
49293         * modules/unicase/u8-casecoll: New file.
49294
49295         New module 'unicase/u32-casexfrm'.
49296         * lib/unicase/u32-casexfrm.c: New file.
49297         * modules/unicase/u32-casexfrm: New file.
49298
49299         New module 'unicase/u16-casexfrm'.
49300         * lib/unicase/u16-casexfrm.c: New file.
49301         * modules/unicase/u16-casexfrm: New file.
49302
49303         New module 'unicase/u8-casexfrm'.
49304         * lib/unicase/u8-casexfrm.c: New file.
49305         * lib/unicase/u-casexfrm.h: New file.
49306         * modules/unicase/u8-casexfrm: New file.
49307
49308         Tests for module 'unicase/u32-casecmp'.
49309         * modules/unicase/u32-casecmp-tests: New file.
49310         * tests/unicase/test-u32-casecmp.c: New file.
49311
49312         Tests for module 'unicase/u16-casecmp'.
49313         * modules/unicase/u16-casecmp-tests: New file.
49314         * tests/unicase/test-u16-casecmp.c: New file.
49315
49316         Tests for module 'unicase/u8-casecmp'.
49317         * modules/unicase/u8-casecmp-tests: New file.
49318         * tests/unicase/test-u8-casecmp.c: New file.
49319         * tests/unicase/test-casecmp.h: New file.
49320
49321         New module 'unicase/u32-casecmp'.
49322         * lib/unicase/u32-casecmp.c: New file.
49323         * modules/unicase/u32-casecmp: New file.
49324
49325         New module 'unicase/u16-casecmp'.
49326         * lib/unicase/u16-casecmp.c: New file.
49327         * modules/unicase/u16-casecmp: New file.
49328
49329         New module 'unicase/u8-casecmp'.
49330         * lib/unicase/u8-casecmp.c: New file.
49331         * lib/unicase/u-casecmp.h: New file.
49332         * modules/unicase/u8-casecmp: New file.
49333
49334         Tests for module 'unicase/u32-casefold'.
49335         * modules/unicase/u32-casefold-tests: New file.
49336         * tests/unicase/test-u32-casefold.c: New file.
49337
49338         Tests for module 'unicase/u16-casefold'.
49339         * modules/unicase/u16-casefold-tests: New file.
49340         * tests/unicase/test-u16-casefold.c: New file.
49341
49342         Tests for module 'unicase/u8-casefold'.
49343         * modules/unicase/u8-casefold-tests: New file.
49344         * tests/unicase/test-u8-casefold.c: New file.
49345
49346         New module 'unicase/u32-casefold'.
49347         * lib/unicase/u32-casefold.c: New file.
49348         * modules/unicase/u32-casefold: New file.
49349
49350         New module 'unicase/u16-casefold'.
49351         * lib/unicase/u16-casefold.c: New file.
49352         * modules/unicase/u16-casefold: New file.
49353
49354         New module 'unicase/u8-casefold'.
49355         * lib/unicase/u8-casefold.c: New file.
49356         * lib/unicase/u-casefold.h: New file.
49357         * modules/unicase/u8-casefold: New file.
49358
49359         New module 'unicase/tocasefold'.
49360         * lib/unicase/casefold.h: New file.
49361         * lib/unicase/tocasefold.c: New file.
49362         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
49363         * modules/unicase/tocasefold: New file.
49364
49365         Tests for module 'unicase/u32-totitle'.
49366         * modules/unicase/u32-totitle-tests: New file.
49367         * tests/unicase/test-u32-totitle.c: New file.
49368
49369         Tests for module 'unicase/u16-totitle'.
49370         * modules/unicase/u16-totitle-tests: New file.
49371         * tests/unicase/test-u16-totitle.c: New file.
49372
49373         Tests for module 'unicase/u8-totitle'.
49374         * modules/unicase/u8-totitle-tests: New file.
49375         * tests/unicase/test-u8-totitle.c: New file.
49376
49377         New module 'unicase/u32-totitle'.
49378         * lib/unicase/u32-totitle.c: New file.
49379         * modules/unicase/u32-totitle: New file.
49380
49381         New module 'unicase/u16-totitle'.
49382         * lib/unicase/u16-totitle.c: New file.
49383         * modules/unicase/u16-totitle: New file.
49384
49385         New module 'unicase/u8-totitle'.
49386         * lib/unicase/u8-totitle.c: New file.
49387         * lib/unicase/u-totitle.h: New file.
49388         * modules/unicase/u8-totitle: New file.
49389
49390         Tests for module 'unicase/u32-tolower'.
49391         * modules/unicase/u32-tolower-tests: New file.
49392         * tests/unicase/test-u32-tolower.c: New file.
49393
49394         Tests for module 'unicase/u16-tolower'.
49395         * modules/unicase/u16-tolower-tests: New file.
49396         * tests/unicase/test-u16-tolower.c: New file.
49397
49398         Tests for module 'unicase/u8-tolower'.
49399         * modules/unicase/u8-tolower-tests: New file.
49400         * tests/unicase/test-u8-tolower.c: New file.
49401
49402         New module 'unicase/u32-tolower'.
49403         * lib/unicase/u32-tolower.c: New file.
49404         * modules/unicase/u32-tolower: New file.
49405
49406         New module 'unicase/u16-tolower'.
49407         * lib/unicase/u16-tolower.c: New file.
49408         * modules/unicase/u16-tolower: New file.
49409
49410         New module 'unicase/u8-tolower'.
49411         * lib/unicase/u8-tolower.c: New file.
49412         * modules/unicase/u8-tolower: New file.
49413
49414         Tests for module 'unicase/u32-toupper'.
49415         * modules/unicase/u32-toupper-tests: New file.
49416         * tests/unicase/test-u32-toupper.c: New file.
49417
49418         Tests for module 'unicase/u16-toupper'.
49419         * modules/unicase/u16-toupper-tests: New file.
49420         * tests/unicase/test-u16-toupper.c: New file.
49421
49422         Tests for module 'unicase/u8-toupper'.
49423         * modules/unicase/u8-toupper-tests: New file.
49424         * tests/unicase/test-u8-toupper.c: New file.
49425
49426         New module 'unicase/u32-toupper'.
49427         * lib/unicase/u32-toupper.c: New file.
49428         * modules/unicase/u32-toupper: New file.
49429
49430         New module 'unicase/u16-toupper'.
49431         * lib/unicase/u16-toupper.c: New file.
49432         * modules/unicase/u16-toupper: New file.
49433
49434         New module 'unicase/u8-toupper'.
49435         * lib/unicase/u8-toupper.c: New file.
49436         * modules/unicase/u8-toupper: New file.
49437
49438         New module 'unicase/u32-casemap'.
49439         * lib/unicase/u32-casemap.c: New file.
49440         * modules/unicase/u32-casemap: New file.
49441
49442         New module 'unicase/u16-casemap'.
49443         * lib/unicase/u16-casemap.c: New file.
49444         * modules/unicase/u16-casemap: New file.
49445
49446         New module 'unicase/u8-casemap'.
49447         * lib/unicase/unicasemap.h: New file.
49448         * lib/unicase/u8-casemap.c: New file.
49449         * lib/unicase/u-casemap.h: New file.
49450         * modules/unicase/u8-casemap: New file.
49451
49452         New module 'unicase/special-casing'.
49453         * lib/unicase/special-casing.h: New file.
49454         * lib/unicase/special-casing.c: New file.
49455         * lib/unicase/special-casing-table.gperf: New file, generated by
49456         gen-uni-tables.c.
49457         * modules/unicase/special-casing: New file.
49458
49459         Tests for module 'unicase/locale-language'.
49460         * modules/unicase/locale-language-tests: New file.
49461         * tests/unicase/test-locale-language.sh: New file.
49462         * tests/unicase/test-locale-language.c: New file.
49463
49464         New module 'unicase/locale-language'.
49465         * lib/unicase/locale-language.c: New file.
49466         * lib/unicase/locale-languages.gperf: New file.
49467         * modules/unicase/locale-language: New file.
49468
49469         Generate more tables for case conversion and case folding.
49470         * lib/gen-uni-tables.c (SCC_*): New enum items.
49471         (struct special_casing_rule): New type.
49472         (casing_rules, num_casing_rules, allocated_casing_rules): New
49473         variables.
49474         (add_casing_rule, fill_casing_rules): New functions.
49475         (struct casefold_rule): New type.
49476         (casefolding_rules, num_casefolding_rules,
49477         allocated_casefolding_rules): New variables.
49478         (fill_casefolding_rules): New function.
49479         (unicode_casefold): New variable.
49480         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
49481         sort_casing_rules, output_casing_rules): New functions.
49482         (main): Accept to more arguments: SpecialCasing.txt and
49483         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
49484         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
49485         Output mapping for casefolding.
49486
49487         * lib/unicase.h: Include stdbool.h, uninorm.h.
49488         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
49489         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
49490         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
49491         arguments.
49492         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
49493         resultp arguments.
49494         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
49495         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
49496         resultp arguments.
49497         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
49498         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
49499         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
49500         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
49501         declarations.
49502         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
49503
49504 2009-03-08  Bruno Haible  <bruno@clisp.org>
49505
49506         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
49507         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
49508         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
49509         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
49510
49511 2009-03-07  Bruno Haible  <bruno@clisp.org>
49512
49513         Adjust u*_normcmp, u*_normcoll API.
49514         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
49515         u16_normcoll, u32_normcoll): Change failure conventions.
49516         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
49517         errno and return -1.
49518         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
49519
49520 2009-03-07  Bruno Haible  <bruno@clisp.org>
49521
49522         Tests for module 'uninorm/u32-normcoll'.
49523         * modules/uninorm/u32-normcoll-tests: New file.
49524         * tests/uninorm/test-u32-normcoll.c: New file.
49525
49526         Tests for module 'uninorm/u16-normcoll'.
49527         * modules/uninorm/u16-normcoll-tests: New file.
49528         * tests/uninorm/test-u16-normcoll.c: New file.
49529
49530         Tests for module 'uninorm/u8-normcoll'.
49531         * modules/uninorm/u8-normcoll-tests: New file.
49532         * tests/uninorm/test-u8-normcoll.c: New file.
49533
49534 2009-03-07  Bruno Haible  <bruno@clisp.org>
49535
49536         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
49537         tests/uninorm/test-u32-normcmp.c.
49538         * tests/uninorm/test-u32-normcmp.c: Include it.
49539         (test_nonascii): New function, extracted from main. Add some more
49540         tests.
49541         (main): Invoke test_ascii and test_nonascii.
49542         * modules/uninorm/u32-normcmp-tests (Files): Add
49543         tests/uninorm/test-u32-normcmp.h.
49544         (Depends-on): Remove uninorm/u32-normcmp.
49545
49546         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
49547         tests/uninorm/test-u16-normcmp.c.
49548         * tests/uninorm/test-u16-normcmp.c: Include it.
49549         (test_nonascii): New function, extracted from main. Add some more
49550         tests.
49551         (main): Invoke test_ascii and test_nonascii.
49552         * modules/uninorm/u16-normcmp-tests (Files): Add
49553         tests/uninorm/test-u16-normcmp.h.
49554         (Depends-on): Remove uninorm/u16-normcmp.
49555
49556         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
49557         tests/uninorm/test-u8-normcmp.c.
49558         * tests/uninorm/test-u8-normcmp.c: Include it.
49559         (test_nonascii): New function, extracted from main. Add some more
49560         tests.
49561         (main): Invoke test_ascii and test_nonascii.
49562         * modules/uninorm/u8-normcmp-tests (Files): Add
49563         tests/uninorm/test-u8-normcmp.h.
49564         (Depends-on): Remove uninorm/u8-normcmp.
49565
49566 2009-03-07  Bruno Haible  <bruno@clisp.org>
49567
49568         New module 'uninorm/u32-normcoll'.
49569         * lib/uninorm/u32-normcoll.c: New file.
49570         * modules/uninorm/u32-normcoll: New file.
49571
49572         New module 'uninorm/u16-normcoll'.
49573         * lib/uninorm/u16-normcoll.c: New file.
49574         * modules/uninorm/u16-normcoll: New file.
49575
49576         New module 'uninorm/u8-normcoll'.
49577         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
49578         declarations.
49579         * lib/uninorm/u8-normcoll.c: New file.
49580         * lib/uninorm/u-normcoll.h: New file.
49581         * modules/uninorm/u8-normcoll: New file.
49582
49583         New module 'uninorm/u32-normxfrm'.
49584         * lib/uninorm/u32-normxfrm.c: New file.
49585         * modules/uninorm/u32-normxfrm: New file.
49586
49587         New module 'uninorm/u16-normxfrm'.
49588         * lib/uninorm/u16-normxfrm.c: New file.
49589         * modules/uninorm/u16-normxfrm: New file.
49590
49591         New module 'uninorm/u8-normxfrm'.
49592         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
49593         declarations.
49594         * lib/uninorm/u8-normxfrm.c: New file.
49595         * lib/uninorm/u-normxfrm.h: New file.
49596         * modules/uninorm/u8-normxfrm: New file.
49597
49598 2009-03-07  Bruno Haible  <bruno@clisp.org>
49599
49600         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
49601         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
49602         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
49603
49604 2009-03-07  Bruno Haible  <bruno@clisp.org>
49605
49606         New module 'memxfrm'.
49607         * lib/memxfrm.h: New file.
49608         * lib/memxfrm.c: New file.
49609         * modules/memxfrm: New file.
49610
49611 2009-03-07  Bruno Haible  <bruno@clisp.org>
49612
49613         New module 'memcmp2'.
49614         * lib/memcmp2.h: New file.
49615         * lib/memcmp2.c: New file.
49616         * modules/memcmp2: New file.
49617
49618 2009-03-07  Bruno Haible  <bruno@clisp.org>
49619
49620         Tests for module 'uninorm/decomposing-form'.
49621         * modules/uninorm/decomposing-form-tests: New file.
49622         * tests/uninorm/test-decomposing-form.c: New file.
49623
49624         New module 'uninorm/decomposing-form'.
49625         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
49626         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
49627         Add 'decomposing_variant' field.
49628         * lib/uninorm/decomposing-form.c: New file.
49629         * lib/uninorm/nfc.c (uninorm_nfc): Update.
49630         * lib/uninorm/nfd.c (uninorm_nfd): Update.
49631         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
49632         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
49633         * modules/uninorm/decomposing-form: New file.
49634         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
49635         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
49636
49637 2009-03-07  Bruno Haible  <bruno@clisp.org>
49638
49639         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
49640         strings.
49641
49642 2009-03-06  Bruno Haible  <bruno@clisp.org>
49643
49644         Tests for module 'uninorm/u32-normcmp'.
49645         * tests/uninorm/test-u32-normcmp.c: New file.
49646         * modules/uninorm/u32-normcmp-tests: New file.
49647
49648         Tests for module 'uninorm/u16-normcmp'.
49649         * tests/uninorm/test-u16-normcmp.c: New file.
49650         * modules/uninorm/u16-normcmp-tests: New file.
49651
49652         Tests for module 'uninorm/u8-normcmp'.
49653         * tests/uninorm/test-u8-normcmp.c: New file.
49654         * modules/uninorm/u8-normcmp-tests: New file.
49655
49656         New module 'uninorm/u32-normcmp'.
49657         * lib/uninorm/u32-normcmp.c: New file.
49658         * modules/uninorm/u32-normcmp: New file.
49659
49660         New module 'uninorm/u16-normcmp'.
49661         * lib/uninorm/u16-normcmp.c: New file.
49662         * modules/uninorm/u16-normcmp: New file.
49663
49664         New module 'uninorm/u8-normcmp'.
49665         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
49666         declarations.
49667         * lib/uninorm/u8-normcmp.c: New file.
49668         * lib/uninorm/u-normcmp.h: New file.
49669         * modules/uninorm/u8-normcmp: New file.
49670
49671 2009-03-06  Bruno Haible  <bruno@clisp.org>
49672
49673         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
49674         Reported by Eric Blake.
49675
49676 2009-03-06  Eric Blake  <ebb9@byu.net>
49677             Bruno Haible  <bruno@clisp.org>
49678
49679         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
49680         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
49681         condition.
49682         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
49683         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
49684         condition.
49685         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
49686
49687 2009-03-06  Eric Blake  <ebb9@byu.net>
49688
49689         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
49690         to avoid compiler warnings.
49691         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
49692
49693 2009-03-05  Bruno Haible  <bruno@clisp.org>
49694
49695         * tests/test-ftell.c (main): Disable test beyond end of file on
49696         FreeMiNT.
49697         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
49698
49699 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
49700
49701         * lib/filevercmp.c: Move hidden files up in ordering.
49702         * tests/test-filevercmp.c: Add tests for hidden files.
49703
49704 2009-03-04  Bruno Haible  <bruno@clisp.org>
49705
49706         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
49707         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
49708         AM_CFLAGS.
49709         Reported by Simon Josefsson.
49710
49711 2009-03-03  Bruno Haible  <bruno@clisp.org>
49712
49713         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
49714         Reported by Simon Josefsson.
49715
49716         * doc/ld-version-script.texi: Update node reference.
49717
49718 2009-03-03  Bruno Haible  <bruno@clisp.org>
49719
49720         * modules/visibility (License): Change to 'unlimited'.
49721         Suggested by Simon Josefsson.
49722
49723 2009-03-03  Jim Meyering  <meyering@redhat.com>
49724
49725         unlinkdir: cannot_unlink_dir may modify process state
49726         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
49727         it's neither thread-safe nor appropriate for use in a library.
49728
49729 2009-03-03  Eric Blake  <ebb9@byu.net>
49730
49731         test-closein: silence test under Darwin
49732         * tests/test-closein.sh: Ignore stderr from cat, since we don't
49733         care if it dies from EPIPE or EBADF.
49734
49735 2009-03-03  Bruno Haible  <bruno@clisp.org>
49736
49737         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
49738         earlier.
49739         * doc/visibility.texi: Fix @node and @section.
49740
49741 2009-03-03  Simon Josefsson  <simon@josefsson.org>
49742
49743         * doc/gnulib.texi: Link to sections for ld version script and
49744         visibility.
49745         * doc/visibility.texi: Add @node and @section.
49746         * modules/ld-version-script: New module.
49747         * m4/ld-version-script.m4: New file.
49748         * doc/ld-version-script.texi: New file.
49749
49750 2009-03-02  David Lutterkort  <lutter@redhat.com>
49751
49752         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
49753         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49754
49755 2009-03-02  Bruno Haible  <bruno@clisp.org>
49756
49757         * doc/visibility.texi: Mention libtool's -export-symbols option.
49758
49759 2009-03-02  Jim Meyering  <meyering@redhat.com>
49760
49761         announce-gen: new option: --no-print-checksums
49762         * build-aux/announce-gen (usage): Describe it.
49763         (print_checksums): Print a newline here, not in the [*] footnote.
49764         (main): Honor it.
49765
49766 2009-03-01  Bruno Haible  <bruno@clisp.org>
49767
49768         Use socklen_t in the native Windows replacements prototypes.
49769         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
49770         instead of 'int'.
49771         * lib/getsockopt.c (rpl_getsockopt): Likewise.
49772         * lib/setsockopt.c (rpl_setsockopt): Likewise.
49773         * modules/getsockopt (Depends-on): Add socklen.
49774         * modules/setsockopt (Depends-on): Add socklen.
49775
49776 2009-03-01  Bruno Haible  <bruno@clisp.org>
49777
49778         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
49779         least 4.2.
49780
49781 2009-03-01  Eric Blake  <ebb9@byu.net>
49782             Bruno Haible  <bruno@clisp.org>
49783
49784         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
49785         error messages.
49786         * lib/wait-process.c (wait_subprocess): Omit error message about
49787         deadly signal sent to the child of termsigp != NULL.
49788
49789 2009-03-01  Eric Blake  <ebb9@byu.net>
49790
49791         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
49792
49793 2009-03-01  Bruno Haible  <bruno@clisp.org>
49794
49795         Avoid a gcc warning.
49796         * tests/test-sched.c (b): Make global.
49797         Reported by Eric Blake.
49798
49799 2009-01-19  Martin Lambers  <marlam@marlam.de>
49800
49801         Provide POSIX semantics for socket timeout options on W32.
49802         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
49803         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
49804         * modules/setsockopt: Depend on sys_time module for struct timeval.
49805         * modules/getsockopt: Depend on sys_time module for struct timeval.
49806
49807 2009-03-01  Simon Josefsson  <simon@josefsson.org>
49808
49809         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
49810         __USE_GNU, for consistency with netdb.in.h.
49811         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
49812
49813 2009-03-01  Bruno Haible  <bruno@clisp.org>
49814
49815         More support for FreeMiNT.
49816         * lib/fseeko.c (rpl_fseeko): Complete last commit.
49817         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
49818
49819 2009-03-01  Bruno Haible  <bruno@clisp.org>
49820
49821         More support for FreeMiNT.
49822         * lib/fpurge.c (fpurge): Correct last commit.
49823         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
49824
49825 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49826
49827         Fix unportable awk script in vc-list-files.
49828         * build-aux/vc-list-files: In the replacement awk script, use
49829         substr with a second argument of 1, not zero.
49830         Report by Simon Josefsson.
49831
49832 2009-02-28  Bruno Haible  <bruno@clisp.org>
49833
49834         More support for FreeMiNT.
49835         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
49836         to FreeMiNT today.
49837         * lib/fwriting.c (fwriting): Likewise.
49838         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
49839
49840 2009-02-28  Bruno Haible  <bruno@clisp.org>
49841
49842         * tests/test-freadseek.c (main): Disable test beyond end of file on
49843         FreeMiNT.
49844         * tests/test-ftello.c (main): Likewise.
49845         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
49846
49847 2009-02-28  Bruno Haible  <bruno@clisp.org>
49848
49849         Add tentative support for FreeMiNT.
49850         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
49851         * lib/fpurge.c (fpurge): Likewise.
49852         * lib/freadable.c (freadable): Likewise.
49853         * lib/freading.c (freading): Likewise.
49854         * lib/freadptr.c (freadptr): Likewise.
49855         * lib/freadseek.c (freadptrinc): Likewise.
49856         * lib/fseeko.c (rpl_fseeko): Likewise.
49857         * lib/fseterr.c (fseterr): Likewise.
49858         * lib/fwritable.c (fwritable): Likewise.
49859         * lib/fwriting.c (fwriting): Likewise.
49860         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
49861         Hourihane.
49862         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
49863
49864 2009-02-28  Bruno Haible  <bruno@clisp.org>
49865
49866         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
49867         SIGCHLD.
49868         Reported by Jim Meyering.
49869
49870 2009-02-28  Bruno Haible  <bruno@clisp.org>
49871
49872         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
49873         Mention the results of these tests on various platforms.
49874         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
49875         order.
49876         * doc/posix-functions/printf.texi: Likewise.
49877         * doc/posix-functions/snprintf.texi: Likewise.
49878         * doc/posix-functions/sprintf.texi: Likewise.
49879         * doc/posix-functions/vfprintf.texi: Likewise.
49880         * doc/posix-functions/vprintf.texi: Likewise.
49881         * doc/posix-functions/vsnprintf.texi: Likewise.
49882         * doc/posix-functions/vsprintf.texi: Likewise.
49883         * doc/glibc-functions/obstack_printf.texi: Likewise.
49884         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
49885
49886 2009-02-28  Bruno Haible  <bruno@clisp.org>
49887
49888         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
49889         Reported by Loïc Minier <lool@dooz.org>.
49890
49891 2009-02-27  Bruno Haible  <bruno@clisp.org>
49892
49893         * gnulib-tool (func_import): Make the sed expression used to create the
49894         sed script for updating the .gitignore file POSIX compliant.
49895         Reported by Eric Blake.
49896
49897 2009-02-27  Bruno Haible  <bruno@clisp.org>
49898
49899         * gnulib-tool (sed): Don't alias as "sed --posix".
49900         Reported by Eric Blake.
49901
49902 2009-02-27  Bruno Haible  <bruno@clisp.org>
49903
49904         Avoid test link errors.
49905         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
49906         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
49907         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
49908         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
49909         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49910
49911 2009-02-27  Bruno Haible  <bruno@clisp.org>
49912
49913         Avoid spurious "(cached)" in configure output.
49914         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
49915         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
49916         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
49917         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
49918         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
49919         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
49920         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
49921         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
49922         Reported by Eric Blake.
49923
49924 2009-02-27  Eric Blake  <ebb9@byu.net>
49925
49926         printf: fix regression in previous patch
49927         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
49928
49929 2009-02-27  Bruno Haible  <bruno@clisp.org>
49930
49931         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
49932         value.
49933         * lib/stdint.in.h: Likewise.
49934         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
49935
49936 2009-02-27  Eric Blake  <ebb9@byu.net>
49937
49938         doc: mention more functions added in cygwin 1.7.0
49939         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
49940         addition.
49941         * doc/posix-functions/open_wmemstream.texi: Likewise.
49942         * doc/posix-functions/wcsnlen.texi: Likewise.
49943         * doc/posix-functions/wcsnrtombs.texi: Likewise.
49944         * doc/posix-functions/wcstod.texi: Likewise.
49945         * doc/posix-functions/wcstof.texi: Likewise.
49946         * doc/posix-functions/wcstoimax.texi: Likewise.
49947         * doc/posix-functions/wcstok.texi: Likewise.
49948         * doc/posix-functions/wcstoumax.texi: Likewise.
49949
49950         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
49951         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
49952         * doc/posix-functions/fprintf.texi: Update.
49953         * doc/posix-functions/printf.texi: Update.
49954         * doc/posix-functions/snprintf.texi: Update.
49955         * doc/posix-functions/sprintf.texi: Update.
49956         * doc/posix-functions/vfprintf.texi: Update.
49957         * doc/posix-functions/vprintf.texi: Update.
49958         * doc/posix-functions/vsnprintf.texi: Update.
49959         * doc/posix-functions/vsprintf.texi: Update.
49960         * doc/glibc-functions/obstack_printf.texi: Update.
49961         * doc/glibc-functions/obstack_vprintf.texi: Update.
49962
49963 2009-02-26  Eric Blake  <ebb9@byu.net>
49964
49965         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
49966         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
49967         compilation bug by using runtime conversion.
49968         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
49969         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
49970         * modules/ceill-tests (Files): Use nan.h.
49971         * modules/floorl-tests (Files): Likewise.
49972         * modules/frexpl-tests (Files): Likewise.
49973         * modules/isnanl-tests (Files): Likewise.
49974         * modules/ldexpl-tests (Files): Likewise.
49975         * modules/roundl-tests (Files): Likewise.
49976         * modules/truncl-tests (Files): Likewise.
49977         * tests/test-ceill.c (main): Use a working NaN.
49978         * tests/test-floorl.c (main): Likewise.
49979         * tests/test-frexpl.c (main): Likewise.
49980         * tests/test-isnan.c (test_long_double): Likewise.
49981         * tests/test-isnanl.h (main): Likewise.
49982         * tests/test-ldexpl.h (main): Likewise.
49983         * tests/test-roundl.h (main): Likewise.
49984         * tests/test-truncl.h (main): Likewise.
49985         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
49986
49987 2009-02-26  Eric Blake  <ebb9@byu.net>
49988             Bruno Haible  <bruno@clisp.org>
49989
49990         Work around a *printf bug with %ls on Solaris.
49991         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
49992         precision is specified, sprintf stops converting the wide string
49993         argument when the number of bytes that have been produced by this
49994         conversion equals or exceeds the precision.
49995         * doc/posix-functions/fprintf.texi: Update.
49996         * doc/posix-functions/printf.texi: Update.
49997         * doc/posix-functions/snprintf.texi: Update.
49998         * doc/posix-functions/sprintf.texi: Update.
49999         * doc/posix-functions/vfprintf.texi: Update.
50000         * doc/posix-functions/vprintf.texi: Update.
50001         * doc/posix-functions/vsnprintf.texi: Update.
50002         * doc/posix-functions/vsprintf.texi: Update.
50003         * doc/glibc-functions/obstack_printf.texi: Update.
50004         * doc/glibc-functions/obstack_vprintf.texi: Update.
50005
50006 2009-02-26  Eric Blake  <ebb9@byu.net>
50007
50008         stdlib: favor compiler check of random.h
50009         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
50010         to avoid an ObjC random.h installed by Swarm.
50011
50012 2009-02-26  Bruno Haible  <bruno@clisp.org>
50013
50014         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
50015         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
50016         Reported by Gary V. Vaughan <gary@gnu.org>.
50017
50018 2009-02-26  Bruno Haible  <bruno@clisp.org>
50019
50020         Fix *printf behaviour regarding the %ls directive.
50021         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
50022         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
50023         NEED_PRINTF_DIRECTIVE_LS.
50024         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
50025         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50026         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50027         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
50028         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
50029         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
50030         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50031         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50032         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50033         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50034         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50035         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
50036         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50037         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50038         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50039         * doc/posix-functions/fprintf.texi: Update.
50040         * doc/posix-functions/printf.texi: Update.
50041         * doc/posix-functions/snprintf.texi: Update.
50042         * doc/posix-functions/sprintf.texi: Update.
50043         * doc/posix-functions/vfprintf.texi: Update.
50044         * doc/posix-functions/vprintf.texi: Update.
50045         * doc/posix-functions/vsnprintf.texi: Update.
50046         * doc/posix-functions/vsprintf.texi: Update.
50047         * doc/glibc-functions/obstack_printf.texi: Update.
50048         * doc/glibc-functions/obstack_vprintf.texi: Update.
50049         Reported by Eric Blake.
50050
50051 2009-02-25  Bruno Haible  <bruno@clisp.org>
50052
50053         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
50054         with known value.
50055         Reported by Gary V. Vaughan <gary@gnu.org>.
50056
50057 2009-02-25  Bruno Haible  <bruno@clisp.org>
50058
50059         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
50060         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
50061         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
50062         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
50063         Reported by Gary V. Vaughan <gary@gnu.org>.
50064
50065 2009-02-25  Bruno Haible  <bruno@clisp.org>
50066
50067         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
50068         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
50069         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
50070         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
50071         Reported by Gary V. Vaughan <gary@gnu.org>.
50072
50073 2009-02-25  Eric Blake  <ebb9@byu.net>
50074
50075         tests: skip fseek/ftell tests if ungetc is broken
50076         * m4/ungetc.m4: New file.
50077         * modules/fseek-tests: Split test, so ungetc dependency is
50078         separate from rest of test.
50079         * modules/fseeko-tests: Likewise.
50080         * modules/ftell-tests: Likewise.
50081         * modules/ftello-tests: Likewise.
50082         * tests/test-fseek.c (main): Isolate ungetc dependency.
50083         * tests/test-fseeko.c (main): Likewise.
50084         * tests/test-ftell.c (main): Likewise.
50085         * tests/test-ftello.c (main): Likewise.
50086         * tests/test-fseek2.sh: New file.
50087         * tests/test-fseeko2.sh: Likewise.
50088         * tests/test-ftell2.sh: Likewise.
50089         * tests/test-ftello2.sh: Likewise.
50090
50091 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
50092
50093         test-getaddrinfo: fix usage of skip return code 77
50094         * tests/test-gettaddrinfo.c: Return skip code 77 only
50095         for first occurrence of skip (4x77 is not 77)
50096
50097 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
50098
50099         strtod: avoid C99 decl-after-statement
50100         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
50101
50102 2009-02-24  Eric Blake  <ebb9@byu.net>
50103
50104         strtod: detect HP-UX 11.31 bug
50105         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
50106         Reported by Gary V. Vaughan.
50107
50108 2009-02-23  Bruno Haible  <bruno@clisp.org>
50109
50110         Fix invalid read past end of memory block.
50111         * lib/vasnprintf.c (DCHAR_SET): Define.
50112         (local_wcslen): Define only when needed.
50113         (local_strnlen, local_wcsnlen): New functions.
50114         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
50115         directives that involve a conversion ourselves.
50116         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
50117         wcsnlen, mbrtowc, wcrtomb.
50118         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
50119         * tests/test-vasprintf-posix.c (test_function): Likewise.
50120         * tests/test-snprintf-posix.h (test_function): Likewise.
50121         * tests/test-sprintf-posix.h (test_function): Likewise.
50122         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50123
50124 2009-02-22  Bruno Haible  <bruno@clisp.org>
50125
50126         Implement new clarified decomposition of Hangul syllables.
50127         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
50128         of type LTV, return only a pairwise decomposition.
50129         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
50130         Likewise.
50131         * tests/uninorm/test-decomposition.c (main): Updated expected result.
50132         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
50133         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
50134
50135 2009-02-22  Bruno Haible  <bruno@clisp.org>
50136
50137         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
50138         zero-length results and shrink excess allocated memory.
50139         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
50140         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
50141         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
50142         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
50143         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
50144         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
50145         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
50146         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
50147         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
50148         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
50149         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
50150         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
50151
50152 2009-02-21  Bruno Haible  <bruno@clisp.org>
50153
50154         * doc/gnulib.texi: Include safe-alloc.texi earlier.
50155         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
50156         spaces after a period. Put a space between a macro name and its
50157         argument list. Trivial rewordings.
50158         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
50159         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
50160         (main): Return 0 explicitly.
50161
50162 2009-02-21  Bruno Haible  <bruno@clisp.org>
50163
50164         Tests for module 'uninorm/filter'.
50165         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
50166         * modules/uninorm/filter-tests: New file.
50167
50168         New module 'uninorm/filter'.
50169         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
50170         uninorm_filter_flush, uninorm_filter_free): New declarations.
50171         * lib/uninorm/uninorm-filter.c: New file.
50172         * modules/uninorm/filter: New file.
50173
50174 2009-02-21  Bruno Haible  <bruno@clisp.org>
50175
50176         Tests for module 'uninorm/nfkc'.
50177         * tests/uninorm/test-nfkc.c: New file.
50178         * tests/uninorm/test-u8-nfkc.c: New file.
50179         * tests/uninorm/test-u16-nfkc.c: New file.
50180         * tests/uninorm/test-u32-nfkc.c: New file.
50181         * tests/uninorm/test-u32-nfkc-big.sh: New file.
50182         * tests/uninorm/test-u32-nfkc-big.c: New file.
50183         * modules/uninorm/nfkc-tests: New file.
50184
50185         New module 'uninorm/nfkc'.
50186         * lib/uninorm/nfkc.c: New file.
50187         * modules/uninorm/nfkc: New file.
50188
50189         Tests for module 'uninorm/nfkd'.
50190         * tests/uninorm/test-nfkd.c: New file.
50191         * tests/uninorm/test-u8-nfkd.c: New file.
50192         * tests/uninorm/test-u16-nfkd.c: New file.
50193         * tests/uninorm/test-u32-nfkd.c: New file.
50194         * tests/uninorm/test-u32-nfkd-big.sh: New file.
50195         * tests/uninorm/test-u32-nfkd-big.c: New file.
50196         * modules/uninorm/nfkd-tests: New file.
50197
50198         New module 'uninorm/nfkd'.
50199         * lib/uninorm/nfkd.c: New file.
50200         * modules/uninorm/nfkd: New file.
50201
50202         Tests for module 'uninorm/nfc'.
50203         * tests/uninorm/test-nfc.c: New file.
50204         * tests/uninorm/test-u8-nfc.c: New file.
50205         * tests/uninorm/test-u16-nfc.c: New file.
50206         * tests/uninorm/test-u32-nfc.c: New file.
50207         * tests/uninorm/test-u32-nfc-big.sh: New file.
50208         * tests/uninorm/test-u32-nfc-big.c: New file.
50209         * modules/uninorm/nfc-tests: New file.
50210
50211         New module 'uninorm/nfc'.
50212         * lib/uninorm/nfc.c: New file.
50213         * modules/uninorm/nfc: New file.
50214
50215         Tests for module 'uninorm/nfd'.
50216         * tests/uninorm/test-nfd.c: New file.
50217         * tests/uninorm/test-u8-nfd.c: New file.
50218         * tests/uninorm/test-u16-nfd.c: New file.
50219         * tests/uninorm/test-u32-nfd.c: New file.
50220         * tests/uninorm/test-u32-nfd-big.sh: New file.
50221         * tests/uninorm/test-u32-nfd-big.c: New file.
50222         * tests/uninorm/test-u32-normalize-big.h: New file.
50223         * tests/uninorm/test-u32-normalize-big.c: New file.
50224         * tests/uninorm/NormalizationTest.txt: New file, created from
50225         Unicode 5.1.0 NormalizationTest.txt.
50226         * modules/uninorm/nfd-tests: New file.
50227
50228         New module 'uninorm/nfd'.
50229         * lib/uninorm/nfd.c: New file.
50230         * modules/uninorm/nfd: New file.
50231
50232         New module 'uninorm/u32-normalize'.
50233         * lib/uninorm/u32-normalize.c: New file.
50234         * modules/uninorm/u32-normalize: New file.
50235
50236         New module 'uninorm/u16-normalize'.
50237         * lib/uninorm/u16-normalize.c: New file.
50238         * modules/uninorm/u16-normalize: New file.
50239
50240         New module 'uninorm/u8-normalize'.
50241         * lib/uninorm/u8-normalize.c: New file.
50242         * lib/uninorm/normalize-internal.h: New file.
50243         * lib/uninorm/u-normalize-internal.h: New file.
50244         * modules/uninorm/u8-normalize: New file.
50245
50246         New module 'uninorm/decompose-internal'.
50247         * lib/uninorm/decompose-internal.c: New file.
50248         * modules/uninorm/decompose-internal: New file.
50249
50250         Tests for module 'uninorm/composition'.
50251         * tests/uninorm/test-composition.c: New file.
50252         * modules/uninorm/composition-tests: New file.
50253
50254         New module 'uninorm/composition'.
50255         * lib/uninorm/composition.c: New file.
50256         * lib/uninorm/composition-table.gperf: New file, generated by
50257         gen-uni-tables.
50258         * modules/uninorm/composition: New file.
50259
50260         Tests for module 'uninorm/compat-decomposition'.
50261         * tests/uninorm/test-compat-decomposition.c: New file.
50262         * modules/uninorm/compat-decomposition-tests: New file.
50263
50264         New module 'uninorm/compat-decomposition'.
50265         * lib/uninorm/decompose-internal.h: New file.
50266         * lib/uninorm/compat-decomposition.c: New file.
50267         * modules/uninorm/compat-decomposition: New file.
50268
50269         Tests for module 'uninorm/canonical-decomposition'.
50270         * tests/uninorm/test-canonical-decomposition.c: New file.
50271         * modules/uninorm/canonical-decomposition-tests: New file.
50272
50273         New module 'uninorm/canonical-decomposition'.
50274         * lib/uninorm/canonical-decomposition.c: New file.
50275         * modules/uninorm/canonical-decomposition: New file.
50276
50277         Tests for module 'uninorm/decomposition'.
50278         * tests/uninorm/test-decomposition.c: New file.
50279         * modules/uninorm/decomposition-tests: New file.
50280
50281         New module 'uninorm/decomposition'.
50282         * lib/uninorm/decomposition.c: New file.
50283         * modules/uninorm/decomposition: New file.
50284
50285         New module 'uninorm/decomposition-table'.
50286         * lib/uninorm/decomposition-table.h: New file.
50287         * lib/uninorm/decomposition-table.c: New file.
50288         * lib/uninorm/decomposition-table1.h: New file, generated by
50289         gen-uni-tables.
50290         * lib/uninorm/decomposition-table2.h: New file, generated by
50291         gen-uni-tables.
50292         * modules/uninorm/decomposition-table: New file.
50293
50294         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
50295         (UC_DECOMP_*): New enumeration items.
50296         (get_decomposition): New function.
50297         (struct decomp_table): New type.
50298         (output_decomposition, output_decomposition_tables): New functions.
50299         (unicode_composition_exclusions): New variable.
50300         (fill_composition_exclusions, debug_output_composition_tables): New
50301         functions.
50302         (main): Accept one more argument. Invoke fill_composition_exclusions.
50303         Output decomposition and composition tables.
50304
50305         New module 'uninorm/base'.
50306         * lib/uninorm.h: New file.
50307         * lib/unictype.h: Update comment.
50308         * modules/uninorm/base: New file.
50309
50310 2009-02-21  David Lutterkort  <lutter@redhat.com>
50311
50312         Tests for module 'safe-alloc'.
50313         * tests/test-safe-alloc.c: New file.
50314         * modules/safe-alloc-tests: New file.
50315
50316         New module 'safe-alloc'.
50317         * lib/safe-alloc.h: New file.
50318         * lib/safe-alloc.c: New file.
50319         * m4/safe-alloc.m4: New file.
50320         * modules/safe-alloc: New file.
50321         * doc/safe-alloc.texi: New file.
50322         * doc/gnulib.texi: Include it.
50323         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
50324         safe-alloc.
50325
50326 2009-02-18  Bruno Haible  <bruno@clisp.org>
50327
50328         Fix link error on non-glibc systems.
50329         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
50330         variable.
50331         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50332
50333 2009-02-18  Jim Meyering  <meyering@redhat.com>
50334
50335         fts: avoid used-uninitialized error due to recent change
50336         * lib/fts.c (fts_read): Guard uses of the new member,
50337         parent->fts_n_dirs_remaining, since it's not relevant for
50338         the parent of a directory specified on the command-line.
50339
50340 2009-02-17  James Youngman  <jay@gnu.org>
50341             Bruno Haible  <bruno@clisp.org>
50342
50343         * m4/include_next.m4: Reformulate comment.
50344
50345 2009-02-16  Jim Meyering  <meyering@redhat.com>
50346
50347         fts: add #if guards so that the fts_lgpl module still builds
50348         * lib/fts.c: Guard just-added hash-table-using parts with
50349         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
50350         Reported by Simon Josefsson.
50351
50352 2009-02-15  Bruno Haible  <bruno@clisp.org>
50353
50354         * modules/array-mergesort-tests: New file.
50355         * tests/test-array-mergesort.c: New file.
50356
50357         New module 'array-mergesort'.
50358         * modules/array-mergesort: New file.
50359         * lib/array-mergesort.h: New file.
50360
50361 2009-02-15  Bruno Haible  <bruno@clisp.org>
50362
50363         Fix 2009-02-07 commit.
50364         * lib/gen-uni-tables.c (output_predicate, output_category,
50365         output_combclass, output_bidi_category, output_decimal_digit,
50366         output_digit, output_numeric, output_mirror, output_scripts,
50367         output_ident_category, output_simple_mapping): Fix format directives.
50368         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
50369
50370 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
50371
50372         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
50373         fixes are available from IBM.
50374
50375 2009-02-13  Jim Meyering  <meyering@redhat.com>
50376
50377         fts: arrange not to stat non-directories in more cases
50378         This makes GNU find (when it doesn't need to stat each file)
50379         *much* more efficient at traversing reiserfs file systems.
50380         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
50381         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
50382         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
50383         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
50384         (leaf_optimization_applies): New function.
50385         (LCO_hash, LCO_compare): New helper functions.
50386         (link_count_optimize_ok): New function.
50387         (fts_stat): Initialize new member (if dir).
50388         (fts_read): Decrement parent's fts_n_dirs_remaining count if
50389         we've just stat'ed a directory.  Skip the stat call when possible.
50390         ---
50391         Note this AFS-related exchange:
50392         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
50393         and note find's pioctl call in find/fstype.c.
50394         But that is necessary only if you want to enable the
50395         optimization for AFS, and for now, I don't.
50396
50397         fts: move a function definition "up" (no semantic change)
50398         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
50399         "up" to precede upcoming use of a related function.
50400
50401 2009-02-11  Jim Meyering  <meyering@redhat.com>
50402
50403         fts: correct internal computation of nlinks (optimization-related)
50404         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
50405         whether the current entry is a directory, so don't test it.
50406
50407 2009-02-10  Bruno Haible  <bruno@clisp.org>
50408
50409         Tests for module 'uniwbrk/ulc-wordbreaks'.
50410         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
50411         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
50412         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
50413
50414         Tests for module 'uniwbrk/u32-wordbreaks'.
50415         * modules/uniwbrk/u32-wordbreaks-tests: New file.
50416         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
50417
50418         Tests for module 'uniwbrk/u16-wordbreaks'.
50419         * modules/uniwbrk/u16-wordbreaks-tests: New file.
50420         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
50421
50422         Tests for module 'uniwbrk/u8-wordbreaks'.
50423         * modules/uniwbrk/u8-wordbreaks-tests: New file.
50424         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
50425
50426 2009-02-10  Bruno Haible  <bruno@clisp.org>
50427
50428         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
50429         property.
50430         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
50431         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
50432         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
50433
50434 2009-02-10  Simon Josefsson  <simon@josefsson.org>
50435
50436         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
50437         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
50438
50439 2009-02-10  Bruno Haible  <bruno@clisp.org>
50440
50441         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
50442         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
50443         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
50444         * lib/unilbrk/u8-possible-linebreaks.c: Update.
50445         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
50446         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
50447
50448 2009-02-09  Simon Josefsson  <simon@josefsson.org>
50449
50450         * lib/sockets.h (gl_fd_to_handle): New function.
50451
50452         * tests/test-sockets.c: Call gl_fd_to_handle.
50453
50454 2009-02-09  Bruno Haible  <bruno@clisp.org>
50455
50456         * doc/havelib.texi: Document the conventions on bi-arch systems.
50457
50458 2009-02-08  Bruno Haible  <bruno@clisp.org>
50459
50460         Document the AC_LIB_LINKFLAGS macro.
50461         * doc/havelib.texi: New file, mostly written on 2005-05-24.
50462         * doc/gnulib.texi: Include it.
50463
50464 2009-02-08  Bruno Haible  <bruno@clisp.org>
50465
50466         Fix wrong order of sections, compared to TOC.
50467         * doc/gnulib.texi: Include relocatable-maint.texi after the
50468         "Regular expressions" node, not before.
50469
50470 2009-02-08  Bruno Haible  <bruno@clisp.org>
50471
50472         Tests for module 'unicase/totitle'.
50473         * modules/unicase/totitle-tests: New file.
50474
50475         Tests for module 'unicase/tolower'.
50476         * modules/unicase/tolower-tests: New file.
50477
50478         Tests for module 'unicase/toupper'.
50479         * modules/unicase/toupper-tests: New file.
50480         * tests/unicase/test-mapping-part1.h: New file.
50481         * tests/unicase/test-mapping-part2.h: New file.
50482
50483         New module 'unicase/totitle'.
50484         * modules/unicase/totitle: New file.
50485         * lib/unicase/totitle.c: New file.
50486
50487         New module 'unicase/tolower'.
50488         * modules/unicase/tolower: New file.
50489         * lib/unicase/tolower.c: New file.
50490
50491         New module 'unicase/toupper'.
50492         * modules/unicase/toupper: New file.
50493         * lib/unicase/toupper.c: New file.
50494         * lib/unicase/simple-mapping.h: New file.
50495
50496         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
50497         (mapping_table): New structure.
50498         (output_simple_mapping): New function.
50499         (main): Invoke output_simple_mapping_test and output_simple_mapping.
50500         * modules/gen-uni-tables (Description): Update.
50501         * lib/unicase/toupper.h: New file, automatically generated by
50502         gen-uni-tables.
50503         * lib/unicase/tolower.h: New file, automatically generated by
50504         gen-uni-tables.
50505         * lib/unicase/totitle.h: New file, automatically generated by
50506         gen-uni-tables.
50507         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
50508         gen-uni-tables.
50509         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
50510         gen-uni-tables.
50511         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
50512         gen-uni-tables.
50513
50514         New module 'unicase/base'.
50515         * modules/unicase/base: New file.
50516         * lib/unicase.h: New file.
50517
50518 2009-02-08  Bruno Haible  <bruno@clisp.org>
50519
50520         New module 'uniwbrk/ulc-wordbreaks'.
50521         * modules/uniwbrk/ulc-wordbreaks: New file.
50522         * lib/uniwbrk/ulc-wordbreaks.c: New file.
50523
50524         New module 'uniwbrk/u32-wordbreaks'.
50525         * modules/uniwbrk/u32-wordbreaks: New file.
50526         * lib/uniwbrk/u32-wordbreaks.c: New file.
50527
50528         New module 'uniwbrk/u16-wordbreaks'.
50529         * modules/uniwbrk/u16-wordbreaks: New file.
50530         * lib/uniwbrk/u16-wordbreaks.c: New file.
50531
50532         New module 'uniwbrk/u8-wordbreaks'.
50533         * modules/uniwbrk/u8-wordbreaks: New file.
50534         * lib/uniwbrk/u8-wordbreaks.c: New file.
50535         * lib/uniwbrk/u-wordbreaks.h: New file.
50536
50537         New module 'uniwbrk/table'.
50538         * modules/uniwbrk/table: New file.
50539         * lib/uniwbrk/wbrktable.h: New file.
50540         * lib/uniwbrk/wbrktable.c: New file.
50541
50542         New module 'uniwbrk/wordbreak-property'.
50543         * modules/uniwbrk/wordbreak-property: New file.
50544         * lib/uniwbrk/wordbreak-property.c: New file.
50545
50546         * lib/gen-uni-tables.c (WBP_*): New enum items.
50547         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
50548         (unicode_org_wbp): New variable.
50549         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
50550         New functions.
50551         (wbp_table): New structure.
50552         (output_wbp, output_wbrk_tables): New functions.
50553         (main): Accept additional argument. Invoke fill_org_wbp,
50554         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
50555         output_wbrk_tables.
50556         * modules/gen-uni-tables (Description): Update.
50557         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
50558         gen-uni-tables.
50559
50560         New module 'uniwbrk/base'.
50561         * modules/uniwbrk/base: New file.
50562         * lib/uniwbrk.h: New file.
50563
50564 2009-02-08  Bruno Haible  <bruno@clisp.org>
50565
50566         Update to Unicode 5.1.0.
50567         * lib/gen-uni-tables.c (is_property_alphabetic): Include
50568         U+2185..U+2188.
50569         (is_property_default_ignorable_code_point): Don't include characters
50570         of category Cc or Cs and not-a-characters.
50571         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
50572         U+0D79, U+109E, U+109F, U+A60C.
50573         * lib/unictype/bidi_of.h: Regenerated.
50574         * lib/unictype/blocks.h: Regenerated.
50575         * lib/unictype/categ_C.h: Regenerated.
50576         * lib/unictype/categ_Cf.h: Regenerated.
50577         * lib/unictype/categ_Cn.h: Regenerated.
50578         * lib/unictype/categ_L.h: Regenerated.
50579         * lib/unictype/categ_Ll.h: Regenerated.
50580         * lib/unictype/categ_Lm.h: Regenerated.
50581         * lib/unictype/categ_Lo.h: Regenerated.
50582         * lib/unictype/categ_Lu.h: Regenerated.
50583         * lib/unictype/categ_M.h: Regenerated.
50584         * lib/unictype/categ_Mc.h: Regenerated.
50585         * lib/unictype/categ_Me.h: Regenerated.
50586         * lib/unictype/categ_Mn.h: Regenerated.
50587         * lib/unictype/categ_N.h: Regenerated.
50588         * lib/unictype/categ_Nd.h: Regenerated.
50589         * lib/unictype/categ_Nl.h: Regenerated.
50590         * lib/unictype/categ_No.h: Regenerated.
50591         * lib/unictype/categ_P.h: Regenerated.
50592         * lib/unictype/categ_Pd.h: Regenerated.
50593         * lib/unictype/categ_Pe.h: Regenerated.
50594         * lib/unictype/categ_Pf.h: Regenerated.
50595         * lib/unictype/categ_Pi.h: Regenerated.
50596         * lib/unictype/categ_Po.h: Regenerated.
50597         * lib/unictype/categ_Ps.h: Regenerated.
50598         * lib/unictype/categ_S.h: Regenerated.
50599         * lib/unictype/categ_Sk.h: Regenerated.
50600         * lib/unictype/categ_Sm.h: Regenerated.
50601         * lib/unictype/categ_So.h: Regenerated.
50602         * lib/unictype/categ_of.h: Regenerated.
50603         * lib/unictype/combining.h: Regenerated.
50604         * lib/unictype/ctype_alnum.h: Regenerated.
50605         * lib/unictype/ctype_alpha.h: Regenerated.
50606         * lib/unictype/ctype_graph.h: Regenerated.
50607         * lib/unictype/ctype_lower.h: Regenerated.
50608         * lib/unictype/ctype_print.h: Regenerated.
50609         * lib/unictype/ctype_punct.h: Regenerated.
50610         * lib/unictype/ctype_upper.h: Regenerated.
50611         * lib/unictype/decdigit.h: Regenerated.
50612         * lib/unictype/digit.h: Regenerated.
50613         * lib/unictype/mirror.h: Regenerated.
50614         * lib/unictype/numeric.h: Regenerated.
50615         * lib/unictype/pr_alphabetic.h: Regenerated.
50616         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
50617         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
50618         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
50619         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
50620         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
50621         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
50622         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
50623         * lib/unictype/pr_combining.h: Regenerated.
50624         * lib/unictype/pr_dash.h: Regenerated.
50625         * lib/unictype/pr_decimal_digit.h: Regenerated.
50626         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
50627         * lib/unictype/pr_deprecated.h: Regenerated.
50628         * lib/unictype/pr_diacritic.h: Regenerated.
50629         * lib/unictype/pr_extender.h: Regenerated.
50630         * lib/unictype/pr_format_control.h: Regenerated.
50631         * lib/unictype/pr_grapheme_base.h: Regenerated.
50632         * lib/unictype/pr_grapheme_extend.h: Regenerated.
50633         * lib/unictype/pr_grapheme_link.h: Regenerated.
50634         * lib/unictype/pr_id_continue.h: Regenerated.
50635         * lib/unictype/pr_id_start.h: Regenerated.
50636         * lib/unictype/pr_ideographic.h: Regenerated.
50637         * lib/unictype/pr_ignorable_control.h: Regenerated.
50638         * lib/unictype/pr_lowercase.h: Regenerated.
50639         * lib/unictype/pr_math.h: Regenerated.
50640         * lib/unictype/pr_numeric.h: Regenerated.
50641         * lib/unictype/pr_other_alphabetic.h: Regenerated.
50642         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
50643         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
50644         * lib/unictype/pr_other_id_continue.h: Regenerated.
50645         * lib/unictype/pr_other_lowercase.h: Regenerated.
50646         * lib/unictype/pr_other_math.h: Regenerated.
50647         * lib/unictype/pr_punctuation.h: Regenerated.
50648         * lib/unictype/pr_sentence_terminal.h: Regenerated.
50649         * lib/unictype/pr_soft_dotted.h: Regenerated.
50650         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
50651         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
50652         * lib/unictype/pr_unified_ideograph.h: Regenerated.
50653         * lib/unictype/pr_uppercase.h: Regenerated.
50654         * lib/unictype/pr_xid_continue.h: Regenerated.
50655         * lib/unictype/pr_xid_start.h: Regenerated.
50656         * lib/unictype/pr_zero_width.h: Regenerated.
50657         * lib/unictype/scripts.h: Regenerated.
50658         * lib/unictype/scripts_byname.gperf: Regenerated.
50659         * lib/unictype/sy_java_ident.h: Regenerated.
50660         * lib/unilbrk/lbrkprop1.h: Regenerated.
50661         * lib/unilbrk/lbrkprop2.h: Regenerated.
50662         * tests/unictype/test-categ_C.c: Regenerated.
50663         * tests/unictype/test-categ_Cf.c: Regenerated.
50664         * tests/unictype/test-categ_Cn.c: Regenerated.
50665         * tests/unictype/test-categ_L.c: Regenerated.
50666         * tests/unictype/test-categ_Ll.c: Regenerated.
50667         * tests/unictype/test-categ_Lm.c: Regenerated.
50668         * tests/unictype/test-categ_Lo.c: Regenerated.
50669         * tests/unictype/test-categ_Lu.c: Regenerated.
50670         * tests/unictype/test-categ_M.c: Regenerated.
50671         * tests/unictype/test-categ_Mc.c: Regenerated.
50672         * tests/unictype/test-categ_Me.c: Regenerated.
50673         * tests/unictype/test-categ_Mn.c: Regenerated.
50674         * tests/unictype/test-categ_N.c: Regenerated.
50675         * tests/unictype/test-categ_Nd.c: Regenerated.
50676         * tests/unictype/test-categ_Nl.c: Regenerated.
50677         * tests/unictype/test-categ_No.c: Regenerated.
50678         * tests/unictype/test-categ_P.c: Regenerated.
50679         * tests/unictype/test-categ_Pd.c: Regenerated.
50680         * tests/unictype/test-categ_Pe.c: Regenerated.
50681         * tests/unictype/test-categ_Pf.c: Regenerated.
50682         * tests/unictype/test-categ_Pi.c: Regenerated.
50683         * tests/unictype/test-categ_Po.c: Regenerated.
50684         * tests/unictype/test-categ_Ps.c: Regenerated.
50685         * tests/unictype/test-categ_S.c: Regenerated.
50686         * tests/unictype/test-categ_Sk.c: Regenerated.
50687         * tests/unictype/test-categ_Sm.c: Regenerated.
50688         * tests/unictype/test-categ_So.c: Regenerated.
50689         * tests/unictype/test-ctype_alnum.c: Regenerated.
50690         * tests/unictype/test-ctype_alpha.c: Regenerated.
50691         * tests/unictype/test-ctype_graph.c: Regenerated.
50692         * tests/unictype/test-ctype_lower.c: Regenerated.
50693         * tests/unictype/test-ctype_print.c: Regenerated.
50694         * tests/unictype/test-ctype_punct.c: Regenerated.
50695         * tests/unictype/test-ctype_upper.c: Regenerated.
50696         * tests/unictype/test-decdigit.h: Regenerated.
50697         * tests/unictype/test-digit.h: Regenerated.
50698         * tests/unictype/test-numeric.h: Regenerated.
50699         * tests/unictype/test-pr_alphabetic.c: Regenerated.
50700         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
50701         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
50702         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
50703         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
50704         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
50705         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
50706         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
50707         * tests/unictype/test-pr_combining.c: Regenerated.
50708         * tests/unictype/test-pr_dash.c: Regenerated.
50709         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
50710         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
50711         * tests/unictype/test-pr_deprecated.c: Regenerated.
50712         * tests/unictype/test-pr_diacritic.c: Regenerated.
50713         * tests/unictype/test-pr_extender.c: Regenerated.
50714         * tests/unictype/test-pr_format_control.c: Regenerated.
50715         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
50716         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
50717         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
50718         * tests/unictype/test-pr_id_continue.c: Regenerated.
50719         * tests/unictype/test-pr_id_start.c: Regenerated.
50720         * tests/unictype/test-pr_ideographic.c: Regenerated.
50721         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
50722         * tests/unictype/test-pr_lowercase.c: Regenerated.
50723         * tests/unictype/test-pr_math.c: Regenerated.
50724         * tests/unictype/test-pr_numeric.c: Regenerated.
50725         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
50726         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
50727         Regenerated.
50728         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
50729         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
50730         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
50731         * tests/unictype/test-pr_other_math.c: Regenerated.
50732         * tests/unictype/test-pr_punctuation.c: Regenerated.
50733         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
50734         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
50735         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
50736         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
50737         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
50738         * tests/unictype/test-pr_uppercase.c: Regenerated.
50739         * tests/unictype/test-pr_xid_continue.c: Regenerated.
50740         * tests/unictype/test-pr_xid_start.c: Regenerated.
50741         * tests/unictype/test-pr_zero_width.c: Regenerated.
50742
50743         Update to Unicode 5.1.0.
50744         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
50745         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
50746         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
50747         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
50748         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
50749         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
50750         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
50751         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
50752         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
50753         (nonspacing_table_ind): Update.
50754         * tests/uniwidth/test-uc_width2.sh: Update expected result.
50755
50756         Update to Unicode 5.1.0.
50757         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
50758         code transform.
50759         * lib/uniname/uniname.c (unicode_character_name,
50760         unicode_name_character): Add the range 0x1Fxxx to the code transform.
50761         * lib/uniname/uninames.h: Regenerated.
50762         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
50763
50764 2009-02-07  Bruno Haible  <bruno@clisp.org>
50765
50766         Merge gen-ctype and gen-lbrk into a single program.
50767         * lib/gen-uni-tables.c: New file, incorporating
50768         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
50769         Add directory prefixes to the names of the generated files.
50770         * lib/unictype/gen-ctype.c: Remove file.
50771         * lib/unilbrk/gen-lbrk.c: Remove file.
50772         * modules/gen-uni-tables: New file.
50773         * modules/unictype/gen-ctype: Remove file.
50774         * modules/unilbrk/gen-lbrk: Remove file.
50775
50776 2009-02-07  Bruno Haible  <bruno@clisp.org>
50777
50778         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
50779
50780         New module 'unistr/u32-strcoll'.
50781         * modules/unistr/u32-strcoll: New file.
50782         * lib/unistr/u32-strcoll.c: New file.
50783
50784         New module 'unistr/u16-strcoll'.
50785         * modules/unistr/u16-strcoll: New file.
50786         * lib/unistr/u16-strcoll.c: New file.
50787
50788         New module 'unistr/u8-strcoll'.
50789         * modules/unistr/u8-strcoll: New file.
50790         * lib/unistr/u8-strcoll.c: New file.
50791         * lib/unistr/u-strcoll.h: New file.
50792
50793 2009-02-07  Bruno Haible  <bruno@clisp.org>
50794
50795         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
50796         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
50797         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
50798         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
50799         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
50800         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
50801
50802 2009-02-07  Bruno Haible  <bruno@clisp.org>
50803
50804         Make 64-bit clean.
50805         * lib/unictype/gen-ctype.c (output_predicate, output_category,
50806         output_combclass, output_bidi_category, output_decimal_digit,
50807         output_digit, output_numeric, output_mirror, output_scripts,
50808         output_ident_category): Use proper width specifier in format strings.
50809
50810 2009-02-07  Bruno Haible  <bruno@clisp.org>
50811
50812         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
50813         failure behaviour.
50814
50815 2009-02-07  Jim Meyering  <meyering@redhat.com>
50816
50817         regex: avoid compilation failure with upcoming gcc-4.4
50818         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
50819         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
50820         "... error: integer overflow in preprocessor expression".
50821
50822 2009-02-05  Ben Pfaff  <blp@gnu.org>
50823
50824         Fix link errors on Windows when close module is used.
50825         * modules/close: Add $(LIB_CLOSE) to Link section.
50826         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
50827         $(LIB_CLOSE) on Windows.
50828
50829 2009-02-05  Jim Meyering  <meyering@redhat.com>
50830
50831         still avoid unused-parameter warnings, but do it cleanly
50832         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
50833         (get_fs_usage): Cast to void instead.
50834         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
50835         (dev_from_mount_options, read_file_system_list): Cast to void.
50836         Prompted by Bruno Haible.
50837
50838 2009-02-04  Jim Meyering  <meyering@redhat.com>
50839
50840         fsusage.c: correct copyright year
50841         * lib/fsusage.c: Reflect year in which the change is pushed into
50842
50843         avoid misc. warnings
50844         * lib/fsusage.c (UNUSED_PARAM): Define.
50845         (get_fs_usage): Mark parameter "disk" as unused.
50846         * lib/getugroups.c (getgrent): Use "void" in prototype.
50847         * lib/mountlist.c: Mark unused parameters.
50848         (read_file_system_list): Declare a local with "const".
50849         * lib/nanosleep.c (getnow): Declare static.
50850         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
50851
50852         dirfd: set errno upon failure
50853         * lib/dirfd.c: Include <errno.h>.
50854         Set errno to ENOTSUP when returning -1.
50855         * modules/dirfd (Depends-on): Add errno.
50856         Suggested by John Kodis <kodis@comcast.net>.
50857
50858 2009-02-01  Bruno Haible  <bruno@clisp.org>
50859
50860         Don't assume sizeof (long) >= sizeof (void *).
50861         * lib/memcmp.c: Include stdint.h.
50862         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
50863         srcp2 to 'const byte *'.
50864         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
50865         types to uintptr_t.
50866         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
50867         * modules/memcmp (Depends-on): Add stdint.
50868         Reported by Ozkan Sezer <sezeroz@gmail.com>.
50869
50870 2009-01-30  Eric Blake  <ebb9@byu.net>
50871
50872         fix more require-before-expand issues
50873         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
50874         expand, AC_PROG_AWK.
50875         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
50876
50877 2009-01-28  Eric Blake  <ebb9@byu.net>
50878
50879         version-etc: use consistent URL formatting
50880         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
50881         Improve formatting.  Use fputs for string without %.
50882
50883 2009-01-28  Jim Meyering  <meyering@redhat.com>
50884
50885         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
50886         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
50887         "underquoted definition of NAME" from autoconf-2.59.
50888
50889 2009-01-28  Bruno Haible  <bruno@clisp.org>
50890
50891         * doc/gnulib.texi: Add "Obsolete modules" to index.
50892
50893 2009-01-28  Jim Meyering  <meyering@redhat.com>
50894
50895         useless-if-before-free: recognize more variants
50896         * build-aux/useless-if-before-free: Also recognize e.g.,
50897         if (NULL != p) free (p);
50898
50899 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
50900
50901         test-getaddrinfo: skip (don't fail) this test when there's no network
50902         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
50903         on the presumption that it means you lack network access.
50904
50905 2009-01-26  Jim Meyering  <meyering@redhat.com>
50906
50907         fflush: avoid warnings on modern systems
50908         * lib/fflush.c (rpl_fflush): Move declarations of locals,
50909         pos and result, into scopes where they're used.
50910
50911 2009-01-26  Eric Blake  <ebb9@byu.net>
50912
50913         Silence warning reintroduced by recent extensions patch.
50914         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
50915         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
50916         autoconf.
50917
50918         Backport improved autoconf semantics of AC_DEFUN_ONCE.
50919         * m4/00gnulib.m4: New file.
50920         * gnulib-tool (func_get_filelist): Always use it.
50921         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
50922         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
50923
50924 2009-01-25  Bruno Haible  <bruno@clisp.org>
50925
50926         Make test-quotearg work on MacOS X and AIX.
50927         * tests/test-quotearg.sh: New file.
50928         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
50929         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
50930         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
50931         include <libintl.h>.
50932         (fake_locale): Remove variable.
50933         (gettext, dgettext, dcgettext): Remove functions.
50934         (main): Instead of setting a fake locale, set a real locale. Call
50935         textdomain and bindtextdomain.
50936         * modules/quotearg-tests (Files): Add the new files.
50937         (Depends-on): Add gettext, setenv, unsetenv.
50938         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
50939         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
50940         Augment TESTS_ENVIRONMENT.
50941
50942 2009-01-25  Bruno Haible  <bruno@clisp.org>
50943
50944         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
50945         fr_FR.ISO8859-1 locale on MacOS X.
50946         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
50947         ja_JP.eucJP locale on MacOS X.
50948         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
50949         zh_CN.GB18030 locale on MacOS X.
50950
50951 2009-01-25  Bruno Haible  <bruno@clisp.org>
50952
50953         Avoid link errors on MacOS X 10.3.
50954         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
50955         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
50956
50957 2009-01-25  Bruno Haible  <bruno@clisp.org>
50958
50959         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
50960         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
50961         * modules/pipe (Files): Remove m4/posix_spawn.m4.
50962         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
50963         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
50964         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
50965         posix_spawnattr_init, posix_spawnattr_setsigmask,
50966         posix_spawnattr_setflags, posix_spawnattr_destroy.
50967
50968         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
50969         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
50970         * modules/execute (Files): Remove m4/posix_spawn.m4.
50971         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
50972         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
50973         posix_spawnattr_init, posix_spawnattr_setsigmask,
50974         posix_spawnattr_setflags, posix_spawnattr_destroy.
50975
50976 2009-01-25  Bruno Haible  <bruno@clisp.org>
50977
50978         * lib/glthread/threadlib.c: Include <stdlib.h>.
50979
50980 2009-01-25  Bruno Haible  <bruno@clisp.org>
50981
50982         * lib/glthread/threadlib.c (dummy): New declaration.
50983
50984 2009-01-25  Bruno Haible  <bruno@clisp.org>
50985
50986         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
50987         multibyte characters also for the GB18030 encoding. Don't crash when
50988         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
50989
50990 2009-01-25  Bruno Haible  <bruno@clisp.org>
50991
50992         Avoid redefining 'struct random_data' on OSF/1 5.1.
50993         * lib/stdlib.in.h: Include <random.h> if it exists.
50994         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
50995         HAVE_RANDOM_H. Include <random.h> when testing whether
50996         'struct random_data' exists.
50997         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
50998
50999 2009-01-25  Bruno Haible  <bruno@clisp.org>
51000
51001         Don't install charset.alias on MacOS X >= 10.3.
51002         * lib/localcharset.c (DARWIN7): New macro.
51003         (get_charset_aliases): Hardcode the result for Darwin7.
51004         * modules/localcharset (install-exec-local): Don't install
51005         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
51006
51007 2009-01-25  Bruno Haible  <bruno@clisp.org>
51008
51009         Don't install charset.alias on mingw and Cygwin.
51010         * modules/localcharset (install-exec-local): Don't install
51011         charset.alias on mingw and Cygwin, if the file does not yet exist.
51012         The result for these platforms is hardcoded in localcharset.c.
51013
51014 2009-01-25  Bruno Haible  <bruno@clisp.org>
51015
51016         Make it possible again to use AC_GNU_SOURCE together with gnulib.
51017         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
51018         before requiring AC_USE_SYSTEM_EXTENSIONS.
51019
51020 2009-01-25  Jim Meyering  <meyering@redhat.com>
51021
51022         c-strtod: avoid warnings
51023         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
51024         "assignment discards qualifiers from pointer target type" warnings.
51025
51026 2009-01-24  Bruno Haible  <bruno@clisp.org>
51027
51028         Add support for non-UTF-8 locales on MacOS X.
51029         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
51030         canonical encodings. For Darwin 7 and newer, don't map traditional
51031         encodings to UTF-8.
51032         Reported by Vincent Lefevre <vincent@vinc17.org>
51033         at <http://savannah.gnu.org/bugs/?25235>.
51034
51035 2009-01-24  Bruno Haible  <bruno@clisp.org>
51036
51037         * doc/gnulib.texi (Obsolete modules): New section.
51038         Reported by Mike Frysinger <vapier@gentoo.org>.
51039
51040 2009-01-24  Bruno Haible  <bruno@clisp.org>
51041
51042         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
51043         (%.dvi): New rule.
51044
51045 2009-01-24  Bruno Haible  <bruno@clisp.org>
51046
51047         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
51048         Reported by Eric Blake.
51049
51050 2009-01-24  Bruno Haible  <bruno@clisp.org>
51051
51052         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
51053         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
51054         Reported by Gary V. Vaughan <gary@gnu.org>.
51055
51056 2009-01-24  Bruno Haible  <bruno@clisp.org>
51057
51058         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
51059
51060 2009-01-23  Bruno Haible  <bruno@clisp.org>
51061
51062         Make c-strtod, c-strtold usable in libraries.
51063         * lib/c-strtod.c: Include string.h instead of xalloc.h.
51064         (C_STRTOD): Call strdup instead of xstrdup.
51065         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
51066         * modules/c-strtold (Depends-on): Likewise.
51067         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
51068         * NEWS: Mention the change.
51069         Reported by Michael Gold <mgold@ncf.ca>.
51070
51071 2009-01-23  Jim Meyering  <meyering@redhat.com>
51072
51073         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
51074         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
51075         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
51076
51077 2009-01-23  Simon Josefsson  <simon@josefsson.org>
51078
51079         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
51080         GNU CoreUtils.
51081         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
51082         * modules/version-etc (Description): Update.
51083
51084 2009-01-22  Bruno Haible  <bruno@clisp.org>
51085
51086         Cache the C locale object.
51087         * lib/c-strtod.c (c_locale_cache): New variable.
51088         (c_locale): New function.
51089         (C_STRTOD): Use it, and don't call freelocale.
51090         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
51091         Suggested by Paolo Bonzini.
51092
51093 2009-01-21  Bruno Haible  <bruno@clisp.org>
51094
51095         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
51096         conditions other than overflow.
51097
51098 2009-01-21  Bruno Haible  <bruno@clisp.org>
51099
51100         * lib/c-strtod.c: Include errno.h.
51101         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
51102         value from STRTOD_L and STRTOD.
51103
51104 2009-01-21  Bruno Haible  <bruno@clisp.org>
51105         and Jim Meyering  <meyering@redhat.com>
51106
51107         nanosleep: skip configure test (fail it) for apple universal builds
51108         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
51109         universal builds, assume that nanosleep does not work.
51110         * modules/nanosleep (Depends-on): Add multiarch.
51111
51112         mktime: skip configure test (fail it) for apple universal builds
51113         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
51114         universal builds, assume that mktime does not work.
51115         * modules/mktime (Depends-on): Add multiarch.
51116
51117 2009-01-21  Eric Blake  <ebb9@byu.net>
51118
51119         multiarch: avoid expand-before-require warning
51120         * modules/multiarch (configure.ac): Require, rather than expand,
51121         gl_MULTIARCH.
51122         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
51123         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
51124         enforce that all clients require it.  Partial reversion of
51125         2008-12-29 patch.
51126
51127         error: avoid expand-before-require warning
51128         * modules/errno (configure.ac): Require, rather than expand,
51129         gl_HEADER_ERRNO_H.
51130         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
51131         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
51132         enforce that all clients require it.
51133
51134         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
51135         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
51136         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
51137         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
51138
51139 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
51140
51141         Revert:
51142         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51143
51144         regex: do not depend on obsolete modules.
51145         * modules/regex: Remove memcmp and memmove.
51146
51147 2009-01-20  Bruno Haible  <bruno@clisp.org>
51148
51149         Make the 'link' module link on Windows NT 4.
51150         * lib/link.c (_WIN32_WINNT): Don't define.
51151         (CreateHardLinkFuncType): New type.
51152         (CreateHardLinkFunc, initialized): New variables.
51153         (initialize): New function.
51154         (link): Invoke CreateHardLink indirectly through the function pointer.
51155
51156 2009-01-20  Bruno Haible  <bruno@clisp.org>
51157
51158         Fix compilation failure on mingw.
51159         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
51160
51161 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
51162
51163         * doc/c-strtod.texi: Mention a couple of restrictions.
51164
51165 2009-01-20  Jim Meyering  <meyering@redhat.com>
51166
51167         gettimeofday: move more declarations out of functions
51168         * lib/gettimeofday.c: Move extern declarations of tzset and
51169         gmtime out of containing functions.  Prompted by Bruno Haible.
51170
51171 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51172
51173         regex: do not depend on obsolete modules.
51174         * modules/regex: Remove memcmp and memmove.
51175
51176 2009-01-19  Bruno Haible  <bruno@clisp.org>
51177
51178         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51179         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
51180         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51181         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
51182         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
51183
51184 2009-01-19  Bruno Haible  <bruno@clisp.org>
51185
51186         * tests/test-link.c: Include <errno.h>.
51187         (main): Exit with code 77 when a hard link cannot be created due to
51188         the file system.
51189         * tests/test-link.sh: Skip test when a hard link cannot be created due
51190         to the file system.
51191         Suggested by Eric Blake.
51192
51193 2009-01-19  Martin Lambers  <marlam@marlam.de>
51194
51195         * modules/link-tests: New file.
51196         * tests/test-link.sh: New file.
51197         * tests/test-link.c: New file.
51198
51199 2009-01-19  Eric Blake  <ebb9@byu.net>
51200
51201         doc: mention another function added in cygwin 1.7.0
51202         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
51203         Another new function in cygwin 1.7.
51204
51205 2009-01-19  Bruno Haible  <bruno@clisp.org>
51206
51207         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51208         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
51209         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
51210         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51211         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
51212         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
51213         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
51214         * m4/md4.m4 (gl_MD4): Likewise.
51215         * m4/md5.m4 (gl_MD5): Likewise.
51216         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
51217         * m4/sha1.m4 (gl_SHA1): Likewise.
51218         * m4/sha256.m4 (gl_SHA256): Likewise.
51219         * m4/sha512.m4 (gl_SHA512): Likewise.
51220
51221 2009-01-19  Bruno Haible  <bruno@clisp.org>
51222
51223         * modules/uniname/uniname-tests (Depends-on): Add progname.
51224         * tests/uniname/test-uninames.c: Include progname.h.
51225         (main): Call set_program_name.
51226
51227         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
51228         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
51229         (main): Call set_program_name.
51230
51231         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
51232         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
51233         (main): Call set_program_name.
51234
51235         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
51236         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
51237         (main): Call set_program_name.
51238
51239         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
51240         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
51241         (main): Call set_program_name.
51242
51243         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
51244         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
51245         (main): Call set_program_name.
51246
51247         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
51248         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
51249         (main): Call set_program_name.
51250
51251         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
51252         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
51253         (main): Call set_program_name.
51254
51255         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
51256         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
51257         (main): Call set_program_name.
51258
51259 2009-01-19  Eric Blake  <ebb9@byu.net>
51260
51261         test-unistd: test previous patch
51262         * tests/test-unistd.c: Test *_FILENO macros.
51263
51264         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
51265         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51266         Guarantee a definition.
51267         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
51268         * modules/unistd-safer (Depends-on): Add dependency on unistd.
51269         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
51270         * lib/dup-safer.c (STDERR_FILENO): Likewise.
51271         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51272         Likewise.
51273         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
51274         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
51275         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51276         Likewise.
51277         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
51278         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
51279         (STDERR_FILENO): Likewise.
51280         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
51281         (STDERR_FILENO): Likewise.
51282         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
51283         (STDERR_FILENO): Likewise.
51284         Reported by Elbert Pol.
51285
51286 2009-01-19  Eric Blake  <ebb9@byu.net>
51287
51288         doc: mention more functions added in cygwin 1.7.0
51289         * doc/posix-functions/abort.texi (abort): Update wording related
51290         to cygwin.
51291         * doc/posix-functions/daylight.texi (daylight): Likewise.
51292         * doc/posix-functions/optarg.texi (optarg): Likewise.
51293         * doc/posix-functions/optarg.texi (opterr): Likewise.
51294         * doc/posix-functions/optarg.texi (optind): Likewise.
51295         * doc/posix-functions/optarg.texi (optopt): Likewise.
51296         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
51297         worked in 1.5.x, and was withdrawn in 1.7.
51298         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
51299         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
51300         cygwin versions.
51301         * doc/posix-functions/perror.texi (perror): Likewise.
51302         * doc/posix-functions/printf.texi (printf): Likewise.
51303         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
51304         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
51305         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
51306         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
51307         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
51308         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
51309         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51310         Likewise.
51311         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51312         Likewise.
51313         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
51314         this function.
51315         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
51316         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
51317         Likewise.
51318         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
51319         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
51320         * doc/posix-functions/confstr.texi (confstr): Likewise.
51321         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
51322         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
51323         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
51324         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
51325         * doc/posix-functions/fputws.texi (fputws): Likewise.
51326         * doc/posix-functions/fwide.texi (fwide): Likewise.
51327         * doc/posix-functions/getwc.texi (getwc): Likewise.
51328         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
51329         * doc/posix-functions/putwc.texi (putwc): Likewise.
51330         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
51331         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
51332         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
51333         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
51334         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
51335         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
51336         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
51337         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
51338         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
51339         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
51340         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
51341
51342 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51343
51344         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
51345         * lib/ioctl.c: Include <sys/ioctl.h>.
51346
51347 2009-01-19  Simon Josefsson  <simon@josefsson.org>
51348
51349         * modules/getdate-tests (Depends-on): Add progname.
51350         * tests/test-getdate.c: Use progname module, to avoid link errors
51351         on non-glibc systems.
51352
51353 2009-01-18  Simon Josefsson  <simon@josefsson.org>
51354
51355         * modules/filenamecat-tests (Depends-on): Add progname.
51356         * modules/fstrcmp-tests (Depends-on): Likewise.
51357
51358         * tests/test-filenamecat.c: Use progname module, to avoid link
51359         errors on non-glibc systems.
51360         * tests/test-fstrcmp.c: Likewise.
51361
51362 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51363
51364         gettimeofday: avoid warning: nested extern declaration of 'localtime'
51365         * lib/gettimeofday.c: Move extern declaration out of function.
51366
51367 2009-01-18  Bruno Haible  <bruno@clisp.org>
51368
51369         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
51370         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
51371         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
51372
51373 2009-01-18  Bruno Haible  <bruno@clisp.org>
51374
51375         * lib/strftime.c (MEMPCPY): Remove unused macro.
51376         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
51377
51378 2009-01-18  Martin Lambers  <marlam@marlam.de>
51379
51380         New module 'link'.
51381         * lib/unistd.in.h (link): New declaration.
51382         * lib/link.c: New file.
51383         * m4/link.m4: New file.
51384         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
51385         HAVE_LINK.
51386         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
51387         * modules/link: New file.
51388         * doc/posix-functions/link.texi: Mention the new module.
51389
51390 2009-01-18  Bruno Haible  <bruno@clisp.org>
51391
51392         * tests/test-avltree_list.c (main): Call set_program_name.
51393         * tests/test-avltree_oset.c (main): Likewise.
51394         * tests/test-obstack-printf.c: Include progname.h.
51395         (main): Call set_program_name.
51396         * tests/test-quotearg.c: Include progname.h.
51397         (main): Call set_program_name.
51398         * tests/test-xmemdup0.c: Include progname.h.
51399         (main): Call set_program_name.
51400
51401 2009-01-18  Bruno Haible  <bruno@clisp.org>
51402
51403         New module 'alphasort'.
51404         * lib/dirent.in.h (alphasort): New declaration.
51405         * lib/alphasort.c: New file, from glibc with modifications.
51406         * m4/alphasort.m4: New file.
51407         * modules/alphasort: New file.
51408         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
51409         HAVE_ALPHASORT.
51410         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
51411         HAVE_ALPHASORT.
51412         * doc/posix-functions/alphasort.texi: Mention the new module and the
51413         portability problems.
51414
51415 2009-01-18  Bruno Haible  <bruno@clisp.org>
51416
51417         New module 'scandir'.
51418         * lib/dirent.in.h (scandir): New declaration.
51419         * lib/scandir.c: New file, from glibc with modifications.
51420         * m4/scandir.m4: New file.
51421         * modules/scandir: New file.
51422         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
51423         HAVE_SCANDIR.
51424         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
51425         HAVE_SCANDIR.
51426         * doc/posix-functions/scandir.texi: Mention the new module and the
51427         portability problems.
51428
51429 2009-01-17  Bruno Haible  <bruno@clisp.org>
51430
51431         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
51432         Update documentation.
51433         (func_remove_suffix): Escape all dots in the suffix. Update
51434         documentation.
51435         (func_filter_filelist): Update documentation.
51436         Reported by Ralf Wildenhues.
51437
51438 2009-01-17  Bruno Haible  <bruno@clisp.org>
51439
51440         * modules/dprintf-posix-tests: New file.
51441         * tests/test-dprintf-posix.sh: New file.
51442         * tests/test-dprintf-posix.c: New file.
51443
51444         New modules 'dprintf', 'dprintf-posix'.
51445         * lib/stdio.in.h (dprintf): New declaration.
51446         * lib/dprintf.c: New file.
51447         * m4/dprintf.m4: New file.
51448         * m4/dprintf-posix.m4: New file.
51449         * modules/dprintf: New file.
51450         * modules/dprintf-posix: New file.
51451         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
51452         HAVE_DPRINTF, REPLACE_DPRINTF.
51453         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
51454         HAVE_DPRINTF, REPLACE_DPRINTF.
51455         * doc/posix-functions/dprintf.texi: Mention the new modules.
51456
51457 2009-01-17  Bruno Haible  <bruno@clisp.org>
51458
51459         * modules/vdprintf-posix-tests: New file.
51460         * tests/test-vdprintf-posix.sh: New file.
51461         * tests/test-vdprintf-posix.c: New file.
51462
51463         New modules 'vdprintf', 'vdprintf-posix'.
51464         * lib/stdio.in.h (vdprintf): New declaration.
51465         * lib/vdprintf.c: New file.
51466         * m4/vdprintf.m4: New file.
51467         * m4/vdprintf-posix.m4: New file.
51468         * modules/vdprintf: New file.
51469         * modules/vdprintf-posix: New file.
51470         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
51471         HAVE_VDPRINTF, REPLACE_VDPRINTF.
51472         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
51473         HAVE_VDPRINTF, REPLACE_VDPRINTF.
51474         * doc/posix-functions/vdprintf.texi: Mention the new modules.
51475
51476 2009-01-17  Bruno Haible  <bruno@clisp.org>
51477
51478         Fix replacement of fopen on mingw.
51479         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
51480         mingw.
51481
51482 2009-01-17  Bruno Haible  <bruno@clisp.org>
51483
51484         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
51485         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
51486
51487 2009-01-17  Bruno Haible  <bruno@clisp.org>
51488
51489         Avoid test-fflush2.sh failure on mingw.
51490         * tests/test-fflush2.c: Include binary-io.h.
51491         (main): Put standard input into binary mode.
51492         * modules/fflush-tests (Depends-on): Add binary-io.
51493
51494 2009-01-17  Bruno Haible  <bruno@clisp.org>
51495
51496         * lib/wchar.in.h: In another particular situation, include only the
51497         system's <wchar.h> file.
51498         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
51499         Reported by Albert Chin-A-Young <china@thewrittenword.com>
51500         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
51501
51502 2009-01-17  Bruno Haible  <bruno@clisp.org>
51503
51504         Support for stripping executables in --enable-relocatable.
51505         * build-aux/install-reloc: Expect one more argument, or an environment
51506         variable RELOC_STRIP_PROG. If set, strip the destination program and
51507         its wrapper.
51508         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
51509         RELOC_STRIP_PROG.
51510         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
51511         to set RELOCATABLE_STRIP.
51512         * NEWS: Mention the new Makefile requirement.
51513
51514 2009-01-17  Bruno Haible  <bruno@clisp.org>
51515
51516         * build-aux/install-reloc: Remove debugging information left over by
51517         C compiler on MacOS X.
51518
51519 2009-01-17  Bruno Haible  <bruno@clisp.org>
51520
51521         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
51522         * lib/progreloc.c (find_executable): Fix type of pointer passed to
51523         _NSGetExecutablePath.
51524
51525 2009-01-16  Jim Meyering  <meyering@redhat.com>
51526
51527         strerror: avoid warnings about discarding "const"
51528         * lib/strerror.c (rpl_strerror): Instead of returning a const
51529         string from each and every "case", use a variable, and add a single
51530         cast after the switch.
51531
51532 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
51533
51534         * lib/arpa_inet.in.h: Add extern "C" block for C++.
51535
51536 2009-01-16  Bruno Haible  <bruno@clisp.org>
51537
51538         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
51539         array initializer syntax that also works in C++ mode.
51540         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51541
51542 2009-01-16  Jim Meyering  <meyering@redhat.com>
51543
51544         poll: suppress a warning
51545         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
51546         to ignore "...unsigned expression < 0 is always false" warnings.
51547
51548 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
51549
51550         poll: remove declarations of unused variables
51551         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
51552         sockbuf and optlen.
51553
51554 2009-01-15  Bruno Haible  <bruno@clisp.org>
51555
51556         Make fflush-after-ungetc POSIX compliant on BSD systems.
51557         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
51558         (clear_ungetc_buffer): Implement also for other systems.
51559         (rpl_fflush): On glibc systems, invoke
51560         clear_ungetc_buffer_preserving_position. Otherwise, invoke
51561         clear_ungetc_buffer after fetching the stream's position, not before.
51562
51563 2009-01-15  Bruno Haible  <bruno@clisp.org>
51564
51565         Make fflush-after-ungetc POSIX compliant on glibc systems.
51566         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
51567         after ungetc.
51568         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
51569         (rpl_fflush): On glibc systems, simply call the system's fflush
51570         function after clearing the ungetc buffer.
51571         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
51572         Instead, lseek only to the end of file, then use the system's fseeko
51573         for the rest. On glibc systems, reset the EOF indicator bit.
51574
51575 2009-01-15  Jim Meyering  <meyering@redhat.com>
51576
51577         openmp.m4: revert quote-adding change, for portability to older autoconf
51578         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
51579         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
51580         Simon Josefsson noticed the problem when using autoconf-2.61.
51581
51582 2009-01-15  Bruno Haible  <bruno@clisp.org>
51583
51584         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
51585         * tests/test-fflush2.c (ASSERT): Always fail.
51586         (main): Add two tests for fflush() after ungetc(), taking into account
51587         the Austin Group's clarification.
51588         Suggested by Eric Blake.
51589
51590 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
51591
51592         mktime.m4: remove K&R-style function prototypes
51593         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
51594         for the Sun C++ compiler.
51595
51596 2009-01-14  Bruno Haible  <bruno@clisp.org>
51597
51598         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
51599         while including <wchar.h>.
51600         * lib/wchar.in.h: In two particular situations on HP-UX, include only
51601         the system's <wchar.h> file.
51602         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51603
51604 2009-01-14  Bruno Haible  <bruno@clisp.org>
51605
51606         * m4/csharp.m4: Don't mention gettext on the serial number line.
51607         * m4/csharpexec.m4: Likewise.
51608         * m4/eaccess.m4: Likewise.
51609         * m4/javaexec.m4: Likewise.
51610         * m4/sig_atomic_t.m4: Likewise.
51611         * m4/tmpdir.m4: Likewise.
51612         * m4/intldir.m4: Bump gettext version.
51613         * m4/lib-ld.m4: Likewise.
51614
51615 2009-01-14  Bruno Haible  <bruno@clisp.org>
51616
51617         * lib/progname.c (set_program_name): Add more comments.
51618         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
51619
51620 2009-01-14  Simon Josefsson  <simon@josefsson.org>
51621
51622         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
51623         were sys/stat.h does not define it.
51624
51625 2009-01-14  Jim Meyering  <meyering@redhat.com>
51626
51627         many *.m4 files: improve m4 quoting
51628         99% of this change was performed by running the following commands:
51629         git ls-files | grep '\.m4$' | xargs perl -pi \
51630           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
51631           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
51632           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
51633           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
51634         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
51635         The remainder were to add Copyright dates, increment serial numbers,
51636         undo some changes in comments, exclude m4/intl.m4, and add quotes
51637         around the "1" in ",1" where the unusual spacing prohibited the
51638         above regexps from doing the job.  For more details, see
51639         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
51640         * m4/acl.m4: Modified.
51641         * m4/afs.m4: Likewise.
51642         * m4/alloca.m4: Likewise.
51643         * m4/argp.m4: Likewise.
51644         * m4/argz.m4: Likewise.
51645         * m4/atexit.m4: Likewise.
51646         * m4/bison-i18n.m4: Likewise.
51647         * m4/bison.m4: Likewise.
51648         * m4/byteswap.m4: Likewise.
51649         * m4/c-stack.m4: Likewise.
51650         * m4/c-strtod.m4: Likewise.
51651         * m4/calloc.m4: Likewise.
51652         * m4/canonicalize-lgpl.m4: Likewise.
51653         * m4/chown.m4: Likewise.
51654         * m4/clock_time.m4: Likewise.
51655         * m4/codeset.m4: Likewise.
51656         * m4/copy-file.m4: Likewise.
51657         * m4/csharp.m4: Likewise.
51658         * m4/csharpcomp.m4: Likewise.
51659         * m4/csharpexec.m4: Likewise.
51660         * m4/d-ino.m4: Likewise.
51661         * m4/d-type.m4: Likewise.
51662         * m4/dirfd.m4: Likewise.
51663         * m4/double-slash-root.m4: Likewise.
51664         * m4/eaccess.m4: Likewise.
51665         * m4/eealloc.m4: Likewise.
51666         * m4/environ.m4: Likewise.
51667         * m4/errno_h.m4: Likewise.
51668         * m4/euidaccess.m4: Likewise.
51669         * m4/execute.m4: Likewise.
51670         * m4/fatal-signal.m4: Likewise.
51671         * m4/fchdir.m4: Likewise.
51672         * m4/fcntl_h.m4: Likewise.
51673         * m4/fileblocks.m4: Likewise.
51674         * m4/filenamecat.m4: Likewise.
51675         * m4/findprog.m4: Likewise.
51676         * m4/flexmember.m4: Likewise.
51677         * m4/fnmatch.m4: Likewise.
51678         * m4/fopen.m4: Likewise.
51679         * m4/fpending.m4: Likewise.
51680         * m4/fprintf-posix.m4: Likewise.
51681         * m4/free.m4: Likewise.
51682         * m4/frexp.m4: Likewise.
51683         * m4/frexpl.m4: Likewise.
51684         * m4/fsusage.m4: Likewise.
51685         * m4/ftruncate.m4: Likewise.
51686         * m4/gc-camellia.m4: Likewise.
51687         * m4/gc-random.m4: Likewise.
51688         * m4/gc.m4: Likewise.
51689         * m4/getaddrinfo.m4: Likewise.
51690         * m4/getcwd-abort-bug.m4: Likewise.
51691         * m4/getcwd-path-max.m4: Likewise.
51692         * m4/getdate.m4: Likewise.
51693         * m4/getdomainname.m4: Likewise.
51694         * m4/getgroups.m4: Likewise.
51695         * m4/gethostname.m4: Likewise.
51696         * m4/gethrxtime.m4: Likewise.
51697         * m4/getline.m4: Likewise.
51698         * m4/getloadavg.m4: Likewise.
51699         * m4/getndelim2.m4: Likewise.
51700         * m4/getpass.m4: Likewise.
51701         * m4/gettext.m4: Likewise.
51702         * m4/gettime.m4: Likewise.
51703         * m4/gettimeofday.m4: Likewise.
51704         * m4/gnulib-common.m4: Likewise.
51705         * m4/group-member.m4: Likewise.
51706         * m4/host-os.m4: Likewise.
51707         * m4/iconv.m4: Likewise.
51708         * m4/iconv_open.m4: Likewise.
51709         * m4/inet_ntop.m4: Likewise.
51710         * m4/inet_pton.m4: Likewise.
51711         * m4/inline.m4: Likewise.
51712         * m4/intldir.m4: Likewise.
51713         * m4/intlmacosx.m4: Likewise.
51714         * m4/intmax.m4: Likewise.
51715         * m4/intmax_t.m4: Likewise.
51716         * m4/inttypes.m4: Likewise.
51717         * m4/inttypes_h.m4: Likewise.
51718         * m4/inttypes-pri.m4: Likewise.
51719         * m4/isapipe.m4: Likewise.
51720         * m4/isnand.m4: Likewise.
51721         * m4/isnanf.m4: Likewise.
51722         * m4/isnanl.m4: Likewise.
51723         * m4/javacomp.m4: Likewise.
51724         * m4/javaexec.m4: Likewise.
51725         * m4/jm-winsz1.m4: Likewise.
51726         * m4/jm-winsz2.m4: Likewise.
51727         * m4/lchown.m4: Likewise.
51728         * m4/lcmessage.m4: Likewise.
51729         * m4/ldexpl.m4: Likewise.
51730         * m4/lib-ld.m4: Likewise.
51731         * m4/lib-link.m4: Likewise.
51732         * m4/libsigsegv.m4: Likewise.
51733         * m4/link-follow.m4: Likewise.
51734         * m4/localcharset.m4: Likewise.
51735         * m4/locale-fr.m4: Likewise.
51736         * m4/locale-ja.m4: Likewise.
51737         * m4/locale-tr.m4: Likewise.
51738         * m4/locale-zh.m4: Likewise.
51739         * m4/lock.m4: Likewise.
51740         * m4/longlong.m4: Likewise.
51741         * m4/ls-mntd-fs.m4: Likewise.
51742         * m4/lstat.m4: Likewise.
51743         * m4/malloc.m4: Likewise.
51744         * m4/mathl.m4: Likewise.
51745         * m4/mbrtowc.m4: Likewise.
51746         * m4/mbstate_t.m4: Likewise.
51747         * m4/mbswidth.m4: Likewise.
51748         * m4/memchr.m4: Likewise.
51749         * m4/memcmp.m4: Likewise.
51750         * m4/memcpy.m4: Likewise.
51751         * m4/memmem.m4: Likewise.
51752         * m4/memmove.m4: Likewise.
51753         * m4/mempcpy.m4: Likewise.
51754         * m4/memrchr.m4: Likewise.
51755         * m4/memset.m4: Likewise.
51756         * m4/minmax.m4: Likewise.
51757         * m4/mkdir-slash.m4: Likewise.
51758         * m4/mkdtemp.m4: Likewise.
51759         * m4/mktime.m4: Likewise.
51760         * m4/mmap-anon.m4: Likewise.
51761         * m4/mountlist.m4: Likewise.
51762         * m4/nanosleep.m4: Likewise.
51763         * m4/nls.m4: Likewise.
51764         * m4/nocrash.m4: Likewise.
51765         * m4/open.m4: Likewise.
51766         * m4/openat.m4: Likewise.
51767         * m4/openmp.m4: Likewise.
51768         * m4/pathmax.m4: Likewise.
51769         * m4/perl.m4: Likewise.
51770         * m4/physmem.m4: Likewise.
51771         * m4/pipe.m4: Likewise.
51772         * m4/po.m4: Likewise.
51773         * m4/poll.m4: Likewise.
51774         * m4/posixtm.m4: Likewise.
51775         * m4/posixver.m4: Likewise.
51776         * m4/printf-frexp.m4: Likewise.
51777         * m4/printf-frexpl.m4: Likewise.
51778         * m4/printf-posix.m4: Likewise.
51779         * m4/printf-posix-rpl.m4: Likewise.
51780         * m4/printf.m4: Likewise.
51781         * m4/progtest.m4: Likewise.
51782         * m4/putenv.m4: Likewise.
51783         * m4/readline.m4: Likewise.
51784         * m4/readlink.m4: Likewise.
51785         * m4/readutmp.m4: Likewise.
51786         * m4/realloc.m4: Likewise.
51787         * m4/regex.m4: Likewise.
51788         * m4/relocatable.m4: Likewise.
51789         * m4/relocatable-lib.m4: Likewise.
51790         * m4/rename-dest-slash.m4: Likewise.
51791         * m4/rename.m4: Likewise.
51792         * m4/rmdir-errno.m4: Likewise.
51793         * m4/rmdir.m4: Likewise.
51794         * m4/roundf.m4: Likewise.
51795         * m4/roundl.m4: Likewise.
51796         * m4/rpmatch.m4: Likewise.
51797         * m4/save-cwd.m4: Likewise.
51798         * m4/selinux-selinux-h.m4: Likewise.
51799         * m4/setenv.m4: Likewise.
51800         * m4/settime.m4: Likewise.
51801         * m4/sig2str.m4: Likewise.
51802         * m4/sig_atomic_t.m4: Likewise.
51803         * m4/signalblocking.m4: Likewise.
51804         * m4/signbit.m4: Likewise.
51805         * m4/sigpipe.m4: Likewise.
51806         * m4/sockets.m4: Likewise.
51807         * m4/sockpfaf.m4: Likewise.
51808         * m4/st_dm_mode.m4: Likewise.
51809         * m4/stat-time.m4: Likewise.
51810         * m4/stdbool.m4: Likewise.
51811         * m4/stdint.m4: Likewise.
51812         * m4/stdint_h.m4: Likewise.
51813         * m4/stpcpy.m4: Likewise.
51814         * m4/stpncpy.m4: Likewise.
51815         * m4/strcase.m4: Likewise.
51816         * m4/strchrnul.m4: Likewise.
51817         * m4/strcspn.m4: Likewise.
51818         * m4/strdup.m4: Likewise.
51819         * m4/strftime.m4: Likewise.
51820         * m4/strndup.m4: Likewise.
51821         * m4/strnlen.m4: Likewise.
51822         * m4/strpbrk.m4: Likewise.
51823         * m4/strptime.m4: Likewise.
51824         * m4/strsep.m4: Likewise.
51825         * m4/strtod.m4: Likewise.
51826         * m4/strtoimax.m4: Likewise.
51827         * m4/strtok_r.m4: Likewise.
51828         * m4/strtol.m4: Likewise.
51829         * m4/strtoll.m4: Likewise.
51830         * m4/strtoul.m4: Likewise.
51831         * m4/strtoull.m4: Likewise.
51832         * m4/strtoumax.m4: Likewise.
51833         * m4/strverscmp.m4: Likewise.
51834         * m4/threadlib.m4: Likewise.
51835         * m4/timegm.m4: Likewise.
51836         * m4/tm_gmtoff.m4: Likewise.
51837         * m4/tmpdir.m4: Likewise.
51838         * m4/tmpfile.m4: Likewise.
51839         * m4/tzset.m4: Likewise.
51840         * m4/uintmax_t.m4: Likewise.
51841         * m4/unlinkdir.m4: Likewise.
51842         * m4/unlocked-io.m4: Likewise.
51843         * m4/uptime.m4: Likewise.
51844         * m4/userspec.m4: Likewise.
51845         * m4/utimbuf.m4: Likewise.
51846         * m4/utime.m4: Likewise.
51847         * m4/utimes-null.m4: Likewise.
51848         * m4/utimes.m4: Likewise.
51849         * m4/vararrays.m4: Likewise.
51850         * m4/vasnprintf.m4: Likewise.
51851         * m4/vfprintf-posix.m4: Likewise.
51852         * m4/vprintf-posix.m4: Likewise.
51853         * m4/wait-process.m4: Likewise.
51854         * m4/wchar_t.m4: Likewise.
51855         * m4/wint_t.m4: Likewise.
51856         * m4/write-any-file.m4: Likewise.
51857         * m4/yield.m4: Likewise.
51858
51859 2009-01-13  Bruno Haible  <bruno@clisp.org>
51860
51861         Avoid test-copy-file.sh failures when ACL support insufficient.
51862         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
51863         TESTS_ENVIRONMENT.
51864         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
51865         Reported by Jim Meyering.
51866
51867 2009-01-13  Bruno Haible  <bruno@clisp.org>
51868
51869         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
51870         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
51871         * modules/unistdio/u8-printf-parse (Files): Likewise.
51872         * modules/unistdio/u32-printf-parse (Files): Likewise.
51873         * modules/unistdio/ulc-printf-parse (Files): Likewise.
51874
51875 2009-01-13  Simon Josefsson  <simon@josefsson.org>
51876
51877         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
51878         and m4/inttypes_h.m4 too.
51879
51880 2009-01-12  Eric Blake  <ebb9@byu.net>
51881
51882         tests: IRIX 6.2 cc can't compile -0.0 into .data
51883         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
51884         rather than at compile-time.
51885         * tests/test-floorl.c (minus_zero): Likewise.
51886         * tests/test-frexpl.c (minus_zero): Likewise.
51887         * tests/test-isnan.c (minus_zerol): Likewise.
51888         * tests/test-isnanl.h (minus_zero): Likewise.
51889         * tests/test-ldexpl.c (minus_zero): Likewise.
51890         * tests/test-roundl.c (minus_zero): Likewise.
51891         * tests/test-signbit.c (minus_zerol): Likewise.
51892         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
51893         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
51894         * tests/test-truncl.c (minus_zero): Likewise.
51895         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
51896         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
51897         Reported by Tom G. Christensen and Nelson H. F. Beebe.
51898
51899 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
51900
51901         regex: fix glibc bug 9697
51902         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
51903         handling.
51904
51905 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
51906
51907         regex: fix glibc bug 697
51908         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
51909         being NULL also if there are no backreferences.
51910
51911 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
51912
51913         regex: merge glibc changes
51914         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
51915         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
51916         re_string_skip_chars, re_string_reconstruct): Likewise.
51917         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
51918
51919 2009-01-07  Jim Meyering  <meyering@redhat.com>
51920
51921         poll: filter through cppi
51922         * lib/poll.c: Indent cpp directives to reflect nesting.
51923
51924 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
51925
51926         poll: don't return uninitialized
51927         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
51928
51929 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
51930
51931         avoid compile failure on AIX 6.1
51932         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
51933         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
51934
51935 2009-01-04  Jim Meyering  <meyering@redhat.com>
51936
51937         remove duplicate inclusion of <stdio.h>
51938         * tests/test-fprintf-posix.c: Likewise.
51939         * tests/test-printf-posix.c: Likewise.
51940         * tests/test-snprintf-posix.c: Likewise.
51941         * tests/test-sprintf-posix.c: Likewise.
51942         * tests/test-vasprintf-posix.c: Likewise.
51943         * tests/test-vfprintf-posix.c: Likewise.
51944         * tests/test-vprintf-posix.c: Likewise.
51945         * tests/test-vsnprintf-posix.c: Likewise.
51946         * tests/test-vsprintf-posix.c: Likewise.
51947
51948 2009-01-03  Jim Meyering  <meyering@redhat.com>
51949
51950         gnulib-tool: fix sed-based filtering
51951         * gnulib-tool (func_filter_filelist): Remove extra backslash
51952         in sed_fff_filter definition.
51953
51954 2009-01-02  Jim Meyering  <meyering@redhat.com>
51955
51956         strftime: avoid compilation failure on Solaris 2.6
51957         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
51958         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
51959         Don't #define mbrlen or mbsinit, since now they're guaranteed to
51960         be available.  Reported by Tom G. Christensen.  Details in
51961         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
51962
51963 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51964             Bruno Haible  <bruno@clisp.org>
51965
51966         Speed up gnulib-tool by doing more string processing through shell
51967         built-ins.
51968         * gnulib-tool (fast_func_append): New variable.
51969         (func_remove_prefix, func_remove_suffix): New functions.
51970         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
51971         (func_filter_filelist): New function.
51972         (func_get_dependencies): Use func_remove_suffix instead of sed.
51973         (func_get_automake_snippet): Use func_filter_filelist instead of a
51974         subshell and sed invocation.
51975
51976 2009-01-01  Bruno Haible  <bruno@clisp.org>
51977
51978         Fix a security bug.
51979         * gnulib-tool (func_import, import, update): Don't allow the characters
51980         '"', '$', '`', '\' in macro arguments that become part of commands that
51981         are evaluated.
51982
51983 2009-01-01  Bruno Haible  <bruno@clisp.org>
51984
51985         * gnulib-tool (func_reset_sigpipe): Add more comments.
51986
51987 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51988
51989         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
51990         func_emit_tests_Makefile_am, func_import): Abort loops early if we
51991         already know the answer.
51992
51993 2009-01-01  Jim Meyering  <meyering@redhat.com>
51994
51995         * lib/version-etc.c (version_etc_va): Update copyright year.
51996
51997 2008-12-30  Bruno Haible  <bruno@clisp.org>
51998
51999         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
52000         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
52001         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
52002
52003 2008-12-29  Eric Blake  <ebb9@byu.net>
52004
52005         multiarch: avoid autoconf AC_REQUIRE bug
52006         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
52007         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
52008         2.63 and older.
52009         Reported by Bruno Haible, and analyzed in
52010         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
52011
52012 2008-12-29  Bruno Haible  <bruno@clisp.org>
52013
52014         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
52015         files in subdirectories correctly.
52016         Reported by Ralf Wildenhues.
52017
52018 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52019
52020         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
52021         rather than 'join FILE -', for Solaris join.
52022
52023 2008-12-29  Bruno Haible  <bruno@clisp.org>
52024
52025         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
52026         quoting.
52027         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
52028         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
52029         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
52030         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
52031         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
52032         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
52033         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
52034         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
52035         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
52036         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
52037         * m4/nls.m4 (AM_NLS): Likewise.
52038         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
52039         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
52040         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
52041         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
52042         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
52043         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
52044         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
52045         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
52046         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
52047         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52048         * m4/xsize.m4 (gl_XSIZE): Likewise.
52049         Suggested by Jim Meyering.
52050
52051 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52052
52053         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
52054         * lib/parse-duration.c: use a switch instead of cascading if's.
52055
52056 2008-12-29  Eric Blake  <ebb9@byu.net>
52057
52058         wchar.h: supply WEOF on Irix 5.3
52059         * lib/wchar.in.h (wint_t): Also supply WEOF.
52060         * lib/wctype.in.h (wint_t): Likewise.
52061         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
52062         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
52063         Reported by Tom G. Christensen.
52064
52065 2008-12-26  Bruno Haible  <bruno@clisp.org>
52066
52067         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
52068         i486, i586, i686.
52069
52070 2008-12-26  Bruno Haible  <bruno@clisp.org>
52071
52072         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
52073
52074 2008-12-26  Bruno Haible  <bruno@clisp.org>
52075
52076         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
52077         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
52078         not __STDC_CONSTANT_MACROS.
52079         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52080
52081 2008-12-25  Bruno Haible  <bruno@clisp.org>
52082
52083         Add support for universal builds to vasnprintf.
52084         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
52085         universal builds, guess no.
52086         * modules/vasnprintf-posix (Depends-on): Add multiarch.
52087         * modules/vasprintf-posix (Depends-on): Likewise.
52088         * modules/fprintf-posix (Depends-on): Likewise.
52089         * modules/vfprintf-posix (Depends-on): Likewise.
52090         * modules/snprintf-posix (Depends-on): Likewise.
52091         * modules/vsnprintf-posix (Depends-on): Likewise.
52092         * modules/sprintf-posix (Depends-on): Likewise.
52093         * modules/vsprintf-posix (Depends-on): Likewise.
52094         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52095         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52096         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52097         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52098         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52099         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52100         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52101
52102         Add support for universal builds to <inttypes.h>.
52103         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
52104         _SCNu64_PREFIX): In Apple
52105         universal builds, define directly, using _LP64.
52106         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
52107         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
52108         * modules/inttypes (Depends-on): Add multiarch.
52109         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52110
52111         Add support for universal builds to <stdint.h>.
52112         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
52113         universal builds, define directly, using _LP64.
52114         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
52115         Apple universal builds, don't test for the size and suffix of ptrdiff_t
52116         and size_t.
52117         * modules/stdint (Depends-on): Add multiarch.
52118         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52119
52120         New module 'multiarch'.
52121         * modules/multiarch: New file.
52122         * m4/multiarch.m4: New file.
52123
52124 2008-12-25  Bruno Haible  <bruno@clisp.org>
52125
52126         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
52127
52128 2008-12-25  Bruno Haible  <bruno@clisp.org>
52129
52130         * modules/btowc (License): Relicense under LGPLv2+.
52131         * modules/mbsinit (License): Likewise.
52132         * modules/mbrtowc (License): Likewise.
52133         * modules/wcrtomb (License): Likewise.
52134         * modules/streq (License): Likewise.
52135         Reported by David Lutterkort <lutter@redhat.com>.
52136
52137 2008-12-23  Bruno Haible  <bruno@clisp.org>
52138
52139         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
52140
52141 2008-12-23  Bruno Haible  <bruno@clisp.org>
52142
52143         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
52144         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
52145         GETADDRINFO_LIB, not in LIBS.
52146         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
52147         * modules/canon-host (Link): Likewise.
52148         * NEWS: Mention the change.
52149         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
52150         GETADDRINFO_LIB.
52151
52152 2008-12-22  Bruno Haible  <bruno@clisp.org>
52153
52154         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
52155         * doc/posix-functions/iswalpha_l.texi: Likewise.
52156         * doc/posix-functions/iswblank_l.texi: Likewise.
52157         * doc/posix-functions/iswcntrl_l.texi: Likewise.
52158         * doc/posix-functions/iswctype_l.texi: Likewise.
52159         * doc/posix-functions/iswdigit_l.texi: Likewise.
52160         * doc/posix-functions/iswgraph_l.texi: Likewise.
52161         * doc/posix-functions/iswlower_l.texi: Likewise.
52162         * doc/posix-functions/iswprint_l.texi: Likewise.
52163         * doc/posix-functions/iswpunct_l.texi: Likewise.
52164         * doc/posix-functions/iswspace_l.texi: Likewise.
52165         * doc/posix-functions/iswupper_l.texi: Likewise.
52166         * doc/posix-functions/iswxdigit_l.texi: Likewise.
52167         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
52168         * doc/posix-functions/open_wmemstream.texi: Likewise.
52169         * doc/posix-functions/swscanf.texi: Likewise.
52170         * doc/posix-functions/towctrans_l.texi: Likewise.
52171         * doc/posix-functions/towlower.texi: Likewise.
52172         * doc/posix-functions/towlower_l.texi: Likewise.
52173         * doc/posix-functions/towupper.texi: Likewise.
52174         * doc/posix-functions/towupper_l.texi: Likewise.
52175         * doc/posix-functions/vfwprintf.texi: Likewise.
52176         * doc/posix-functions/vfwscanf.texi: Likewise.
52177         * doc/posix-functions/vswscanf.texi: Likewise.
52178         * doc/posix-functions/vwprintf.texi: Likewise.
52179         * doc/posix-functions/vwscanf.texi: Likewise.
52180         * doc/posix-functions/wcpcpy.texi: Likewise.
52181         * doc/posix-functions/wcpncpy.texi: Likewise.
52182         * doc/posix-functions/wcscasecmp.texi: Likewise.
52183         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
52184         * doc/posix-functions/wcscoll_l.texi: Likewise.
52185         * doc/posix-functions/wcsdup.texi: Likewise.
52186         * doc/posix-functions/wcsncasecmp.texi: Likewise.
52187         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
52188         * doc/posix-functions/wcsnlen.texi: Likewise.
52189         * doc/posix-functions/wcsnrtombs.texi: Likewise.
52190         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
52191         * doc/posix-functions/wctrans_l.texi: Likewise.
52192         * doc/posix-functions/wctype_l.texi: Likewise.
52193         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
52194         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
52195         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
52196         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
52197         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
52198         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
52199         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
52200         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
52201         * doc/glibc-functions/wcschrnul.texi: Likewise.
52202         * doc/glibc-functions/wcsftime_l.texi: Likewise.
52203         * doc/glibc-functions/wcstod_l.texi: Likewise.
52204         * doc/glibc-functions/wcstof_l.texi: Likewise.
52205         * doc/glibc-functions/wcstol_l.texi: Likewise.
52206         * doc/glibc-functions/wcstold_l.texi: Likewise.
52207         * doc/glibc-functions/wcstoll_l.texi: Likewise.
52208         * doc/glibc-functions/wcstoq.texi: Likewise.
52209         * doc/glibc-functions/wcstoul_l.texi: Likewise.
52210         * doc/glibc-functions/wcstoull_l.texi: Likewise.
52211         * doc/glibc-functions/wcstouq.texi: Likewise.
52212         * doc/glibc-functions/wmempcpy.texi: Likewise.
52213
52214 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
52215             Eric Blake  <ebb9@byu.net>
52216             Paolo Bonzini  <bonzini@gnu.org>
52217             Bruno Haible  <bruno@clisp.org>
52218
52219         Make c-stack work on Haiku.
52220         * lib/c-stack.c (SA_ONSTACK): Define fallback.
52221         (c_stack_action): Use SA_ONSTACK flag.
52222
52223 2008-12-22  Bruno Haible  <bruno@clisp.org>
52224
52225         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
52226
52227 2008-12-22  Bruno Haible  <bruno@clisp.org>
52228
52229         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
52230         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
52231         being overridden.
52232         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
52233         New macros.
52234         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
52235         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
52236         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
52237         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
52238
52239 2008-12-22  Bruno Haible  <bruno@clisp.org>
52240
52241         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
52242         from test code.
52243
52244 2008-12-22  Eric Blake  <ebb9@byu.net>
52245
52246         Avoid gcc warnings on cygwin.
52247         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
52248         Avoid unused variable.
52249         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
52250         Likewise.
52251
52252 2008-12-22  Bruno Haible  <bruno@clisp.org>
52253
52254         Remove HAVE_MBRTOWC conditionals.
52255         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
52256         (mbscasecmp): Assume mbrtowc function.
52257         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
52258         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
52259         * lib/mbschr.c: Include mbuiter.h unconditionally.
52260         (mbschr): Assume mbrtowc function.
52261         * lib/mbscspn.c: Include mbuiter.h unconditionally.
52262         (mbscspn): Assume mbrtowc function.
52263         * lib/mbslen.c: Include mbuiter.h unconditionally.
52264         (mbslen): Assume mbrtowc function.
52265         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
52266         (mbsncasecmp): Assume mbrtowc function.
52267         * lib/mbsnlen.c: Include mbiter.h unconditionally.
52268         (mbsnlen): Assume mbrtowc function.
52269         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
52270         (mbspbrk): Assume mbrtowc function.
52271         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
52272         (mbspcasecmp): Assume mbrtowc function.
52273         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
52274         (mbsrchr): Assume mbrtowc function.
52275         * lib/mbssep.c: Include mbuiter.h unconditionally.
52276         (mbssep): Assume mbrtowc function.
52277         * lib/mbsspn.c: Include mbuiter.h unconditionally.
52278         (mbsspn): Assume mbrtowc function.
52279         * lib/mbsstr.c: Include mbuiter.h unconditionally.
52280         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
52281         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
52282         (mbstok_r): Assume mbrtowc function.
52283         * lib/propername.c: Include mbuiter.h unconditionally.
52284         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
52285         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
52286         (trim2): Assume mbrtowc function.
52287         * lib/mbswidth.c (mbsinit): Remove fallback definition.
52288         (mbsnwidth): Assume mbrtowc function.
52289         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
52290         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
52291         fallback definitions.
52292         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
52293
52294 2008-12-22  Bruno Haible  <bruno@clisp.org>
52295
52296         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
52297
52298 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
52299
52300         * modules/regex: Request emulations for the mb*/wc* functions we need.
52301         * m4/regex.m4: Don't look for those functions here.
52302         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
52303
52304 2008-12-22  Bruno Haible  <bruno@clisp.org>
52305
52306         * modules/fnmatch (Depends-on): Remove duplicated dependency.
52307
52308 2008-12-21  Bruno Haible  <bruno@clisp.org>
52309
52310         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
52311         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
52312         (Include): Remove conditionalization.
52313         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
52314         (Include): Remove conditionalization.
52315         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
52316         (Include): Remove conditionalization.
52317         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
52318         * m4/mbfile.m4 (gl_MBFILE): Likewise.
52319         * NEWS: Mention the change.
52320         Reported by Alan Hourihane <alanh@fairlite.co.uk>
52321         via Sergey Poznyakoff <gray@gnu.org.ua>.
52322
52323 2008-12-21  Bruno Haible  <bruno@clisp.org>
52324
52325         * MODULES.html.sh (Extended multibyte and wide character utilities
52326         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
52327         wcrtomb, wcsrtombs.
52328         (Support for systems lacking POSIX:2008): Add accept, bind, close,
52329         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
52330         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
52331         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
52332
52333 2008-12-21  Bruno Haible  <bruno@clisp.org>
52334
52335         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
52336
52337 2008-12-21  Bruno Haible  <bruno@clisp.org>
52338
52339         * modules/wcsnrtombs-tests: New file.
52340         * tests/test-wcsnrtombs1.sh: New file.
52341         * tests/test-wcsnrtombs2.sh: New file.
52342         * tests/test-wcsnrtombs3.sh: New file.
52343         * tests/test-wcsnrtombs4.sh: New file.
52344         * tests/test-wcsnrtombs.c: New file.
52345
52346         New module 'wcsnrtombs'.
52347         * lib/wchar.in.h (wcsnrtombs): New declaration.
52348         * lib/wcsnrtombs.c: New file.
52349         * lib/wcsrtombs-state.c: New file.
52350         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
52351         (internal_state): Remove variable.
52352         * m4/wcsnrtombs.m4: New file.
52353         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
52354         compilation units.
52355         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
52356         HAVE_WCSNRTOMBS.
52357         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
52358         HAVE_WCSNRTOMBS.
52359         * modules/wcsnrtombs: New file.
52360         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
52361         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
52362
52363 2008-12-21  Bruno Haible  <bruno@clisp.org>
52364
52365         * modules/wcsrtombs-tests: New file.
52366         * tests/test-wcsrtombs1.sh: New file.
52367         * tests/test-wcsrtombs2.sh: New file.
52368         * tests/test-wcsrtombs3.sh: New file.
52369         * tests/test-wcsrtombs4.sh: New file.
52370         * tests/test-wcsrtombs.c: New file.
52371
52372         New module 'wcsrtombs'.
52373         * lib/wchar.in.h (wcsrtombs): New declaration.
52374         * lib/wcsrtombs.c: New file.
52375         * m4/wcsrtombs.m4: New file.
52376         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
52377         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52378         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
52379         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52380         * modules/wcsrtombs: New file.
52381         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
52382         bugs.
52383
52384 2008-12-21  Bruno Haible  <bruno@clisp.org>
52385
52386         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
52387         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
52388         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
52389         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
52390         if not correct.
52391         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
52392         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
52393         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52394         m4/locale-zh.m4, m4/codeset.m4.
52395         * doc/posix-functions/wcrtomb.texi: Document the bug.
52396
52397 2008-12-21  Bruno Haible  <bruno@clisp.org>
52398
52399         Work around a btowc() bug on IRIX 6.5.
52400         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
52401         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
52402         REPLACE_WTOBC if not.
52403         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
52404         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
52405         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
52406
52407 2008-12-21  Bruno Haible  <bruno@clisp.org>
52408
52409         * modules/wcrtomb-tests: New file.
52410         * tests/test-wcrtomb.sh: New file.
52411         * tests/test-wcrtomb.c: New file.
52412
52413         New module 'wcrtomb'.
52414         * lib/wchar.in.h (wcrtomb): New declaration.
52415         * lib/wcrtomb.c: New file.
52416         * m4/wcrtomb.m4: New file.
52417         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
52418         HAVE_WCRTOMB.
52419         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
52420         HAVE_WCRTOMB.
52421         * modules/wcrtomb: New file.
52422         * doc/posix-functions/wcrtomb.texi: Mention the new module.
52423
52424 2008-12-21  Bruno Haible  <bruno@clisp.org>
52425
52426         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
52427         * modules/mbsrtowcs (Files): Likewise.
52428         * modules/wctob (Files): Likewise.
52429         * modules/c-strcase-tests (Files): Likewise.
52430         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
52431         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
52432         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
52433         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
52434         * modules/vasnprintf-posix-tests (Files): Likewise.
52435
52436 2008-12-21  William Pursell  <bill.pursell@gmail.com>
52437
52438         gitlog-to-changelog: pass all command-line arguments to git-log
52439         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
52440         it is sometimes convenient to filter the commits in various ways.
52441         gitlog-to-changelog only allows --since to specify a start date,
52442         but git-log itself supports many other filtering mechanisms.
52443         At the moment, I want to filter by branch name.  Rather than
52444         adding a --branch option to gitlog-to-changelog, it seems more
52445         flexible to simply pass all options directly to git-log and let
52446         git do the work.  Notice that this effectively makes --since a
52447         redundant option for gitlog-to-changelog, but removing it would
52448         require current usage to change since calls would then require
52449         an additional '--'.
52450
52451 2008-12-21  Bruno Haible  <bruno@clisp.org>
52452
52453         * modules/mbsnrtowcs-tests: New file.
52454         * tests/test-mbsnrtowcs1.sh: New file.
52455         * tests/test-mbsnrtowcs2.sh: New file.
52456         * tests/test-mbsnrtowcs3.sh: New file.
52457         * tests/test-mbsnrtowcs4.sh: New file.
52458         * tests/test-mbsnrtowcs.c: New file.
52459
52460         New module 'mbsnrtowcs'.
52461         * lib/wchar.in.h (mbsnrtowcs): New declaration.
52462         * lib/mbsnrtowcs.c: New file.
52463         * lib/mbsrtowcs-state.c: New file.
52464         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
52465         (internal_state): Remove variable.
52466         * m4/mbsnrtowcs.m4: New file.
52467         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
52468         compilation units.
52469         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
52470         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
52471         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
52472         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
52473         * modules/mbsnrtowcs: New file.
52474         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
52475         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
52476         portability problem.
52477
52478 2008-12-21  Bruno Haible  <bruno@clisp.org>
52479
52480         Work around mbsrtowcs bug.
52481         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
52482         (gl_FUNC_MBSRTOWCS): Invoke it.
52483         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52484         m4/locale-zh.m4.
52485         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
52486
52487 2008-12-21  Bruno Haible  <bruno@clisp.org>
52488
52489         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
52490
52491 2008-12-21  Bruno Haible  <bruno@clisp.org>
52492
52493         Update doc for AIX.
52494         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
52495         16-bit wchar_t type.
52496         * doc/posix-functions/btowc.texi: Likewise.
52497         * doc/posix-functions/fgetwc.texi: Likewise.
52498         * doc/posix-functions/fgetws.texi: Likewise.
52499         * doc/posix-functions/fputwc.texi: Likewise.
52500         * doc/posix-functions/fputws.texi: Likewise.
52501         * doc/posix-functions/fwide.texi: Likewise.
52502         * doc/posix-functions/fwprintf.texi: Likewise.
52503         * doc/posix-functions/fwscanf.texi: Likewise.
52504         * doc/posix-functions/getwchar.texi: Likewise.
52505         * doc/posix-functions/getwc.texi: Likewise.
52506         * doc/posix-functions/iswalnum.texi: Likewise.
52507         * doc/posix-functions/iswalpha.texi: Likewise.
52508         * doc/posix-functions/iswblank.texi: Likewise.
52509         * doc/posix-functions/iswcntrl.texi: Likewise.
52510         * doc/posix-functions/iswctype.texi: Likewise.
52511         * doc/posix-functions/iswdigit.texi: Likewise.
52512         * doc/posix-functions/iswgraph.texi: Likewise.
52513         * doc/posix-functions/iswlower.texi: Likewise.
52514         * doc/posix-functions/iswprint.texi: Likewise.
52515         * doc/posix-functions/iswpunct.texi: Likewise.
52516         * doc/posix-functions/iswspace.texi: Likewise.
52517         * doc/posix-functions/iswupper.texi: Likewise.
52518         * doc/posix-functions/iswxdigit.texi: Likewise.
52519         * doc/posix-functions/mbrtowc.texi: Likewise.
52520         * doc/posix-functions/mbsrtowcs.texi: Likewise.
52521         * doc/posix-functions/mbstowcs.texi: Likewise.
52522         * doc/posix-functions/mbtowc.texi: Likewise.
52523         * doc/posix-functions/putwchar.texi: Likewise.
52524         * doc/posix-functions/putwc.texi: Likewise.
52525         * doc/posix-functions/swprintf.texi: Likewise.
52526         * doc/posix-functions/tolower.texi: Likewise.
52527         * doc/posix-functions/toupper.texi: Likewise.
52528         * doc/posix-functions/towctrans.texi: Likewise.
52529         * doc/posix-functions/ungetwc.texi: Likewise.
52530         * doc/posix-functions/vswprintf.texi: Likewise.
52531         * doc/posix-functions/wcrtomb.texi: Likewise.
52532         * doc/posix-functions/wcscat.texi: Likewise.
52533         * doc/posix-functions/wcschr.texi: Likewise.
52534         * doc/posix-functions/wcscmp.texi: Likewise.
52535         * doc/posix-functions/wcscoll.texi: Likewise.
52536         * doc/posix-functions/wcscpy.texi: Likewise.
52537         * doc/posix-functions/wcscspn.texi: Likewise.
52538         * doc/posix-functions/wcsftime.texi: Likewise.
52539         * doc/posix-functions/wcslen.texi: Likewise.
52540         * doc/posix-functions/wcsncat.texi: Likewise.
52541         * doc/posix-functions/wcsncmp.texi: Likewise.
52542         * doc/posix-functions/wcsncpy.texi: Likewise.
52543         * doc/posix-functions/wcspbrk.texi: Likewise.
52544         * doc/posix-functions/wcsrchr.texi: Likewise.
52545         * doc/posix-functions/wcsrtombs.texi: Likewise.
52546         * doc/posix-functions/wcsspn.texi: Likewise.
52547         * doc/posix-functions/wcsstr.texi: Likewise.
52548         * doc/posix-functions/wcstod.texi: Likewise.
52549         * doc/posix-functions/wcstof.texi: Likewise.
52550         * doc/posix-functions/wcstoimax.texi: Likewise.
52551         * doc/posix-functions/wcstok.texi: Likewise.
52552         * doc/posix-functions/wcstold.texi: Likewise.
52553         * doc/posix-functions/wcstoll.texi: Likewise.
52554         * doc/posix-functions/wcstol.texi: Likewise.
52555         * doc/posix-functions/wcstombs.texi: Likewise.
52556         * doc/posix-functions/wcstoull.texi: Likewise.
52557         * doc/posix-functions/wcstoul.texi: Likewise.
52558         * doc/posix-functions/wcstoumax.texi: Likewise.
52559         * doc/posix-functions/wcswidth.texi: Likewise.
52560         * doc/posix-functions/wcsxfrm.texi: Likewise.
52561         * doc/posix-functions/wctob.texi: Likewise.
52562         * doc/posix-functions/wctomb.texi: Likewise.
52563         * doc/posix-functions/wctrans.texi: Likewise.
52564         * doc/posix-functions/wctype.texi: Likewise.
52565         * doc/posix-functions/wcwidth.texi: Likewise.
52566         * doc/posix-functions/wmemchr.texi: Likewise.
52567         * doc/posix-functions/wmemcmp.texi: Likewise.
52568         * doc/posix-functions/wmemcpy.texi: Likewise.
52569         * doc/posix-functions/wmemmove.texi: Likewise.
52570         * doc/posix-functions/wmemset.texi: Likewise.
52571         * doc/posix-functions/wprintf.texi: Likewise.
52572         * doc/posix-functions/wscanf.texi: Likewise.
52573
52574 2008-12-21  Bruno Haible  <bruno@clisp.org>
52575
52576         Update doc for HP-UX 11.11.
52577         * doc/posix-functions/btowc.texi: Clarify that the function is missing
52578         in HP-UX version 11.00, not in all versions of HP-UX 11.
52579         * doc/posix-functions/fwide.texi: Likewise.
52580         * doc/posix-functions/fwprintf.texi: Likewise.
52581         * doc/posix-functions/fwscanf.texi: Likewise.
52582         * doc/posix-functions/inet_ntop.texi: Likewise.
52583         * doc/posix-functions/inet_pton.texi: Likewise.
52584         * doc/posix-functions/mbrlen.texi: Likewise.
52585         * doc/posix-functions/mbrtowc.texi: Likewise.
52586         * doc/posix-functions/mbsinit.texi: Likewise.
52587         * doc/posix-functions/mbsrtowcs.texi: Likewise.
52588         * doc/posix-functions/swprintf.texi: Likewise.
52589         * doc/posix-functions/swscanf.texi: Likewise.
52590         * doc/posix-functions/towctrans.texi: Likewise.
52591         * doc/posix-functions/vfwprintf.texi: Likewise.
52592         * doc/posix-functions/vswprintf.texi: Likewise.
52593         * doc/posix-functions/vwprintf.texi: Likewise.
52594         * doc/posix-functions/wcrtomb.texi: Likewise.
52595         * doc/posix-functions/wcsrtombs.texi: Likewise.
52596         * doc/posix-functions/wcsstr.texi: Likewise.
52597         * doc/posix-functions/wctob.texi: Likewise.
52598         * doc/posix-functions/wctrans.texi: Likewise.
52599         * doc/posix-functions/wmemchr.texi: Likewise.
52600         * doc/posix-functions/wmemcmp.texi: Likewise.
52601         * doc/posix-functions/wmemcpy.texi: Likewise.
52602         * doc/posix-functions/wmemmove.texi: Likewise.
52603         * doc/posix-functions/wmemset.texi: Likewise.
52604         * doc/posix-functions/wprintf.texi: Likewise.
52605         * doc/posix-functions/wscanf.texi: Likewise.
52606
52607 2008-12-21  Bruno Haible  <bruno@clisp.org>
52608
52609         Work around a portability problem.
52610         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
52611         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
52612
52613 2008-12-20  Bruno Haible  <bruno@clisp.org>
52614
52615         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
52616         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
52617         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
52618         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
52619         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
52620
52621         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
52622         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
52623         set.
52624         (GNULIB_defined_mbstate_t): New macro.
52625         (mbsinit): Redefine if REPLACE_MBSINIT is set.
52626         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
52627         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
52628         reuses the system's mbrtowc function but works around the bugs.
52629         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
52630         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
52631         macros.
52632         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
52633         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
52634         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
52635         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
52636         REPLACE_MBSINIT if mbsinit needs to be overridden.
52637         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
52638         REPLACE_MBSINIT, REPLACE_MBRTOWC.
52639         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
52640         REPLACE_MBSINIT, REPLACE_MBRTOWC.
52641         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52642         m4/locale-zh.m4.
52643         (Depends): Add mbsinit.
52644         * modules/mbsinit (Depends): Add mbrtowc.
52645         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
52646
52647 2008-12-20  Bruno Haible  <bruno@clisp.org>
52648
52649         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
52650         so that there are no conversion errors on AIX.
52651         * tests/test-mbsrtowcs.c (main): LIkewise.
52652
52653 2008-12-20  Bruno Haible  <bruno@clisp.org>
52654
52655         Work around wctob bug on Solaris <= 9.
52656         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
52657         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
52658         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
52659         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
52660         * modules/wctob (Files): Add m4/locale-fr.m4.
52661         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
52662
52663 2008-12-20  Bruno Haible  <bruno@clisp.org>
52664
52665         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
52666         /dev/null.
52667         * tests/test-select-in.sh: Likewise.
52668         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52669
52670 2008-12-20  Bruno Haible  <bruno@clisp.org>
52671
52672         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
52673         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
52674         Cygwin 1.5.x.
52675
52676 2008-12-20  Bruno Haible  <bruno@clisp.org>
52677
52678         Ensure mbstate_t is defined on HP-UX 11.11.
52679         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
52680         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
52681         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
52682         AC_USE_SYSTEM_EXTENSIONS.
52683         * modules/fnmatch (Depends-on): Add extensions.
52684         * modules/mbrlen (Depends-on): Likewise.
52685         * modules/mbrtowc (Depends-on): Likewise.
52686         * modules/mbsinit (Depends-on): Likewise.
52687         * modules/mbsrtowcs (Depends-on): Likewise.
52688         * modules/mbswidth (Depends-on): Likewise.
52689         * modules/quotearg (Depends-on): Likewise.
52690         * modules/strftime (Depends-on): Likewise.
52691
52692 2008-12-20  Bruno Haible  <bruno@clisp.org>
52693
52694         Ensure wctob is declared on IRIX 6.5.
52695         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
52696         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
52697         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
52698         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
52699         of HAVE_WCTOB.
52700         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
52701         HAVE_WCTOB.
52702         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
52703
52704 2008-12-19  Bruno Haible  <bruno@clisp.org>
52705
52706         * modules/mbsrtowcs-tests: New file.
52707         * tests/test-mbsrtowcs1.sh: New file.
52708         * tests/test-mbsrtowcs2.sh: New file.
52709         * tests/test-mbsrtowcs3.sh: New file.
52710         * tests/test-mbsrtowcs4.sh: New file.
52711         * tests/test-mbsrtowcs.c: New file.
52712
52713         New module 'mbsrtowcs'.
52714         * lib/wchar.in.h (mbsrtowcs): New declaration.
52715         * lib/mbsrtowcs.c: New file.
52716         * m4/mbsrtowcs.m4: New file.
52717         * modules/mbsrtowcs: New file.
52718         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
52719         HAVE_MBSRTOWCS.
52720         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
52721         HAVE_MBSRTOWCS.
52722         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
52723
52724 2008-12-19  Bruno Haible  <bruno@clisp.org>
52725
52726         New module 'mbrlen'.
52727         * lib/wchar.in.h (mbrlen): New declaration.
52728         * lib/mbrlen.c: New file.
52729         * m4/mbrlen.m4: New file.
52730         * modules/mbrlen: New file.
52731         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
52732         HAVE_MBRLEN.
52733         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
52734         HAVE_MBRLEN.
52735         * doc/posix-functions/mbrlen.texi: Document the new module.
52736
52737 2008-12-19  Bruno Haible  <bruno@clisp.org>
52738
52739         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
52740         * modules/mbrtowc (Depends-on): Add verify.
52741         Suggested by Paul Eggert.
52742
52743 2008-12-18  Bruno Haible  <bruno@clisp.org>
52744
52745         * modules/mbsinit-tests: New file.
52746         * tests/test-mbsinit.sh: New file.
52747         * tests/test-mbsinit.c: New file.
52748
52749 2008-12-18  Bruno Haible  <bruno@clisp.org>
52750
52751         * modules/mbrtowc-tests: New file.
52752         * tests/test-mbrtowc1.sh: New file.
52753         * tests/test-mbrtowc2.sh: New file.
52754         * tests/test-mbrtowc3.sh: New file.
52755         * tests/test-mbrtowc4.sh: New file.
52756         * tests/test-mbrtowc.c: New file.
52757
52758         New module 'mbrtowc'.
52759         * lib/wchar.in.h (mbstate_t): Override when the system does not have
52760         mbsinit and mbrtowc.
52761         (mbrtowc): New declaration.
52762         * lib/mbrtowc.c: New file.
52763         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
52764         * modules/mbrtowc: New file.
52765         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
52766         HAVE_MBRTOWC.
52767         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
52768         HAVE_MBRTOWC.
52769         * doc/posix-functions/mbrtowc.texi: Document the new module.
52770
52771 2008-12-18  Bruno Haible  <bruno@clisp.org>
52772
52773         New module 'wctob'.
52774         * lib/wchar.in.h (wctob): New declaration.
52775         * lib/wctob.c: New file.
52776         * m4/wctob.m4: New file.
52777         * modules/wctob: New file.
52778         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
52779         HAVE_WCTOB.
52780         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
52781         * doc/posix-functions/wctob.texi: Document the new module.
52782
52783 2008-12-18  Bruno Haible  <bruno@clisp.org>
52784
52785         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
52786         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
52787
52788 2008-12-18  Simon Josefsson  <simon@josefsson.org>
52789
52790         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
52791         G. Christensen" <tgc@jupiterrise.com>.
52792
52793         * lib/flock.c: Need to include errno.h.  Reported by "Tom
52794         G. Christensen" <tgc@jupiterrise.com>.
52795
52796         * lib/flock.c: Need to include string.h.  Reported by "Tom
52797         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
52798         <ebb9@byu.net>.
52799
52800 2008-12-18  Bruno Haible  <bruno@clisp.org>
52801
52802         * m4/locale-ja.m4: New file, from GNU gettext.
52803
52804 2008-12-17  Bruno Haible  <bruno@clisp.org>
52805
52806         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
52807         Suggested by Eric Blake.
52808
52809 2008-12-17  Bruno Haible  <bruno@clisp.org>
52810
52811         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
52812
52813 2008-12-17  Bruno Haible  <bruno@clisp.org>
52814
52815         * lib/mbsinit.c: Include verify.h. Verify an assumption.
52816         * modules/mbsinit (Depends-on): Add verify.
52817         Suggested by Paul Eggert.
52818
52819 2008-12-17  Bruno Haible  <bruno@clisp.org>
52820
52821         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
52822         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
52823         gl_FUNC_MBRTOWC.
52824         * m4/mbiter.m4 (gl_MBITER): LIkewise.
52825         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
52826         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
52827         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
52828         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
52829         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
52830         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
52831         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
52832         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
52833         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
52834         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
52835         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
52836         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
52837         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
52838         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
52839         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
52840         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
52841         * modules/trim (configure.ac): Likewise.
52842
52843 2008-12-17  Bruno Haible  <bruno@clisp.org>
52844
52845         * modules/btowc-tests: New file.
52846         * tests/test-btowc1.sh: New file.
52847         * tests/test-btowc2.sh: New file.
52848         * tests/test-btowc.c: New file.
52849
52850         New module 'btowc'.
52851         * lib/wchar.in.h (btowc): New declaration.
52852         * lib/btowc.c: New file.
52853         * m4/btowc.m4: New file.
52854         * modules/btowc: New file.
52855         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
52856         HAVE_BTOWC.
52857         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
52858         * doc/posix-functions/btowc.texi: Document the new module.
52859
52860 2008-12-17  Bruno Haible  <bruno@clisp.org>
52861
52862         New module 'mbsinit'.
52863         * lib/wchar.in.h (mbsinit): New declaration.
52864         * lib/mbsinit.c: New file.
52865         * m4/mbsinit.m4: New file.
52866         * modules/mbsinit: New file.
52867         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
52868         HAVE_MBSINIT.
52869         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
52870         HAVE_MBSINIT.
52871         * doc/posix-functions/mbsinit.texi: Document the new module.
52872
52873 2008-12-16  Bruno Haible  <bruno@clisp.org>
52874
52875         * lib/unistd.in.h: Add comment.
52876         * tests/test-environ.c: Don't include <stdlib.h>.
52877
52878 2008-12-16  Bruno Haible  <bruno@clisp.org>
52879
52880         * lib/parse-duration.h (parse_duration): Document return value
52881         convention.
52882         * lib/parse-duration.c: Include specification header first. Add
52883         comments.
52884         (_): Remove macro.
52885         (parse_year_month_day, parse_hour_minute_second): Move side effects
52886         outside of strchr call.
52887         (parse_non_iso8601): Move side effects outside of isspace call.
52888         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
52889         call.
52890
52891 2008-12-16  Bruno Haible  <bruno@clisp.org>
52892
52893         * tests/test-parse-duration.sh: Produce no output when the test
52894         succeeds.
52895
52896 2008-12-16  Bruno Haible  <bruno@clisp.org>
52897
52898         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
52899         expressions.
52900
52901 2008-12-15  Bruno Haible  <bruno@clisp.org>
52902
52903         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
52904         * doc/glibc-functions/flistxattr.texi: Likewise.
52905         * doc/glibc-functions/fopencookie.texi: Likewise.
52906         * doc/glibc-functions/fremovexattr.texi: Likewise.
52907         * doc/glibc-functions/fsetxattr.texi: Likewise.
52908         * doc/glibc-functions/getxattr.texi: Likewise.
52909         * doc/glibc-functions/lgetxattr.texi: Likewise.
52910         * doc/glibc-functions/listxattr.texi: Likewise.
52911         * doc/glibc-functions/llistxattr.texi: Likewise.
52912         * doc/glibc-functions/lremovexattr.texi: Likewise.
52913         * doc/glibc-functions/lsetxattr.texi: Likewise.
52914         * doc/glibc-functions/removexattr.texi: Likewise.
52915         * doc/glibc-functions/setxattr.texi: Likewise.
52916         * doc/posix-functions/open_memstream.texi: Likewise.
52917
52918 2008-12-15  Eric Blake  <ebb9@byu.net>
52919
52920         Update doc for cygwin 1.7.
52921         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
52922         functions.
52923         * doc/posix-functions/fchmodat.texi: Likewise.
52924         * doc/posix-functions/fchownat.texi: Likewise.
52925         * doc/posix-functions/fdopendir.texi: Likewise.
52926         * doc/posix-functions/fmemopen.texi: Likewise.
52927         * doc/posix-functions/freeaddrinfo.texi: Likewise.
52928         * doc/posix-functions/fstatat.texi: Likewise.
52929         * doc/posix-functions/futimens.texi: Likewise.
52930         * doc/posix-functions/gai_strerror.texi: Likewise.
52931         * doc/posix-functions/getaddrinfo.texi: Likewise.
52932         * doc/posix-functions/getnameinfo.texi: Likewise.
52933         * doc/posix-functions/if_freenameindex.texi: Likewise.
52934         * doc/posix-functions/if_indextoname.texi: Likewise.
52935         * doc/posix-functions/if_nameindex.texi: Likewise.
52936         * doc/posix-functions/if_nametoindex.texi: Likewise.
52937         * doc/posix-functions/insque.texi: Likewise.
52938         * doc/posix-functions/linkat.texi: Likewise.
52939         * doc/posix-functions/llrint.texi: Likewise.
52940         * doc/posix-functions/llrintf.texi: Likewise.
52941         * doc/posix-functions/llrintl.texi: Likewise.
52942         * doc/posix-functions/lockf.texi: Likewise.
52943         * doc/posix-functions/lrintl.texi: Likewise.
52944         * doc/posix-functions/mkdirat.texi: Likewise.
52945         * doc/posix-functions/mkfifoat.texi: Likewise.
52946         * doc/posix-functions/mknodat.texi: Likewise.
52947         * doc/posix-functions/mq_close.texi: Likewise.
52948         * doc/posix-functions/mq_getattr.texi: Likewise.
52949         * doc/posix-functions/mq_notify.texi: Likewise.
52950         * doc/posix-functions/mq_open.texi: Likewise.
52951         * doc/posix-functions/mq_receive.texi: Likewise.
52952         * doc/posix-functions/mq_send.texi: Likewise.
52953         * doc/posix-functions/mq_setattr.texi: Likewise.
52954         * doc/posix-functions/mq_timedreceive.texi: Likewise.
52955         * doc/posix-functions/mq_timedsend.texi: Likewise.
52956         * doc/posix-functions/mq_unlink.texi: Likewise.
52957         * doc/posix-functions/open_memstream.texi: Likewise.
52958         * doc/posix-functions/openat.texi: Likewise.
52959         * doc/posix-functions/posix_fadvise.texi: Likewise.
52960         * doc/posix-functions/posix_fallocate.texi: Likewise.
52961         * doc/posix-functions/posix_madvise.texi: Likewise.
52962         * doc/posix-functions/posix_memalign.texi: Likewise.
52963         * doc/posix-functions/posix_openpt.texi: Likewise.
52964         * doc/posix-functions/readlinkat.texi: Likewise.
52965         * doc/posix-functions/remque.texi: Likewise.
52966         * doc/posix-functions/renameat.texi: Likewise.
52967         * doc/posix-functions/rintl.texi: Likewise.
52968         * doc/posix-functions/sem_unlink.texi: Likewise.
52969         * doc/posix-functions/shm_open.texi: Likewise.
52970         * doc/posix-functions/shm_unlink.texi: Likewise.
52971         * doc/posix-functions/signgam.texi: Likewise.
52972         * doc/posix-functions/sigset.texi: Likewise.
52973         * doc/posix-functions/stpcpy.texi: Likewise.
52974         * doc/posix-functions/stpncpy.texi: Likewise.
52975         * doc/posix-functions/strerror.texi: Likewise.
52976         * doc/posix-functions/strtod.texi: Likewise.
52977         * doc/posix-functions/symlinkat.texi: Likewise.
52978         * doc/posix-functions/unlinkat.texi: Likewise.
52979         * doc/posix-functions/utimensat.texi: Likewise.
52980         * doc/glibc-functions/bindresvport.texi: Likewise.
52981         * doc/glibc-functions/dn_expand.texi: Likewise.
52982         * doc/glibc-functions/exp10.texi: Likewise.
52983         * doc/glibc-functions/exp10f.texi: Likewise.
52984         * doc/glibc-functions/fgetxattr.texi: Likewise.
52985         * doc/glibc-functions/flistxattr.texi: Likewise.
52986         * doc/glibc-functions/fopencookie.texi: Likewise.
52987         * doc/glibc-functions/freeifaddrs.texi: Likewise.
52988         * doc/glibc-functions/fremovexattr.texi: Likewise.
52989         * doc/glibc-functions/fsetxattr.texi: Likewise.
52990         * doc/glibc-functions/getifaddrs.texi: Likewise.
52991         * doc/glibc-functions/getxattr.texi: Likewise.
52992         * doc/glibc-functions/lgetxattr.texi: Likewise.
52993         * doc/glibc-functions/listxattr.texi: Likewise.
52994         * doc/glibc-functions/llistxattr.texi: Likewise.
52995         * doc/glibc-functions/lremovexattr.texi: Likewise.
52996         * doc/glibc-functions/lsetxattr.texi: Likewise.
52997         * doc/glibc-functions/pow10.texi: Likewise.
52998         * doc/glibc-functions/pow10f.texi: Likewise.
52999         * doc/glibc-functions/rcmd_af.texi: Likewise.
53000         * doc/glibc-functions/removexattr.texi: Likewise.
53001         * doc/glibc-functions/res_init.texi: Likewise.
53002         * doc/glibc-functions/res_mkquery.texi: Likewise.
53003         * doc/glibc-functions/res_query.texi: Likewise.
53004         * doc/glibc-functions/res_querydomain.texi: Likewise.
53005         * doc/glibc-functions/res_send.texi: Likewise.
53006         * doc/glibc-functions/rresvport_af.texi: Likewise.
53007         * doc/glibc-functions/setxattr.texi: Likewise.
53008         * doc/glibc-functions/strcasestr.texi: Likewise.
53009
53010 2008-12-15  Bruno Haible  <bruno@clisp.org>
53011
53012         Fix compilation error on OSF/1 4.0.
53013         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
53014         <sys/time.h>, simply delegate to the system header.
53015         Reported by Daniel Richard G. <oss@teragram.com>.
53016
53017 2008-12-15  Bruno Haible  <bruno@clisp.org>
53018
53019         * doc/posix-functions/openat.texi: Mention the 'openat' module.
53020         * doc/posix-functions/fchmodat.texi: Likewise.
53021         * doc/posix-functions/fchownat.texi: Likewise.
53022         * doc/posix-functions/fdopendir.texi: Likewise.
53023         * doc/posix-functions/fstatat.texi: Likewise.
53024         * doc/posix-functions/mkdirat.texi: Likewise.
53025         * doc/posix-functions/unlinkat.texi: Likewise.
53026
53027 2008-12-14  Bruno Haible  <bruno@clisp.org>
53028
53029         Update doc for POSIX:2008.
53030         * doc/posix-functions/faccessat.texi: New file.
53031         * doc/posix-functions/fchmodat.texi: New file.
53032         * doc/posix-functions/fchownat.texi: New file.
53033         * doc/posix-functions/fdopendir.texi: New file.
53034         * doc/posix-functions/fstatat.texi: New file.
53035         * doc/posix-functions/futimens.texi: New file.
53036         * doc/posix-functions/linkat.texi: New file.
53037         * doc/posix-functions/mkdirat.texi: New file.
53038         * doc/posix-functions/mkfifoat.texi: New file.
53039         * doc/posix-functions/mknodat.texi: New file.
53040         * doc/posix-functions/open_wmemstream.texi: New file.
53041         * doc/posix-functions/openat.texi: New file.
53042         * doc/posix-functions/psiginfo.texi: New file.
53043         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
53044         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
53045         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
53046         * doc/posix-functions/readlinkat.texi: New file.
53047         * doc/posix-functions/renameat.texi: New file.
53048         * doc/posix-functions/strerror_l.texi: New file.
53049         * doc/posix-functions/symlinkat.texi: New file.
53050         * doc/posix-functions/unlinkat.texi: New file.
53051         * doc/posix-functions/utimensat.texi: New file.
53052         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53053
53054 2008-12-14  Bruno Haible  <bruno@clisp.org>
53055
53056         Update doc for POSIX:2008.
53057         * doc/posix-functions/alphasort.texi: Renamed from
53058         doc/glibc-functions/alphasort.texi.
53059         * doc/posix-functions/dirfd.texi: Renamed from
53060         doc/glibc-functions/dirfd.texi.
53061         * doc/posix-functions/dprintf.texi: Renamed from
53062         doc/glibc-functions/dprintf.texi.
53063         * doc/posix-functions/duplocale.texi: Renamed from
53064         doc/glibc-functions/duplocale.texi.
53065         * doc/posix-functions/fexecve.texi: Renamed from
53066         doc/glibc-functions/fexecve.texi.
53067         * doc/posix-functions/fmemopen.texi: Renamed from
53068         doc/glibc-functions/fmemopen.texi.
53069         * doc/posix-functions/freelocale.texi: Renamed from
53070         doc/glibc-functions/freelocale.texi.
53071         * doc/posix-functions/getdate_err.texi: Renamed from
53072         doc/glibc-functions/getdate_err.texi.
53073         * doc/posix-functions/isalnum_l.texi: Renamed from
53074         doc/glibc-functions/isalnum_l.texi.
53075         * doc/posix-functions/isalpha_l.texi: Renamed from
53076         doc/glibc-functions/isalpha_l.texi.
53077         * doc/posix-functions/isblank_l.texi: Renamed from
53078         doc/glibc-functions/isblank_l.texi.
53079         * doc/posix-functions/iscntrl_l.texi: Renamed from
53080         doc/glibc-functions/iscntrl_l.texi.
53081         * doc/posix-functions/isdigit_l.texi: Renamed from
53082         doc/glibc-functions/isdigit_l.texi.
53083         * doc/posix-functions/isgraph_l.texi: Renamed from
53084         doc/glibc-functions/isgraph_l.texi.
53085         * doc/posix-functions/islower_l.texi: Renamed from
53086         doc/glibc-functions/islower_l.texi.
53087         * doc/posix-functions/isprint_l.texi: Renamed from
53088         doc/glibc-functions/isprint_l.texi.
53089         * doc/posix-functions/ispunct_l.texi: Renamed from
53090         doc/glibc-functions/ispunct_l.texi.
53091         * doc/posix-functions/isspace_l.texi: Renamed from
53092         doc/glibc-functions/isspace_l.texi.
53093         * doc/posix-functions/isupper_l.texi: Renamed from
53094         doc/glibc-functions/isupper_l.texi.
53095         * doc/posix-functions/iswalnum_l.texi: Renamed from
53096         doc/glibc-functions/iswalnum_l.texi.
53097         * doc/posix-functions/iswalpha_l.texi: Renamed from
53098         doc/glibc-functions/iswalpha_l.texi.
53099         * doc/posix-functions/iswblank_l.texi: Renamed from
53100         doc/glibc-functions/iswblank_l.texi.
53101         * doc/posix-functions/iswcntrl_l.texi: Renamed from
53102         doc/glibc-functions/iswcntrl_l.texi.
53103         * doc/posix-functions/iswctype_l.texi: Renamed from
53104         doc/glibc-functions/iswctype_l.texi.
53105         * doc/posix-functions/iswdigit_l.texi: Renamed from
53106         doc/glibc-functions/iswdigit_l.texi.
53107         * doc/posix-functions/iswgraph_l.texi: Renamed from
53108         doc/glibc-functions/iswgraph_l.texi.
53109         * doc/posix-functions/iswlower_l.texi: Renamed from
53110         doc/glibc-functions/iswlower_l.texi.
53111         * doc/posix-functions/iswprint_l.texi: Renamed from
53112         doc/glibc-functions/iswprint_l.texi.
53113         * doc/posix-functions/iswpunct_l.texi: Renamed from
53114         doc/glibc-functions/iswpunct_l.texi.
53115         * doc/posix-functions/iswspace_l.texi: Renamed from
53116         doc/glibc-functions/iswspace_l.texi.
53117         * doc/posix-functions/iswupper_l.texi: Renamed from
53118         doc/glibc-functions/iswupper_l.texi.
53119         * doc/posix-functions/iswxdigit_l.texi: Renamed from
53120         doc/glibc-functions/iswxdigit_l.texi.
53121         * doc/posix-functions/isxdigit_l.texi: Renamed from
53122         doc/glibc-functions/isxdigit_l.texi.
53123         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
53124         doc/glibc-functions/mbsnrtowcs.texi.
53125         * doc/posix-functions/mkdtemp.texi: Renamed from
53126         doc/glibc-functions/mkdtemp.texi.
53127         * doc/posix-functions/newlocale.texi: Renamed from
53128         doc/glibc-functions/newlocale.texi.
53129         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
53130         doc/glibc-functions/nl_langinfo_l.texi.
53131         * doc/posix-functions/open_memstream.texi: Renamed from
53132         doc/glibc-functions/open_memstream.texi.
53133         * doc/posix-functions/opterr.texi: Renamed from
53134         doc/glibc-functions/opterr.texi.
53135         * doc/posix-functions/optind.texi: Renamed from
53136         doc/glibc-functions/optind.texi.
53137         * doc/posix-functions/optopt.texi: Renamed from
53138         doc/glibc-functions/optopt.texi.
53139         * doc/posix-functions/psignal.texi: Renamed from
53140         doc/glibc-functions/psignal.texi.
53141         * doc/posix-functions/scandir.texi: Renamed from
53142         doc/glibc-functions/scandir.texi.
53143         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
53144         doc/glibc-functions/sched_get_priority_min.texi.
53145         * doc/posix-functions/signgam.texi: Renamed from
53146         doc/glibc-functions/signgam.texi.
53147         * doc/posix-functions/stpcpy.texi: Renamed from
53148         doc/glibc-functions/stpcpy.texi.
53149         * doc/posix-functions/stpncpy.texi: Renamed from
53150         doc/glibc-functions/stpncpy.texi.
53151         * doc/posix-functions/strcasecmp_l.texi: Renamed from
53152         doc/glibc-functions/strcasecmp_l.texi.
53153         * doc/posix-functions/strcoll_l.texi: Renamed from
53154         doc/glibc-functions/strcoll_l.texi.
53155         * doc/posix-functions/strfmon_l.texi: Renamed from
53156         doc/glibc-functions/strfmon_l.texi.
53157         * doc/posix-functions/strftime_l.texi: Renamed from
53158         doc/glibc-functions/strftime_l.texi.
53159         * doc/posix-functions/strncasecmp_l.texi: Renamed from
53160         doc/glibc-functions/strncasecmp_l.texi.
53161         * doc/posix-functions/strndup.texi: Renamed from
53162         doc/glibc-functions/strndup.texi.
53163         * doc/posix-functions/strnlen.texi: Renamed from
53164         doc/glibc-functions/strnlen.texi.
53165         * doc/posix-functions/strsignal.texi: Renamed from
53166         doc/glibc-functions/strsignal.texi.
53167         * doc/posix-functions/strxfrm_l.texi: Renamed from
53168         doc/glibc-functions/strxfrm_l.texi.
53169         * doc/posix-functions/timer_gettime.texi: Renamed from
53170         doc/glibc-functions/timer_gettime.texi.
53171         * doc/posix-functions/tolower_l.texi: Renamed from
53172         doc/glibc-functions/tolower_l.texi.
53173         * doc/posix-functions/toupper_l.texi: Renamed from
53174         doc/glibc-functions/toupper_l.texi.
53175         * doc/posix-functions/towctrans_l.texi: Renamed from
53176         doc/glibc-functions/towctrans_l.texi.
53177         * doc/posix-functions/towlower_l.texi: Renamed from
53178         doc/glibc-functions/towlower_l.texi.
53179         * doc/posix-functions/towupper_l.texi: Renamed from
53180         doc/glibc-functions/towupper_l.texi.
53181         * doc/posix-functions/uselocale.texi: Renamed from
53182         doc/glibc-functions/uselocale.texi.
53183         * doc/posix-functions/vdprintf.texi: Renamed from
53184         doc/glibc-functions/vdprintf.texi.
53185         * doc/posix-functions/wcpcpy.texi:
53186         Renamed from doc/glibc-functions/wcpcpy.texi.
53187         * doc/posix-functions/wcpncpy.texi: Renamed from
53188         doc/glibc-functions/wcpncpy.texi.
53189         * doc/posix-functions/wcscasecmp.texi: Renamed from
53190         doc/glibc-functions/wcscasecmp.texi.
53191         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
53192         doc/glibc-functions/wcscasecmp_l.texi.
53193         * doc/posix-functions/wcscoll_l.texi: Renamed from
53194         doc/glibc-functions/wcscoll_l.texi.
53195         * doc/posix-functions/wcsdup.texi: Renamed from
53196         doc/glibc-functions/wcsdup.texi.
53197         * doc/posix-functions/wcsncasecmp.texi: Renamed from
53198         doc/glibc-functions/wcsncasecmp.texi.
53199         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
53200         doc/glibc-functions/wcsncasecmp_l.texi.
53201         * doc/posix-functions/wcsnlen.texi: Renamed from
53202         doc/glibc-functions/wcsnlen.texi.
53203         * doc/posix-functions/wcsnrtombs.texi: Renamed from
53204         doc/glibc-functions/wcsnrtombs.texi.
53205         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
53206         doc/glibc-functions/wcsxfrm_l.texi.
53207         * doc/posix-functions/wctrans_l.texi: Renamed from
53208         doc/glibc-functions/wctrans_l.texi.
53209         * doc/posix-functions/wctype_l.texi: Renamed from
53210         doc/glibc-functions/wctype_l.texi.
53211         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53212         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
53213         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
53214         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
53215         these subsections.
53216         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
53217         Remove sections.
53218
53219 2008-12-14  Bruno Haible  <bruno@clisp.org>
53220
53221         Update doc for POSIX:2008.
53222         * doc/posix-functions/*.texi: Update URL of POSIX specification.
53223
53224 2008-12-14  Bruno Haible  <bruno@clisp.org>
53225
53226         Update doc for POSIX:2008.
53227         * doc/pastposix-functions/bcmp.texi: Renamed from
53228         doc/posix-functions/bcmp.texi.
53229         * doc/pastposix-functions/bcopy.texi: Renamed from
53230         doc/posix-functions/bcopy.texi.
53231         * doc/pastposix-functions/bsd_signal.texi: Renamed from
53232         doc/posix-functions/bsd_signal.texi.
53233         * doc/pastposix-functions/bzero.texi: Renamed from
53234         doc/posix-functions/bzero.texi.
53235         * doc/pastposix-functions/ecvt.texi: Renamed from
53236         doc/posix-functions/ecvt.texi.
53237         * doc/pastposix-functions/fcvt.texi: Renamed from
53238         doc/posix-functions/fcvt.texi.
53239         * doc/pastposix-functions/ftime.texi: Renamed from
53240         doc/posix-functions/ftime.texi.
53241         * doc/pastposix-functions/gcvt.texi: Renamed from
53242         doc/posix-functions/gcvt.texi.
53243         * doc/pastposix-functions/getcontext.texi: Renamed from
53244         doc/posix-functions/getcontext.texi.
53245         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
53246         doc/posix-functions/gethostbyaddr.texi.
53247         * doc/pastposix-functions/gethostbyname.texi: Renamed from
53248         doc/posix-functions/gethostbyname.texi.
53249         * doc/pastposix-functions/getwd.texi: Renamed from
53250         doc/posix-functions/getwd.texi.
53251         * doc/pastposix-functions/h_errno.texi: Renamed from
53252         doc/posix-functions/h_errno.texi.
53253         * doc/pastposix-functions/index.texi: Renamed from
53254         doc/posix-functions/index.texi.
53255         * doc/pastposix-functions/makecontext.texi: Renamed from
53256         doc/posix-functions/makecontext.texi.
53257         * doc/pastposix-functions/mktemp.texi: Renamed from
53258         doc/posix-functions/mktemp.texi.
53259         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
53260         doc/posix-functions/pthread_attr_getstackaddr.texi.
53261         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
53262         doc/posix-functions/pthread_attr_setstackaddr.texi.
53263         * doc/pastposix-functions/rindex.texi: Renamed from
53264         doc/posix-functions/rindex.texi.
53265         * doc/pastposix-functions/scalb.texi: Renamed from
53266         doc/posix-functions/scalb.texi.
53267         * doc/pastposix-functions/setcontext.texi: Renamed from
53268         doc/posix-functions/setcontext.texi.
53269         * doc/pastposix-functions/swapcontext.texi: Renamed from
53270         doc/posix-functions/swapcontext.texi.
53271         * doc/pastposix-functions/ualarm.texi: Renamed from
53272         doc/posix-functions/ualarm.texi.
53273         * doc/pastposix-functions/usleep.texi: Renamed from
53274         doc/posix-functions/usleep.texi.
53275         * doc/pastposix-functions/vfork.texi: Renamed from
53276         doc/posix-functions/vfork.texi.
53277         * doc/pastposix-functions/wcswcs.texi: Renamed from
53278         doc/posix-functions/wcswcs.texi.
53279         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
53280         (Function Substitutes): Update.
53281
53282 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53283
53284         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
53285         m4/strerror.m4.
53286
53287 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53288             Bruno Haible  <bruno@clisp.org>
53289
53290         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
53291
53292 2008-12-13  Bruno Haible  <bruno@clisp.org>
53293
53294         * modules/strtoull (Depends-on): Remove unistd.
53295
53296 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53297
53298         * modules/strtoull (Depends-on): Add stdlib.
53299
53300 2008-12-11  Simon Josefsson  <simon@josefsson.org>
53301
53302         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
53303
53304 2008-12-10  Jim Meyering  <meyering@redhat.com>
53305
53306         gl_ASSERT: don't say assertions are disabled when they're not
53307         * m4/assert.m4 (gl_ASSERT): Do not make configure report
53308         "checking whether to enable assertions... no", when they are in
53309         fact enabled.  This is solely a bug in the output of configure.
53310         In spite of saying "no", NDEBUG was not defined in that case.
53311         Also, as noted by Eric Blake, leave assertions enabled upon
53312         --enable-assert=INVALID.
53313
53314 2008-12-10  Bruno Haible  <bruno@clisp.org>
53315
53316         Change MODULES.html to refer to POSIX:2008 where possible.
53317         * MODULES.html.sh (POSIX2008_URL): New variable.
53318         (posix_headers): Remove sys/timeb, ucontext.
53319         (posix2001_headers): New variable.
53320         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
53321         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
53322         index, makecontext, mktemp, pthread_attr_getstackaddr,
53323         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
53324         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
53325         (posix2001_functions): New variable.
53326         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
53327         otherwise.
53328
53329 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53330
53331         add missing include to parse-duration.c
53332         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
53333         * modules/parse-duration (Depends-on): Add xalloc.
53334
53335         fix sed script reading maint.mk
53336         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
53337         (syntax-check-rules): Use it.
53338
53339 2008-12-09  Bruno Haible  <bruno@clisp.org>
53340
53341         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
53342         MacOS X 10.4/PowerPC.
53343         Reported by Simon Josefsson.
53344
53345 2008-12-08  Jim Meyering  <meyering@redhat.com>
53346
53347         work around mingw's lack of some S_IF definitions
53348         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
53349         Reported by Simon Josefsson.
53350
53351 2008-12-08  Bruno Haible  <bruno@clisp.org>
53352
53353         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
53354         applied to variables. Needed on MacOS X 10.4/PowerPC.
53355         Reported by Simon Josefsson.
53356
53357 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
53358         and Eric Blake  <ebb9@byu.net>
53359
53360         assert: honor --enable-assert
53361         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
53362         order to honor --enable-assert, rather than treating it as a
53363         synonym for --disable-assert.
53364
53365 2008-12-08  Jim Meyering  <meyering@redhat.com>
53366
53367         * lib/posixtm.c: Remove now-useless declaration of mktime.
53368
53369         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
53370
53371 2008-12-07  Bruno Haible  <bruno@clisp.org>
53372
53373         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
53374         test_once): Mark functions as static.
53375         * tests/test-tls.c (test_tls): Likewise.
53376
53377 2008-12-07  Bruno Haible  <bruno@clisp.org>
53378
53379         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
53380         iconv_register_autodetect.
53381
53382 2008-12-07  Jim Meyering  <meyering@redhat.com>
53383
53384         posixtm.c: avoid a warning
53385         * lib/posixtm.c (posixtime): Don't initialize tm0.
53386         It's no longer needed to placate gcc4's -Wuninitialized,
53387         and the attempt to placate would elicit a new warning.
53388
53389         unicodeio.c: mark unused parameters
53390         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53391         (fallback_failure_callback): Likewise.
53392
53393 2008-12-07  Bruno Haible  <bruno@clisp.org>
53394
53395         * gnulib-tool (func_create_testdir): When building the tests
53396         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
53397         Reported by Simon Josefsson.
53398
53399 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53400
53401         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
53402
53403 2008-12-06  Bruno Haible  <bruno@clisp.org>
53404
53405         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
53406         Suggested by Eric Blake.
53407
53408 2008-12-06  Bruno Haible  <bruno@clisp.org>
53409
53410         Fix a c-stack test failure on MacOS X.
53411         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
53412         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
53413         handler for SIGBUS as well.
53414         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
53415         install a signal handler for SIGBUS as well.
53416         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
53417
53418 2008-12-06  Bruno Haible  <bruno@clisp.org>
53419
53420         Advocacy documentation.
53421         * doc/gnulib-intro.texi (Benefits): New section.
53422         * doc/gnulib.texi: Update.
53423
53424 2008-12-06  Bruno Haible  <bruno@clisp.org>
53425
53426         Document the 'manywarnings' module.
53427         * doc/manywarnings.texi: New file.
53428         * doc/gnulib.texi: Include it.
53429
53430 2008-12-05  Eric Blake  <ebb9@byu.net>
53431
53432         tests: silence some gcc warnings
53433         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
53434         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
53435         type mismatches.
53436
53437 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53438             Bruno Haible  <bruno@clisp.org>
53439
53440         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
53441
53442 2008-11-29  Jim Meyering  <meyering@redhat.com>
53443
53444         unicodeio.c: mark unused parameters
53445         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53446         (fallback_failure_callback): Likewise.
53447
53448         fts: fix a thinko
53449         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
53450         (set_stat_type): Return S_IF*-valued "type" directly.
53451         Prompted by James Youngman's spotting a related bug.
53452         Confirmed by further testing through find.
53453
53454         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
53455         * lib/fts.c (D_TYPE): Define.
53456         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
53457         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
53458         (s_ifmt_shift_bits): New function.
53459         (set_stat_type): New function.
53460         (fts_build): When not calling fts_stat, call set_stat_type
53461         to propagate dirent.d_type info to fts_read caller.
53462         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
53463         fts_statp->st_mode type information may be valid.
53464
53465 2008-11-28  Simon Josefsson  <simon@josefsson.org>
53466
53467         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
53468         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
53469         <sds@gnu.org>.
53470
53471 2008-11-20  Bruno Haible  <bruno@clisp.org>
53472
53473         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
53474         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
53475         INCLUDE_NEXT.
53476         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
53477         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
53478         * modules/math (Makefile.am): Substitute
53479         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
53480         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53481
53482 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
53483             Bruno Haible  <bruno@clisp.org>
53484
53485         * lib/stdint.in.h: Define all type macros so that their expansion is
53486         a single typedef'ed token. Fixes a compilation failure in Boost which
53487         does "using ::int8_t;".
53488
53489 2008-11-18  Simon Josefsson  <simon@josefsson.org>
53490
53491         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
53492         gl_MANYWARN_ALL_GCC.
53493         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
53494         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
53495         * modules/manywarnings: New file.
53496         * MODULES.html.sh: Mention manywarnings module.
53497
53498 2008-11-18  Bruno Haible  <bruno@clisp.org>
53499
53500         * doc/gnulib-tool.texi (Unit tests): New section.
53501
53502 2008-11-18  Simon Josefsson  <simon@josefsson.org>
53503
53504         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
53505         paths like 'lib/po/foo.po'.
53506
53507 2008-11-17  Simon Josefsson  <simon@josefsson.org>
53508
53509         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
53510         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
53511
53512 2008-11-17  Simon Josefsson  <simon@josefsson.org>
53513
53514         * m4/warnings.m4: Use CPPFLAGS to really check whether the
53515         parameter works.
53516
53517 2008-11-17  Simon Josefsson  <simon@josefsson.org>
53518
53519         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
53520
53521 2008-11-17  Bruce Korb  <bkorb@gnu.org>
53522
53523         * modules/parse-duration-tests: New file.
53524         * tests/test-parse-duration.sh: New file.
53525         * tests/test-parse-duration.c: New file.
53526
53527         New module 'parse-duration'.
53528         * lib/parse-duration.h: New file.
53529         * lib/parse-duration.c: New file.
53530         * modules/parse-duration: New file.
53531
53532 2008-11-17  Bruno Haible  <bruno@clisp.org>
53533
53534         * tests/test-select-out.sh: Comment out the first pipe test.
53535         Reported by Simon Josefsson.
53536
53537 2008-11-17  Bruno Haible  <bruno@clisp.org>
53538
53539         * modules/getaddrinfo (Depends-on): Add servent, hostent.
53540         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
53541         gl_HOSTENT.
53542
53543 2008-11-17  Bruno Haible  <bruno@clisp.org>
53544
53545         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
53546         -lnetwork and -lnet. Needed for Haiku and BeOS.
53547
53548 2008-11-16  Bruno Haible  <bruno@clisp.org>
53549
53550         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
53551
53552 2008-11-16  Bruno Haible  <bruno@clisp.org>
53553
53554         Avoid test failure on Haiku.
53555         * tests/test-fsync.c: Include <errno.h>.
53556         (main): Don't require that fsync (0) fails.
53557
53558 2008-11-15  Bruno Haible  <bruno@clisp.org>
53559
53560         New module 'hostent'.
53561         * modules/hostent: New file.
53562         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
53563
53564 2008-11-15  Bruno Haible  <bruno@clisp.org>
53565
53566         New module 'servent'.
53567         * modules/servent: New file.
53568         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
53569
53570 2008-11-15  Bruno Haible  <bruno@clisp.org>
53571
53572         Avoid generating same test program with two different rules.
53573         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
53574         test-frexp to test-frexp-nolibm.
53575         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
53576         test-frexpl to test-frexpl-nolibm.
53577
53578 2008-11-15  Bruno Haible  <bruno@clisp.org>
53579
53580         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
53581         $(FREXPL_LIBM).
53582
53583 2008-11-15  Bruno Haible  <bruno@clisp.org>
53584
53585         * lib/netdb.in.h: Activate the definitions also when the system's
53586         <netdb.h> has 'struct addrinfo'.
53587         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
53588         EAI_OVERFLOW or AI_NUMERICSERV.
53589         * doc/posix-headers/netdb.texi: Document the problem.
53590
53591 2008-11-15  Bruno Haible  <bruno@clisp.org>
53592
53593         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
53594
53595         Make the 'sched' module work on platforms where <sched.h> exists but
53596         is incomplete (such as Haiku).
53597         * lib/sched.in.h; Include the system's <sched.h> if it exists.
53598         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
53599         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
53600         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
53601         HAVE_STRUCT_SCHED_PARAM.
53602         * modules/sched (Depends-on): Add include_next.
53603         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
53604         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
53605         * doc/posix-headers/sched.texi: Document the issue.
53606
53607 2008-11-13  Jim Meyering  <meyering@redhat.com>
53608
53609         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
53610         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
53611         test would fail due to the difference in the Report bugs to ...
53612         line.  The expected address is empty, "<>", while the actual
53613         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
53614
53615 2008-11-12  Bruno Haible  <bruno@clisp.org>
53616
53617         lstat: don't compile lstat.c on systems lacking lstat
53618         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
53619         which don't have lstat; this is handled by lib/sys_stat.in.h already.
53620         Reported by Daniel P. Berrange via Jim Meyering.
53621
53622 2008-11-12  Jim Meyering  <meyering@redhat.com>
53623
53624         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
53625
53626 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53627
53628         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
53629         instead.
53630
53631 2008-11-12  Bruno Haible  <bruno@clisp.org>
53632
53633         * lib/unicodeio.c: Include unistr.h.
53634         (utf8_wctomb): Remove function.
53635         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
53636
53637 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53638
53639         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
53640         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
53641         <bruno@clisp.org>.
53642         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
53643
53644 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53645
53646         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
53647         * doc/gnulib.texi: Add section for warnings.
53648
53649 2008-11-11  Bruno Haible  <bruno@clisp.org>
53650
53651         * lib/sockets.h: Add a comment.
53652
53653 2008-11-11  Karl Berry  <karl@gnu.org>
53654
53655         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
53656
53657 2008-11-11  Eric Blake  <ebb9@byu.net>
53658
53659         fdl.texi: avoid git symlinks
53660         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
53661
53662 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53663
53664         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
53665
53666 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53667
53668         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
53669         (gl_WARN_ADD): Substitute $2 if literal.
53670
53671 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53672
53673         * m4/warning.m4: Remove.
53674
53675 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53676
53677         * m4/warnings.m4: Almost complete rewrite. :-)
53678
53679 2008-11-10  Simon Josefsson  <simon@josefsson.org>
53680
53681         * modules/warnings: New module.
53682         * m4/warnings.m4: New file.
53683         * MODULES.html.sh: Mention warnings module.
53684         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
53685         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53686
53687 2008-11-10  Eric Blake  <ebb9@byu.net>
53688
53689         fdl.texi: make a symlink to the latest version
53690         * doc/standards.texi: Revert today's earlier change.
53691         * doc/fdl-1.2.texi: Rename from old fdl.texi...
53692         * doc/fdl.texi: ...and replace this with a symlink to the newer
53693         fdl-1.3.texi.
53694
53695 2008-11-10  Bruno Haible  <bruno@clisp.org>
53696
53697         * tests/test-select-fd.c (main): Accept the result file name as fourth
53698         argument.
53699         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
53700         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
53701
53702 2008-11-10  Bruno Haible  <bruno@clisp.org>
53703
53704         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
53705         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
53706         as autoconf-substituted macros.
53707         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
53708         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
53709         gl_NETDB_H_DEFAULTS. Set these variables.
53710         * modules/netdb (Makefile.am): Substitute these variables.
53711
53712 2008-11-10  Eric Blake  <ebb9@byu.net>
53713
53714         standards.texi: include correct file for FDL 1.3
53715         * doc/standards.texi (GNU Free Documentation License): Change
53716         include file to pull in FDL 1.3, not 1.2.
53717
53718         fdl.texi: revert accidental change to license
53719         * doc/fdl.texi: This is FDL 1.2, not 1.3.
53720
53721 2008-11-10  Bruno Haible  <bruno@clisp.org>
53722
53723         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
53724         cross-compiling guesses also when the native compile gives no result.
53725
53726 2008-11-10  Bruno Haible  <bruno@clisp.org>
53727
53728         * lib/spawni.c (__spawni): Force variable into the stack.
53729
53730 2008-11-10  Bruno Haible  <bruno@clisp.org>
53731
53732         Add support for Haiku.
53733         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
53734         glibc and BeOS, but also on Haiku.
53735         * lib/fpurge.c (fpurge): Likewise.
53736         * lib/freadable.c (freadable): Likewise.
53737         * lib/freadahead.c (freadahead): Likewise.
53738         * lib/freading.c (freading): Likewise.
53739         * lib/freadptr.c (freadptr): Likewise.
53740         * lib/freadseek.c (freadptrinc): Likewise.
53741         * lib/fseeko.c (rpl_fseeko): Likewise.
53742         * lib/fseterr.c (fseterr): Likewise.
53743         * lib/fwritable.c (fwritable): Likewise.
53744         * lib/fwriting.c (fwriting): Likewise.
53745         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
53746
53747 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
53748
53749         * lib/config.charset: Treat Haiku like BeOS.
53750
53751 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
53752
53753         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
53754         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
53755
53756 2008-11-08  Bruno Haible  <bruno@clisp.org>
53757
53758         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
53759         AC_CACHE_CHECK.
53760
53761 2008-11-08  Bruno Haible  <bruno@clisp.org>
53762
53763         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
53764
53765 2008-11-08  Bruno Haible  <bruno@clisp.org>
53766
53767         * tests/test-select-fd.c: New file.
53768         * tests/test-select-in.sh: New file.
53769         * tests/test-select-out.sh: New file.
53770         * tests/test-select-stdin.c: New file.
53771         * modules/select-tests (Files): Add the new files.
53772         (Depends-on): Add gettimeofday.
53773         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
53774         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
53775         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
53776
53777 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
53778             Bruno Haible  <bruno@clisp.org>
53779
53780         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
53781
53782 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
53783
53784         * build-aux/pmccabe2html: Added support for C++ source files.
53785
53786 2008-11-05  Ben Pfaff  <blp@gnu.org>
53787
53788         Fix lib/close.c build on Windows.
53789         * modules/close (Files): Add lib/w32sock.h.
53790
53791 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
53792
53793         Accept Bison's NEWS format.
53794         * build-aux/announce-gen (print_news_deltas): Tweak
53795         $re_prefix.
53796
53797 2008-11-04  Bruno Haible  <bruno@clisp.org>
53798
53799         * modules/random_r (Maintainer): Add glibc.
53800
53801 2008-11-04  Simon Josefsson  <simon@josefsson.org>
53802
53803         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
53804         by karl@freefriends.org (Karl Berry).
53805         * doc/alloca.texi: Likewise.
53806         * doc/c-ctype.texi: Likewise.
53807         * doc/c-strcase.texi: Likewise.
53808         * doc/c-strcaseeq.texi: Likewise.
53809         * doc/c-strcasestr.texi: Likewise.
53810         * doc/c-strstr.texi: Likewise.
53811         * doc/c-strtod.texi: Likewise.
53812         * doc/c-strtold.texi: Likewise.
53813         * doc/ctime.texi: Likewise.
53814         * doc/error.texi: Likewise.
53815         * doc/fdl.texi: Likewise.
53816         * doc/gcd.texi: Likewise.
53817         * doc/getdate.texi: Likewise.
53818         * doc/gnulib-intro.texi: Likewise.
53819         * doc/gnulib-tool.texi: Likewise.
53820         * doc/gnulib.texi: Likewise.
53821         * doc/inet_ntoa.texi: Likewise.
53822         * doc/maintain.texi: Likewise.
53823         * doc/make-stds.texi: Likewise.
53824         * doc/quote.texi: Likewise.
53825         * doc/regexprops-generic.texi: Likewise.
53826         * doc/standards.texi: Likewise.
53827         * doc/verify.texi: Likewise.
53828         * doc/visibility.texi: Likewise.
53829         * doc/gnulib.texi (GNU Free Documentation License): Include
53830         fdl-1.3.texi instead of fdl.texi.
53831
53832 2008-11-04  Simon Josefsson  <simon@josefsson.org>
53833
53834         * doc/fdl-1.3.texi: New file, from
53835         <http://www.gnu.org/licenses/fdl-1.3.texi>.
53836         * modules/fdl-1.3: Add.
53837         * MODULES.html.sh: Add fdl-1.3.
53838
53839 2008-11-03  Bruno Haible  <bruno@clisp.org>
53840
53841         Make determination of absolute name of header file work with AIX xlc.
53842         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
53843         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
53844         preprocessing.
53845         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
53846         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
53847
53848 2008-11-03  Simon Josefsson  <simon@josefsson.org>
53849
53850         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
53851         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
53852         <ludo@gnu.org>.
53853
53854 2008-11-02  Bruno Haible  <bruno@clisp.org>
53855
53856         Mark 'strpbrk' obsolete.
53857         * modules/strpbrk (Status, Notice): New sections.
53858         * modules/strtok_r (Depends-on): Add strpbrk.
53859
53860 2008-11-02  Bruno Haible  <bruno@clisp.org>
53861
53862         Mark 'strdup' obsolete.
53863         * modules/strdup (Status, Notice): New sections.
53864         * modules/findprog (Depends-on): Add strdup.
53865         * modules/getaddrinfo (Depends-on): Likewise.
53866         * modules/localename (Depends-on): Likewise.
53867         * modules/relocatable-lib (Depends-on): Likewise.
53868         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
53869         * modules/relocatable-prog (Depends-on): Likewise.
53870         * modules/trim (Depends-on): Likewise.
53871         * modules/unictype/gen-ctype (Depends-on): Likewise.
53872         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
53873
53874 2008-11-02  Bruno Haible  <bruno@clisp.org>
53875
53876         Mark 'strcspn' obsolete.
53877         * modules/strcspn (Status, Notice): New sections.
53878
53879 2008-11-02  Bruno Haible  <bruno@clisp.org>
53880
53881         Mark 'rmdir' obsolete.
53882         * modules/rmdir (Status, Notice): New sections.
53883         * modules/clean-temp (Depends-on): Add rmdir.
53884         * modules/openat (Depends-on): Likewise.
53885
53886 2008-11-02  Bruno Haible  <bruno@clisp.org>
53887
53888         Mark 'raise' obsolete.
53889         * modules/raise (Status, Notice): New sections.
53890         (Include): Specify <signal.h>.
53891         * modules/stdio (Depends-on): Add raise.
53892         * modules/write (Depends-on): Likewise.
53893
53894 2008-11-02  Bruno Haible  <bruno@clisp.org>
53895
53896         Mark 'memset' obsolete.
53897         * modules/memset (Status, Notice): New sections.
53898
53899 2008-11-02  Bruno Haible  <bruno@clisp.org>
53900
53901         Mark 'memmove' obsolete.
53902         * modules/memmove (Status, Notice): New sections.
53903         * modules/argp (Depends-on): Add memmove.
53904         * modules/argz (Depends-on): Likewise.
53905         * modules/canonicalize (Depends-on): Likewise.
53906         * modules/canonicalize-lgpl (Depends-on): Likewise.
53907         * modules/fts (Depends-on): Likewise.
53908         * modules/getcwd (Depends-on): Likewise.
53909         * modules/human (Depends-on): Likewise.
53910         * modules/regex (Depends-on): Likewise.
53911         * modules/striconveh (Depends-on): Likewise.
53912         * modules/trim (Depends-on): Likewise.
53913         * modules/unistr/u8-move (Depends-on): Likewise.
53914         * modules/unistr/u16-move (Depends-on): Likewise.
53915         * modules/unistr/u32-move (Depends-on): Likewise.
53916
53917 2008-11-02  Bruno Haible  <bruno@clisp.org>
53918
53919         Mark 'memcpy' obsolete.
53920         * modules/memcpy (Status, Notice): New sections.
53921
53922 2008-11-02  Bruno Haible  <bruno@clisp.org>
53923
53924         Mark 'memcmp' obsolete.
53925         * modules/memcmp (Status, Notice): New sections.
53926         * modules/argmatch (Depends-on): Add memchr.
53927         * modules/backupfile (Depends-on): Likewise.
53928         * modules/c-strcasestr (Depends-on): Likewise.
53929         * modules/crypto/des (Depends-on): Likewise.
53930         * modules/csharpcomp (Depends-on): Likewise.
53931         * modules/fnmatch (Depends-on): Likewise.
53932         * modules/git-merge-changelog (Depends-on): Likewise.
53933         * modules/isnand (Depends-on): Likewise.
53934         * modules/isnand-nolibm (Depends-on): Likewise.
53935         * modules/isnanf (Depends-on): Likewise.
53936         * modules/isnanf-nolibm (Depends-on): Likewise.
53937         * modules/isnanl (Depends-on): Likewise.
53938         * modules/isnanl-nolibm (Depends-on): Likewise.
53939         * modules/mbchar (Depends-on): Likewise.
53940         * modules/memcoll (Depends-on): Likewise.
53941         * modules/quotearg (Depends-on): Likewise.
53942         * modules/regex (Depends-on): Likewise.
53943         * modules/relocatable-prog (Depends-on): Likewise.
53944         * modules/same (Depends-on): Likewise.
53945         * modules/signbit (Depends-on): Likewise.
53946         * modules/strcasestr-simple (Depends-on): Likewise.
53947         * modules/unictype/gen-ctype (Depends-on): Likewise.
53948         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
53949         * modules/uniname/uniname (Depends-on): Likewise.
53950         * modules/unistr/u8-cmp (Depends-on): Likewise.
53951
53952 2008-11-02  Bruno Haible  <bruno@clisp.org>
53953
53954         Mark 'memchr' obsolete.
53955         * modules/memchr (Status, Notice): New sections.
53956         * modules/argp (Depends-on): Add memchr.
53957         * modules/base64 (Depends-on): Likewise.
53958         * modules/c-strcasestr (Depends-on): Likewise.
53959         * modules/chdir-long (Depends-on): Likewise.
53960         * modules/fnmatch (Depends-on): Likewise.
53961         * modules/getsubopt (Depends-on): Likewise.
53962         * modules/git-merge-changelog (Depends-on): Likewise.
53963         * modules/glob (Depends-on): Likewise.
53964         * modules/strcasestr-simple (Depends-on): Likewise.
53965         * modules/strnlen (Depends-on): Likewise.
53966
53967 2008-11-02  Bruno Haible  <bruno@clisp.org>
53968
53969         Mark 'atexit' obsolete.
53970         * modules/atexit (Status, Notice): New sections.
53971         * modules/chdir-long (Depends-on): Add atexit.
53972         * modules/wait-process (Depends-on): Likewise.
53973
53974 2008-11-02  Bruno Haible  <bruno@clisp.org>
53975
53976         * gnulib-tool: New option --with-obsolete.
53977         (func_usage): Document it.
53978         (func_modules_transitive_closure): Drop obsolete dependencies if
53979         incobsolete is not true.
53980         (func_import): Read and save the incobsolete variable to the cache.
53981
53982 2008-11-02  Bruno Haible  <bruno@clisp.org>
53983
53984         * modules/TEMPLATE-EXTENDED: New field 'Status'.
53985         * gnulib-tool: New option --extract-status.
53986         (func_usage): Document it.
53987         (sed_extract_prog): Recognize it.
53988         (func_get_status): New function.
53989
53990 2008-10-30  Simon Josefsson  <simon@josefsson.org>
53991
53992         * modules/sockets (License): Change from LGPL to LGPLv2+.
53993
53994 2008-10-28  Simon Josefsson  <simon@josefsson.org>
53995
53996         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
53997
53998 2008-10-28  Simon Josefsson  <simon@josefsson.org>
53999
54000         * MODULES.html.sh (Support for systems lacking POSIX:2001):
54001         Mention times and sys_times.
54002         * modules/sys_times, modules/sys_times-tests: New modules.
54003         * modules/times, modules/times-tests: Likewise
54004         * m4/sys_times_h.m4: New file.
54005         * lib/sys_times.in.h: Likewise
54006         * lib/times.c: Likewise.
54007         * tests/test-sys_times.c: Likewise.
54008         * tests/test-times.c: Likewise.
54009         * doc/posix-headers/sys_times.texi: Update.
54010         * doc/posix-functions/times.texi: Update.
54011
54012 2008-10-28  Jim Meyering  <meyering@redhat.com>
54013
54014         * modules/tempname (Depends-on): Add lstat.
54015
54016         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
54017
54018 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54019
54020         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
54021         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
54022         using idiom used elsewhere in gnulib.
54023
54024 2008-10-27  Jim Meyering  <meyering@redhat.com>
54025
54026         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
54027
54028 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54029
54030         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
54031         TESTS_ENVIRONMENT, for shell scripts that needs to call built
54032         programs.
54033         * tests/test-argp-2.sh: Use $EXEEXT when needed.
54034
54035 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54036
54037         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
54038
54039 2008-10-27  Bruno Haible  <bruno@clisp.org>
54040
54041         * tests/test-lstat.c: Include <stdio.h>.
54042
54043 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54044
54045         * modules/lstat-tests: New module.
54046         * tests/test-lstat.c: New file.
54047
54048 2008-10-26  Jim Meyering  <meyering@redhat.com>
54049
54050         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
54051
54052 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54053             Bruno Haible  <bruno@clisp.org>
54054
54055         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
54056         * modules/configmake (Include): Add a note that the include must come
54057         after all system headers.
54058         * lib/javaversion.c: Include configmake.h after all other includes.
54059
54060 2008-10-26  Bruno Haible  <bruno@clisp.org>
54061
54062         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
54063         HAVE_STRUCT_RANDOM_DATA to 1.
54064         (gl_STDLIB_H): Simplify.
54065
54066 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54067
54068         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
54069         substitute HAVE_STRUCT_RANDOM_DATA.
54070         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
54071         random_data.
54072         * modules/stdlib (Makefile.am): Substitute
54073         HAVE_STRUCT_RANDOM_DATA.
54074
54075 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54076
54077         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
54078         * doc/gnulib-intro.texi (Copyright): Likewise.
54079
54080 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54081
54082         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
54083         findings.
54084
54085 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
54086             Bruno Haible  <bruno@clisp.org>
54087
54088         * lib/unistd.in.h: Include <winsock2.h>.
54089         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
54090         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
54091         Provide dummy declarations.
54092         (gethostname): Override.
54093         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
54094         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
54095         gl_PREREQ_SYS_H_WINSOCK2.
54096         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
54097         * doc/posix-functions/gethostname.texi: More details.
54098
54099 2008-10-25  Bruno Haible  <bruno@clisp.org>
54100
54101         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
54102         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
54103         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
54104
54105         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
54106         here ...
54107         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
54108         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
54109         gl_UNISTD_H_DEFAULTS.
54110
54111 2008-10-25  Eric Blake  <ebb9@byu.net>
54112
54113         signbit: avoid spurious compiler failure
54114         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
54115         declarations inside function.
54116
54117 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54118             Bruno Haible  <bruno@clisp.org>
54119
54120         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
54121         * modules/random_r (Depends-on): Add stdint.
54122
54123 2008-10-24  Bruno Haible  <bruno@clisp.org>
54124
54125         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
54126         Eggert.
54127         * modules/strerror (License): Likewise.
54128
54129 2008-10-24  Jim Meyering  <meyering@redhat.com>
54130
54131         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
54132         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
54133
54134 2008-10-24  Eric Blake  <ebb9@byu.net>
54135
54136         getgroups: fix compilation when getgroups is available
54137         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
54138         but with <config.h> override of getgroups disabled.
54139
54140 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54141
54142         * doc/gnulib.texi (Header files): Add note about C++ problems.
54143         Explained by Bruno Haible <bruno@clisp.org>.
54144
54145 2008-10-23  Bruno Haible  <bruno@clisp.org>
54146
54147         Define a dummy SA_NODEFER macro on Interix.
54148         * lib/signal.in.h (SA_NODEFER): Define fallback.
54149         Reported by Aleksey Cheusov <cheusov@tut.by> via
54150         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
54151
54152 2008-10-23  Bruno Haible  <bruno@clisp.org>
54153
54154         * modules/freadahead (License): Change to LGPLv2+.
54155         Suggested by Simon Josefsson.
54156
54157 2008-10-23  Jim Meyering  <meyering@redhat.com>
54158
54159         random_r: new module
54160         * modules/random_r: New file.
54161         * m4/random_r.m4: New file.
54162         * lib/random_r.c: New file, from glibc.
54163         * modules/random_r-tests: New file.
54164         * tests/test-random_r.c: New file.
54165         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
54166          Declare.
54167         (RAND_MAX): Define.
54168         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
54169         * modules/stdlib: Substitute them, too.
54170         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
54171         * doc/glibc-functions/initstate_r.texi: Mention the new module.
54172         * doc/glibc-functions/random_r.texi: Likewise.
54173         * doc/glibc-functions/setstate_r.texi: Likewise.
54174         * doc/glibc-functions/srandom_r.texi: Likewise.
54175         * config/srclist.txt: Mention it.
54176
54177 2008-10-23  David Lutterkort  <lutter@redhat.com>
54178
54179         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
54180         link requirement
54181
54182 2008-10-23  Jim Meyering  <meyering@redhat.com>
54183
54184         selinux-h: mark parameters of stub functions as intentionally unused
54185         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
54186         * lib/se-context.in.h: Likewise.
54187
54188 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54189
54190         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
54191
54192 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54193
54194         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
54195
54196 2008-10-22  Eric Blake  <ebb9@byu.net>
54197
54198         glthread/thread: avoid compiler warning
54199         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
54200         Add unreachable abort to silence compiler.
54201
54202 2008-10-22  Eric Blake  <ebb9@byu.net>
54203
54204         netdb: also supply struct addrinfo for cygwin 1.5.x
54205         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
54206         older cygwin.
54207         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
54208         cygwin.
54209         * doc/posix-headers/netdb.texi (netdb.h): Document this.
54210
54211 2008-10-22  Bruno Haible  <bruno@clisp.org>
54212
54213         * users.txt: Update entry about pspp.
54214
54215 2008-10-21  Bruno Haible  <bruno@clisp.org>
54216
54217         Simplification.
54218         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
54219         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
54220
54221         Simplification.
54222         * lib/ioctl.c (ioctl): Don't undefine.
54223         * lib/socket.c (socket): Don't undefine.
54224
54225         Remove unused module indicator macros.
54226         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
54227         GNULIB_$1 as a C macro.
54228
54229         * doc/posix-functions/close.texi: Undo last change.
54230         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
54231         Windows platforms.
54232
54233 2008-10-21  Bruno Haible  <bruno@clisp.org>
54234
54235         Add gethostname() declaration to <unistd.h>.
54236         * lib/unistd.in.h (gethostname): New declaration.
54237         * lib/gethostname.c: Include <unistd.h>.
54238         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
54239         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
54240         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
54241         and HAVE_GETHOSTNAME.
54242         * modules/gethostname (Depends-on): Add unistd.
54243         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54244         (Include): Specify <unistd.h>.
54245         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
54246         HAVE_GETHOSTNAME.
54247         * tests/test-gethostname.c: Include <unistd.h> first.
54248
54249 2008-10-21  Bruno Haible  <bruno@clisp.org>
54250
54251         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
54252         * modules/select-tests (Depends-on): Likewise.
54253         Reported by Simon Josefsson.
54254
54255 2008-10-21  Simon Josefsson  <simon@josefsson.org>
54256
54257         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
54258         * lib/accept.c: New file, based on winsock.c.
54259         * lib/bind.c: New file, based on winsock.c.
54260         * lib/connect.c: New file, based on winsock.c.
54261         * lib/getpeername.c: New file, based on winsock.c.
54262         * lib/getsockname.c: New file, based on winsock.c.
54263         * lib/getsockopt.c: New file, based on winsock.c.
54264         * lib/ioctl.c: New file, based on winsock.c.
54265         * lib/listen.c: New file, based on winsock.c.
54266         * lib/recv.c: New file, based on winsock.c.
54267         * lib/recvfrom.c: New file, based on winsock.c.
54268         * lib/send.c: New file, based on winsock.c.
54269         * lib/sendto.c: New file, based on winsock.c.
54270         * lib/setsockopt.c: New file, based on winsock.c.
54271         * lib/shutdown.c: New file, based on winsock.c.
54272         * lib/socket.c: New file, based on winsock.c.
54273         * lib/w32sock.h: New file, based on winsock.c.
54274         * lib/winsock.c: Remove file.
54275         * modules/accept: Likewise.
54276         * modules/bind: Likewise.
54277         * modules/connect: Likewise.
54278         * modules/getpeername: Likewise.
54279         * modules/getsockname: Likewise.
54280         * modules/getsockopt: Likewise.
54281         * modules/ioctl: Likewise.
54282         * modules/listen: Likewise.
54283         * modules/recv: Likewise.
54284         * modules/recvfrom: Likewise.
54285         * modules/send: Likewise.
54286         * modules/sendto: Likewise.
54287         * modules/setsockopt: Likewise.
54288         * modules/shutdown: Likewise.
54289         * modules/socket: Use socket.c instead of winsock.c.
54290         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
54291         * doc/posix-functions/accept.texi: Doc fix.
54292         * doc/posix-functions/bind.texi: Doc fix.
54293         * doc/posix-functions/close.texi: Doc fix.
54294         * doc/posix-functions/connect.texi: Doc fix.
54295         * doc/posix-functions/getpeername.texi: Doc fix.
54296         * doc/posix-functions/getsockname.texi: Doc fix.
54297         * doc/posix-functions/getsockopt.texi: Doc fix.
54298         * doc/posix-functions/ioctl.texi: Doc fix.
54299         * doc/posix-functions/listen.texi: Doc fix.
54300         * doc/posix-functions/recv.texi: Doc fix.
54301         * doc/posix-functions/recvfrom.texi: Doc fix.
54302         * doc/posix-functions/send.texi: Doc fix.
54303         * doc/posix-functions/sendto.texi: Doc fix.
54304         * doc/posix-functions/setsockopt.texi: Doc fix.
54305         * doc/posix-functions/shutdown.texi: Doc fix.
54306         * doc/posix-functions/socket.texi: Doc fix.
54307
54308 2008-10-20  Bruno Haible  <bruno@clisp.org>
54309
54310         Take into account the role of SIGABRT_COMPAT on Windows 2008.
54311         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
54312         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
54313         as an alias for SIGABRT.
54314         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
54315         (sigaction): Map it to SIGABRT.
54316         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
54317
54318 2008-10-20  Bruno Haible  <bruno@clisp.org>
54319
54320         * lib/fts.c: Don't include lstat.h.
54321         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
54322
54323         Move the lstat() declaration to <sys/stat.h>.
54324         * lib/lstat.h: Remove file.
54325         * lib/sys_stat.in.h: Add special invocation convention.
54326         (lstat): New declaration.
54327         * lib/lstat.c (orig_lstat): New function.
54328         (rpl_lstat): Use orig_lstat instead of lstat.
54329         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
54330         AC_C_INLINE. Set REPLACE_LSTAT.
54331         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
54332         and REPLACE_LSTAT.
54333         * modules/lstat (Files): Remove lib/lstat.h.
54334         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
54335         (Include): Specify <sys/stat.h> instead of lstat.h.
54336         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
54337         REPLACE_LSTAT.
54338         * NEWS: Mention the change.
54339
54340 2008-10-20  Bruno Haible  <bruno@clisp.org>
54341
54342         * modules/posix_spawn-tests: New file.
54343         * tests/test-posix_spawn3.c: New file.
54344
54345 2008-10-20  Bruno Haible  <bruno@clisp.org>
54346
54347         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
54348         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54349         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
54350         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54351         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
54352
54353 2008-10-20  Bruno Haible  <bruno@clisp.org>
54354
54355         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
54356         of posix_spawn on AIX 5.3.
54357
54358 2008-10-20  Bruno Haible  <bruno@clisp.org>
54359
54360         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
54361
54362 2008-10-20  Bruno Haible  <bruno@clisp.org>
54363
54364         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
54365         of AC_LANG_PROGRAM.
54366
54367 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54368
54369         * lib/netdb.in.h: Don't define GNU specific constants until they
54370         are supported or needed.  Reported by Bruno Haible
54371         <bruno@clisp.org>.
54372
54373 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54374
54375         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
54376
54377 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54378
54379         * lib/getaddrinfo.h: Remove file.
54380         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
54381         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
54382         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
54383         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
54384         * modules/netdb: Substitute GNULIB_GETADDRINFO.
54385         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
54386         * tests/test-getaddrinfo.c: Likewise.
54387         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
54388         * NEWS: Mention change.
54389
54390 2008-10-19  Bruno Haible  <bruno@clisp.org>
54391
54392         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
54393
54394 2008-10-19  Bruno Haible  <bruno@clisp.org>
54395
54396         * lib/wait-process.c: Include simply <sys/wait.h>.
54397         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
54398         WIFSTOPPED): Remove fallback definitions.
54399         * modules/wait-process (Depends-on): Add sys_wait.
54400
54401         New module 'sys_wait'.
54402         * modules/sys_wait: New file.
54403         * lib/sys_wait.in.h: New file, partially copied from
54404         lib/wait-process.c.
54405         * m4/sys_wait_h.m4: New file.
54406         * doc/posix-headers/sys_wait.texi: Mention the new module.
54407
54408 2008-10-19  Bruno Haible  <bruno@clisp.org>
54409
54410         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
54411
54412 2008-10-19  Bruno Haible  <bruno@clisp.org>
54413
54414         Assume that waitpid() fills an 'int' status, not a 'union wait'.
54415         * lib/wait-process.c (WAIT_T): Remove type.
54416         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
54417         (wait_subprocess): Update.
54418
54419 2008-10-19  Bruno Haible  <bruno@clisp.org>
54420
54421         New module 'atoll'.
54422         * modules/atoll: New file.
54423         * lib/stdlib.in.h (atoll): New declaration.
54424         * lib/atoll.c: New file, from glibc with modifications.
54425         * m4/atoll.m4: New file.
54426         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
54427         HAVE_ATOLL.
54428         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
54429         * doc/posix-functions/atoll.texi: Mention the new module.
54430
54431 2008-10-19  Bruno Haible  <bruno@clisp.org>
54432
54433         Add strtoull() declaration to <stdlib.h>.
54434         * lib/stdlib.in.h (strtoull): New declaration.
54435         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
54436         Set HAVE_STRTOULL.
54437         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
54438         HAVE_STRTOULL.
54439         * modules/strtoull (Depends-on): Add stdlib.
54440         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54441         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
54442         HAVE_STRTOULL.
54443
54444 2008-10-19  Bruno Haible  <bruno@clisp.org>
54445
54446         Add strtoll() declaration to <stdlib.h>.
54447         * lib/stdlib.in.h (strtoll): New declaration.
54448         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
54449         Set HAVE_STRTOLL.
54450         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
54451         HAVE_STRTOLL.
54452         * modules/strtoll (Depends-on): Add stdlib.
54453         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54454         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
54455
54456 2008-10-19  Bruno Haible  <bruno@clisp.org>
54457
54458         * modules/bcopy (Depends-on): Add strings.
54459         (Include): Specify <strings.h>.
54460
54461 2008-10-19  Bruno Haible  <bruno@clisp.org>
54462
54463         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
54464
54465 2008-10-19  Bruno Haible  <bruno@clisp.org>
54466
54467         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
54468         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
54469         mingw.
54470
54471 2008-10-19  Bruno Haible  <bruno@clisp.org>
54472
54473         * lib/atanl.c: Don't include isnanl.h.
54474         * lib/cosl.c: Likewise.
54475         * lib/ldexpl.c: Likewise.
54476         * lib/logl.c: Likewise.
54477         * lib/sinl.c: Likewise.
54478         * lib/sqrtl.c: Likewise.
54479         * lib/tanl.c: Likewise.
54480
54481         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
54482         * lib/isnanf.h: Remove file.
54483         * lib/isnand.h: Remove file.
54484         * lib/isnanl.h: Remove file.
54485         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
54486         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
54487         macros.
54488         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
54489         HAVE_ISNANF, don't define it as a C macro.
54490         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
54491         HAVE_ISNAND, don't define it as a C macro.
54492         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
54493         HAVE_ISNANL, don't define it as a C macro.
54494         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
54495         HAVE_ISNAN[FDL].
54496         * modules/isnanf (Files): Remove lib/isnanf.h.
54497         (Depends-on): Add math.
54498         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
54499         (Include): Specify <math.h> instead of isnanf.h.
54500         * modules/isnand (Files): Remove lib/isnand.h.
54501         (Depends-on): Add math.
54502         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
54503         (Include): Specify <math.h> instead of isnand.h.
54504         * modules/isnanl (Files): Remove lib/isnanl.h.
54505         (Depends-on): Add math.
54506         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
54507         (Include): Specify <math.h> instead of isnanl.h.
54508         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
54509         HAVE_ISNAN[FDL].
54510         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
54511         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
54512         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
54513         * NEWS: Mention the change.
54514
54515 2008-10-18  Bruno Haible  <bruno@clisp.org>
54516
54517         Add getusershell(), setusershell(), endusershell() declarations to
54518         <unistd.h>.
54519         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
54520         declarations.
54521         * lib/getusershell.c: Include unistd.h.
54522         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
54523         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
54524         HAVE_GETUSERSHELL.
54525         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
54526         and HAVE_GETUSERSHELL.
54527         * modules/getusershell (Depends-on): Add unistd, extensions.
54528         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54529         (Include): Specify <unistd.h>.
54530         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
54531         HAVE_GETUSERSHELL.
54532
54533 2008-10-18  Bruno Haible  <bruno@clisp.org>
54534
54535         Add a getloadavg() declaration to <stdlib.h>.
54536         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
54537         getloadavg declaration.
54538         (getloadavg): New declaration.
54539         * lib/getloadavg.c: Include <stdlib.h> first.
54540         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
54541         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
54542         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
54543         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
54544         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
54545         * modules/getloadavg (Depends-on): Add stdlib, extensions.
54546         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54547         (Include): Specify <stdlib.h>.
54548         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
54549         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
54550
54551 2008-10-18  Bruno Haible  <bruno@clisp.org>
54552
54553         * lib/dirchownmod.c: Don't include lchmod.h.
54554
54555         Move the lchmod() declaration to <sys/stat.h>.
54556         * lib/lchmod.h: Remove file.
54557         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
54558         (lchmod): New declaration, moved here from lib/lchown.h.
54559         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
54560         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
54561         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
54562         and HAVE_LCHMOD.
54563         * modules/lchmod (Files): Remove lib/lchmod.h.
54564         (Depends-on): Add sys_stat, extensions.
54565         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
54566         (Include): Specify <sys/stat.h> instead of lchmod.h.
54567         * modules/sys_stat (Depends-on): Add link-warning.
54568         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
54569         definition of GL_LINK_WARNING.
54570         * NEWS: Mention the change.
54571
54572 2008-10-18  Bruno Haible  <bruno@clisp.org>
54573
54574         * lib/fchdir.c: Don't include dirfd.h.
54575         * lib/fts.c: Likewise.
54576         * lib/getcwd.c: Likewise.
54577         * lib/glob.c: Likewise.
54578
54579         Move the dirfd() declaration to <dirent.h>.
54580         * lib/dirfd.h: Remove file.
54581         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
54582         (dirfd): New declaration.
54583         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
54584         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
54585         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
54586         HAVE_DECL_DIRFD.
54587         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
54588         HAVE_DECL_DIRFD.
54589         * modules/dirfd (Files): Remove lib/dirfd.h.
54590         (Depends-on): Add dirent, extensions.
54591         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
54592         (Include): Specify <dirent.h> instead of dirfd.h.
54593         * modules/dirent (Depends-on): Add link-warning.
54594         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
54595         definition of GL_LINK_WARNING.
54596         * NEWS: Mention the change.
54597
54598 2008-10-18  Bruno Haible  <bruno@clisp.org>
54599
54600         Move the euidaccess() declaration to <unistd.h>.
54601         * lib/euidaccess.h: Remove file.
54602         * lib/unistd.in.h (euidaccess): New declaration.
54603         * lib/euidaccess.c: Don't include euidaccess.h.
54604         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
54605         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
54606         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
54607         and HAVE_EUIDACCESS.
54608         * modules/euidaccess (Files): Remove lib/euidaccess.h.
54609         (Depends-on): Add unistd.
54610         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54611         (Include): Specify <unistd.h> instead of euidaccess.h.
54612         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
54613         HAVE_EUIDACCESS.
54614         * NEWS: Mention the change.
54615
54616 2008-10-18  Bruno Haible  <bruno@clisp.org>
54617
54618         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
54619
54620         Move the getdomainname() declaration to <unistd.h>.
54621         * lib/getdomainname.h: Remove file.
54622         * lib/unistd.in.h (getdomainname): New declaration.
54623         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
54624         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
54625         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
54626         HAVE_GETDOMAINNAME.
54627         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54628         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
54629         * modules/getdomainname (Files): Remove lib/getdomainname.h.
54630         (Depends-on): Add unistd, extensions.
54631         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54632         (Includes): Specify <unistd.h> instead of getdomainname.h.
54633         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
54634         HAVE_GETDOMAINNAME.
54635         * NEWS: Mention the change.
54636
54637 2008-10-18  Bruno Haible  <bruno@clisp.org>
54638
54639         * modules/dirent: New file.
54640         * m4/dirent_h.m4: New file.
54641         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
54642         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
54643         * modules/fchdir (Files): Remove lib/dirent.in.h.
54644         (Depends-on): Add dirent.
54645         (Makefile.am): Move rules to modules/dirent.
54646         * doc/posix-headers/dirent.texi: Mention the new module.
54647
54648 2008-10-18  Bruno Haible  <bruno@clisp.org>
54649
54650         Avoid -Wunused-parameter warnings in public gnulib header files.
54651         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
54652         macro.
54653         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
54654
54655 2008-10-18  Bruno Haible  <bruno@clisp.org>
54656
54657         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
54658         * doc/glibc-functions/error.texi: Mention the module 'error'.
54659         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
54660         * doc/glibc-functions/getdomainname.texi: Mention the module
54661         'getdomainname'.
54662         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
54663         * doc/glibc-functions/getpagesize.texi: Mention the module
54664         'getpagesize'.
54665         * doc/glibc-functions/getusershell.texi: Mention the module
54666         'getusershell'.
54667         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
54668         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
54669         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
54670         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
54671         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
54672         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
54673         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
54674         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
54675         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
54676         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
54677         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
54678         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
54679         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
54680         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
54681
54682 2008-10-17  Bruno Haible  <bruno@clisp.org>
54683
54684         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
54685         HP-UX and IRIX, use -0.0L.
54686         * tests/test-ceill.c (minus_zero): Likewise.
54687         * tests/test-floorl.c (minus_zero): Likewise.
54688         * tests/test-frexpl.c (minus_zero): Likewise.
54689         * tests/test-isnan.c (minus_zerol): Likewise.
54690         * tests/test-isnanl.h (minus_zero): Likewise.
54691         * tests/test-ldexpl.c (minus_zero): Likewise.
54692         * tests/test-roundl.c (minus_zero): Likewise.
54693         * tests/test-signbit.c (minus_zerol): Likewise.
54694         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
54695         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
54696         * tests/test-truncl.c (minus_zero): Likewise.
54697         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
54698         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
54699         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
54700         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
54701
54702 2008-10-17  Bruno Haible  <bruno@clisp.org>
54703
54704         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
54705         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
54706         that it gets activated only for gcc >= 3.0.
54707         * lib/dirent.in.h: Likewise.
54708         * lib/errno.in.h: Likewise.
54709         * lib/fcntl.in.h: Likewise.
54710         * lib/float.in.h: Likewise.
54711         * lib/iconv.in.h: Likewise.
54712         * lib/inttypes.in.h: Likewise.
54713         * lib/locale.in.h: Likewise.
54714         * lib/math.in.h: Likewise.
54715         * lib/netdb.in.h: Likewise.
54716         * lib/netinet_in.in.h: Likewise.
54717         * lib/search.in.h: Likewise.
54718         * lib/signal.in.h: Likewise.
54719         * lib/spawn.in.h: Likewise.
54720         * lib/stdarg.in.h: Likewise.
54721         * lib/stdint.in.h: Likewise.
54722         * lib/stdio.in.h: Likewise.
54723         * lib/stdlib.in.h: Likewise.
54724         * lib/string.in.h: Likewise.
54725         * lib/strings.in.h: Likewise.
54726         * lib/sys_file.in.h: Likewise.
54727         * lib/sys_ioctl.in.h: Likewise.
54728         * lib/sys_select.in.h: Likewise.
54729         * lib/sys_socket.in.h: Likewise.
54730         * lib/sys_stat.in.h: Likewise.
54731         * lib/sys_time.in.h: Likewise.
54732         * lib/sysexits.in.h: Likewise.
54733         * lib/time.in.h: Likewise.
54734         * lib/unistd.in.h: Likewise.
54735         * lib/wchar.in.h: Likewise.
54736         * lib/wctype.in.h: Likewise.
54737         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54738
54739 2008-10-17  Jim Meyering  <meyering@redhat.com>
54740
54741         ignore-value: don't depend on inline module
54742         * modules/ignore-value (Depends-on): Remove 'inline'.
54743         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
54744         Suggestion from Bruno Haible.
54745
54746 2008-10-17  Bruno Haible  <bruno@clisp.org>
54747
54748         New implementation of condition variables for Win32.
54749         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
54750         (gl_linked_waitqueue_t): New type.
54751         (gl_cond_t): Use it.
54752         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
54753         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
54754         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
54755         (glthread_cond_init_func, glthread_cond_wait_func,
54756         glthread_cond_timedwait_func, glthread_cond_signal_func,
54757         glthread_cond_broadcast_func, glthread_cond_destroy_func):
54758         Reimplemented on the basis of gl_linked_waitqueue_t.
54759         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
54760         gl_waitqueue_t.
54761         (gl_rwlock_t): Update.
54762         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
54763
54764 2008-10-17  Simon Josefsson  <simon@josefsson.org>
54765
54766         * modules/recvfrom (Depends-on): Add dependency on getpeername.
54767         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
54768
54769 2008-10-17  Jim Meyering  <meyering@redhat.com>
54770
54771         ignore-value: new module
54772         * modules/ignore-value: New file.
54773         * lib/ignore-value.h: New file.
54774         * MODULES.html.sh (Compiler warning management): New section,
54775         just for this module.  More to come.
54776
54777 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54778
54779         open-safer.c: avoid 'signed and unsigned in conditional...' warning
54780         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
54781         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
54782
54783 2008-10-16  Jim Meyering  <meyering@redhat.com>
54784
54785         openat-die.c: avoid 'no previous prototype' warning
54786         * lib/openat-die.c: Include "openat.h".
54787         Reported by Reuben Thomas <rrt@sc3d.org>.
54788
54789 2008-10-16  Simon Josefsson  <simon@josefsson.org>
54790
54791         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
54792         * lib/netdb.in.h: Fix typo.
54793         Reported by Bruno Haible  <bruno@clisp.org>
54794
54795         * lib/netdb.in.h: Include sys/socket.h for platforms without
54796         netdb.h, to get structures like hostent on MinGW.
54797         * modules/netdb (Depends-on): Add sys_socket.
54798
54799 2008-10-15  Simon Josefsson  <simon@josefsson.org>
54800
54801         * modules/netdb, modules/netdb-tests: New file.
54802         * m4/netdb_h.m4: New file.
54803         * lib/netdb.in.h: Add, currently just an empty file pending
54804         definitions.
54805         * tests/test-netdb.c: New file.
54806         * doc/posix-headers/netdb.texi: Mention that we replace it if
54807         needed.
54808         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54809         netdb.
54810
54811 2008-10-15  Simon Josefsson  <simon@josefsson.org>
54812
54813         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
54814         with code.
54815
54816 2008-10-13  Bruno Haible  <bruno@clisp.org>
54817
54818         * lib/glthread/cond.c (glthread_cond_wait_func,
54819         glthread_cond_timedwait_func): Add a comment.
54820
54821 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
54822
54823         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
54824         * tests/test-select.c: Likewise,
54825
54826 2008-10-13  Bruno Haible  <bruno@clisp.org>
54827
54828         * lib/glthread/cond.c (glthread_cond_wait_func,
54829         glthread_cond_timedwait_func): Fix variable name.
54830         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
54831
54832 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
54833
54834         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
54835         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
54836         struct sockaddr.sa_len.
54837         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
54838
54839 2008-10-13  Simon Josefsson  <simon@josefsson.org>
54840
54841         * build-aux/pmccabe2html: Add css and css_url parameters.
54842
54843 2008-10-12  Bruno Haible  <bruno@clisp.org>
54844
54845         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
54846         calling aclx_get.
54847         Reported by Rainer Tammer <tammer@tammer.net>.
54848
54849 2008-10-12  Bruno Haible  <bruno@clisp.org>
54850
54851         Use msvcrt aware primitives for creation/termination of Win32 threads.
54852         * lib/glthread/thread.c: Include <process.h>.
54853         (glthread_create_func): Use _beginthreadex instead of CreateThread.
54854         (wrapper_func): Update signature.
54855         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
54856
54857 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
54858             Bruno Haible  <bruno@clisp.org>
54859
54860         Provide a Win32 implementation of the 'cond' module.
54861         * lib/glthread/cond.h [USE_WIN32]: New implementation.
54862         * lib/glthread/cond.c (glthread_cond_init_func,
54863         glthread_cond_wait_func, glthread_cond_timedwait_func,
54864         glthread_cond_signal_func, glthread_cond_broadcast_func,
54865         glthread_cond_destroy_func) [USE_WIN32]: New functions.
54866         * modules/cond (Dependencies): Add gettimeofday.
54867
54868 2008-10-11  Bruno Haible  <bruno@clisp.org>
54869
54870         Make sleep work on older versions of mingw.
54871         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
54872         only whether it exists.
54873         * doc/posix-functions/sleep.texi: Mention the problem with older
54874         versions of mingw.
54875
54876 2008-10-11  Bruno Haible  <bruno@clisp.org>
54877
54878         New module 'shutdown'.
54879         * modules/shutdown: New file.
54880         * lib/sys_socket.in.h (shutdown): New declaration.
54881         * lib/winsock.c (shutdown): New function.
54882         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
54883         GNULIB_SHUTDOWN.
54884         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
54885         * doc/posix-functions/shutdown.texi: Document the new module.
54886
54887 2008-10-11  Jim Meyering  <meyering@redhat.com>
54888
54889         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
54890
54891 2008-10-11  Bruno Haible  <bruno@clisp.org>
54892
54893         New module 'fclose'.
54894         * modules/fclose: New file.
54895         * lib/stdio.in.h (fclose): New declaration.
54896         * lib/fclose.c: New file.
54897         * m4/fclose.m4: New file.
54898         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
54899         REPLACE_FCLOSE.
54900         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
54901         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
54902         REPLACE_FCLOSE.
54903         * modules/close (Depends-on): fclose.
54904         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
54905
54906 2008-10-11  Bruno Haible  <bruno@clisp.org>
54907
54908         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
54909         set errno and don't call _close.
54910
54911 2008-10-10  Bruno Haible  <bruno@clisp.org>
54912
54913         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
54914         ACL, not afterwards. Fixes test failure on Cygwin.
54915
54916 2008-10-09  Ben Pfaff  <blp@gnu.org>
54917
54918         * build-aux/announce-gen: Fix gnulib version related part of usage
54919         message.  Die with a useful error message if no tarballs are
54920         found.
54921
54922 2008-10-10  Jim Meyering  <meyering@redhat.com>
54923
54924         bootstrap: use git's --depth=N option only if it's supported
54925         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
54926         recognize the --depth option.  Reported by Pádraig Brady.
54927
54928 2008-10-09  Bruno Haible  <bruno@clisp.org>
54929
54930         New module 'ioctl'.
54931         * modules/ioctl: New file.
54932         * lib/sys_socket.in.h (ioctl): Remove declaration.
54933         * lib/winsock.c: Include <sys/ioctl.h>.
54934         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
54935         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
54936         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
54937         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
54938         * doc/posix-functions/ioctl.texi: Mention the new module.
54939
54940 2008-10-09  Bruno Haible  <bruno@clisp.org>
54941
54942         New module 'sys_ioctl'.
54943         * lib/sys_ioctl.in.h: New file.
54944         * m4/sys_ioctl_h.m4: New file.
54945         * modules/sys_ioctl: New file.
54946         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
54947
54948 2008-10-09  Bruno Haible  <bruno@clisp.org>
54949
54950         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
54951         * lib/winsock.c: Include <stdarg.h>.
54952         (rpl_ioctl): Change to second argument 'int' and then varargs.
54953
54954 2008-10-09  Bruno Haible  <bruno@clisp.org>
54955
54956         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
54957         when the sys_socket module is present and the system has <winsock2.h>.
54958
54959 2008-10-09  Bruno Haible  <bruno@clisp.org>
54960
54961         * doc/posix-functions/close.texi: Mention module 'close' instead of
54962         module 'sys_socket'.
54963
54964 2008-10-09  Bruno Haible  <bruno@clisp.org>
54965
54966         * doc/glibc-headers/sys_ioctl.texi: New file.
54967         * doc/gnulib.texi: Include it.
54968
54969 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
54970             Bruno Haible  <bruno@clisp.org>
54971
54972         Combine the two replacements of 'close'.
54973         * lib/sys_socket.in.h (close): Define to a reminder to include
54974         <unistd.h>.
54975         (_gl_close_fd_maybe_socket): New declaration.
54976         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
54977         * lib/winsock.c (close): Remove undefinition.
54978         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
54979         needed for the gnulib module 'close'.
54980         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
54981         define to an error symbol or to a warning, if suitable.
54982         * lib/close.c: Include <sys/socket.h>.
54983         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
54984         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
54985         UNISTD_H_HAVE_WINSOCK2_H.
54986         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
54987         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54988         UNISTD_H_HAVE_WINSOCK2_H.
54989         * modules/sys_socket (Files): Add m4/unistd_h.m4.
54990         (configure.ac): Set a module indicator.
54991         (Makefile.am): Substitute GNULIB_CLOSE.
54992         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
54993         * modules/poll-tests (Depends-on): Add close.
54994         * modules/select-tests (Depends-on): Likewise.
54995
54996 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
54997             Bruno Haible  <bruno@clisp.org>
54998
54999         New module 'close'.
55000         * modules/close: New file.
55001         * lib/unistd.in.h (close): Move declaration out of the
55002         FCHDIR_REPLACEMENT scope.
55003         (_gl_unregister_fd): New declaration.
55004         * lib/close.c: New file.
55005         * lib/fchdir.c (rpl_close): Remove function.
55006         * m4/close.m4: New file.
55007         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55008         close.
55009         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
55010         REPLACE_CLOSE.
55011         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
55012         REPLACE_CLOSE.
55013         * modules/fchdir (Depends-on): Add close.
55014
55015 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55016             Bruno Haible  <bruno@clisp.org>
55017
55018         * lib/fcntl.in.h (open): Simplify conditionals.
55019         (_gl_register_fd): New declaration.
55020         * lib/fchdir.c (rpl_open): Remove function.
55021         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
55022         also.
55023         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
55024         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55025         open.
55026
55027 2008-10-09  Jim Meyering  <meyering@redhat.com>
55028
55029         GNUmakefile: use the more name-space-friendly "_version"
55030         * top/GNUmakefile (_dummy): Update.
55031         (_version): Rename from "version".
55032
55033 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55034             Bruno Haible  <bruno@clisp.org>
55035
55036         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
55037         rpl_close.
55038         (_gl_register_fd): New function, extracted from rpl_open.
55039         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
55040         (rpl_open, rpl_opendir): Use _gl_register_fd.
55041
55042 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55043
55044         Fix organization of 'open' replacement.
55045         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
55046         (gl_FUNC_OPEN): Use it.
55047         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
55048
55049 2008-10-08  Bruno Haible  <bruno@clisp.org>
55050
55051         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
55052
55053 2008-10-08  Simon Josefsson  <simon@josefsson.org>
55054
55055         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
55056         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
55057         listen).
55058
55059 2008-10-08  Eric Blake  <ebb9@byu.net>
55060
55061         GNUmakefile: add 'make version' target
55062         * top/GNUmakefile (_curr-ver): Split version update rules...
55063         (version): ...into a target.
55064
55065 2008-10-07  Bruno Haible  <bruno@clisp.org>
55066
55067         Use a more portable replacement expression for -0.0L.
55068         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
55069         instead of -0.0L. Fix m4 quotation.
55070
55071         * tests/test-signbit.c: Include <float.h>.
55072         (minus_zero): New variable.
55073         (test_signbitl): Use minus_zero instead of -zero.
55074         * modules/signbit-tests (Depends-on): Add float.
55075
55076         * tests/test-ceill.c: Include <float.h>.
55077         (zero): Remove variable.
55078         (minus_zero): New variable.
55079         (main): Use minus_zero instead of -zero.
55080         * modules/ceill-tests (Depends-on): Add float.
55081
55082         * tests/test-floorl.c: Include <float.h>.
55083         (zero): Remove variable.
55084         (minus_zero): New variable.
55085         (main): Use minus_zero instead of -zero.
55086         * modules/floorl-tests (Depends-on): Add float.
55087
55088         * tests/test-roundl.c: Include <float.h>.
55089         (zero): Remove variable.
55090         (minus_zero): New variable.
55091         (main): Use minus_zero instead of -zero.
55092         * modules/roundl-tests (Depends-on): Add float.
55093
55094         * tests/test-truncl.c: Include <float.h>.
55095         (zero): Remove variable.
55096         (minus_zero): New variable.
55097         (main): Use minus_zero instead of -zero.
55098         * modules/truncl-tests (Depends-on): Add float.
55099
55100         * tests/test-frexpl.c (zero): Remove variable.
55101         (minus_zero): New variable.
55102         (main): Use minus_zero instead of -zero.
55103         * modules/frexpl-tests (Depends-on): Add float.
55104
55105         * tests/test-isnan.c (zerol): Remove variable.
55106         (minus_zerol): New variable.
55107         (test_long_double): Use minus_zerol instead of -zerol.
55108         * modules/isnan-tests (Depends-on): Add float.
55109
55110         * tests/test-isnanl.h (zero): Remove variable.
55111         (minus_zero): New variable.
55112         (main): Use minus_zero instead of -zero.
55113         * modules/isnanl-nolibm-tests (Depends-on): Add float.
55114         * modules/isnanl-tests (Depends-on): Add float.
55115
55116         * tests/test-ldexpl.c (zero): Remove variable.
55117         (minus_zero): New variable.
55118         (main): Use minus_zero instead of -zero.
55119         * modules/ldexpl-tests (Depends-on): Add float.
55120
55121         * tests/test-snprintf-posix.h (zerol): Remove variable.
55122         (minus_zerol): New variable.
55123         (test_function): Use minus_zerol instead of -zerol.
55124         * modules/snprintf-posix-tests (Depends-on): Add float.
55125         * modules/vsnprintf-posix-tests (Depends-on): Add float.
55126
55127         * tests/test-sprintf-posix.h (zerol): Remove variable.
55128         (minus_zerol): New variable.
55129         (test_function): Use minus_zerol instead of -zerol.
55130         * modules/sprintf-posix-tests (Depends-on): Add float.
55131         * modules/vsprintf-posix-tests (Depends-on): Add float.
55132
55133         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
55134         (minus_zerol): New variable.
55135         (test_function): Use minus_zerol instead of -zerol.
55136         * modules/vasnprintf-posix-tests (Depends-on): Add float.
55137
55138         * tests/test-vasprintf-posix.c (zerol): Remove variable.
55139         (minus_zerol): New variable.
55140         (test_function): Use minus_zerol instead of -zerol.
55141         * modules/vasprintf-posix-tests (Depends-on): Add float.
55142
55143 2008-10-07  Simon Josefsson  <simon@josefsson.org>
55144
55145         * MODULES.html.sh (Support for building documentation): Mention
55146         pmccabe2html.  Sort entries.
55147
55148         Add pmccabe2html module, from gnupdf.
55149         * build-aux/pmccabe.css: New file.
55150         * build-aux/pmccabe2html: New file.
55151         * m4/pmccabe2html.m4: New file.
55152         * modules/pmccabe2html: New file.
55153
55154 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
55155
55156         flock: new module
55157         * MODULES.html.sh: Add to list of modules.
55158         * lib/flock.c: flock implementation for Windows and Unix systems
55159         which have fcntl.
55160         * doc/glibc-functions/flock.texi: Update documentation.
55161         * lib/sys_file.in.h: <sys/file.h> header file.
55162         * m4/flock.m4: M4 macros.
55163         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
55164         * modules/flock: flock module.
55165         * modules/flock-tests: flock tests module.
55166         * modules/sys_file: sys/file.h module.
55167         * tests/test-flock.c: test suite for flock.
55168
55169 2008-10-06  Jim Meyering  <meyering@redhat.com>
55170
55171         bootstrap: check for LT_INIT more portably still ;-)
55172         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
55173         Spotted by Bruno Haible.
55174
55175 2008-10-06  Eric Blake  <ebb9@byu.net>
55176
55177         test-signbit: avoid tripping Irix cc bug on -0.0L
55178         * tests/test-signbit.c (minus_zerol): Delete, and replace with
55179         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
55180         entire testsuite consistent and avoids an Irix 6.2 bug.
55181
55182 2008-10-05  Bruno Haible  <bruno@clisp.org>
55183             Jim Meyering  <jim@meyering.net>
55184
55185         Add an option for ignoring EPIPE during close_stdout.
55186         * lib/closeout.h: Include <stdbool.h>.
55187         (close_stdout_set_ignore_EPIPE): New declaration.
55188         * lib/closeout.c: Include <stdbool.h>.
55189         (ignore_EPIPE): New variable.
55190         (close_stdout_set_ignore_EPIPE): New function.
55191         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
55192         * lib/close-stream.c (close_stream): Mention the possible EPIPE
55193         failure.
55194         * modules/closeout (Depends-on): Add stdbool.
55195
55196 2008-10-05  Bruno Haible  <bruno@clisp.org>
55197
55198         * modules/accept: New file.
55199         * modules/bind: New file.
55200         * modules/connect: New file.
55201         * modules/getpeername: New file.
55202         * modules/getsockname: New file.
55203         * modules/getsockopt: New file.
55204         * modules/listen: New file.
55205         * modules/recv: New file.
55206         * modules/recvfrom: New file.
55207         * modules/send: New file.
55208         * modules/sendto: New file.
55209         * modules/setsockopt: New file.
55210         * modules/socket: New file.
55211         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
55212         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
55213         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
55214         the particular module is requested. Add a link warning when the
55215         particular module is not requested.
55216         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
55217         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
55218         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
55219         the particular module is requested.
55220         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
55221         gl_SYS_SOCKET_H_DEFAULTS): New macros.
55222         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
55223         * modules/sys_socket (Depends-on): Add link-warning.
55224         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
55225         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
55226         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
55227         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
55228         GL_LINK_WARNING.
55229         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
55230         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
55231         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
55232         * doc/posix-functions/getpeername.texi: Mention the new module
55233         'getpeername'.
55234         * doc/posix-functions/getsockname.texi: Mention the new module
55235         'getsockname'.
55236         * doc/posix-functions/getsockopt.texi: Mention the new module
55237         'getsockopt'.
55238         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
55239         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
55240         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
55241         * doc/posix-functions/send.texi: Mention the new module 'send'.
55242         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
55243         * doc/posix-functions/setsockopt.texi: Mention the new module
55244         'setsockopt'.
55245         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
55246         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
55247         listen, connect, accept.
55248         * modules/select-tests (Depends-on): Likewise.
55249
55250 2008-10-05  Bruno Haible  <bruno@clisp.org>
55251
55252         * lib/winsock.c (strerror): Remove unused #undef.
55253         (rpl_close): Remove unused local variable.
55254
55255         * modules/sys_socket (Depends-on); Add errno.
55256
55257 2008-10-05  Bruno Haible  <bruno@clisp.org>
55258
55259         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
55260         (select): Add a link warning when the 'select' module is not used.
55261         * modules/sys_select (Depends-on): Add link-warning.
55262         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
55263         Suggested by Paolo Bonzini.
55264
55265 2008-10-05  Jim Meyering  <meyering@redhat.com>
55266
55267         bootstrap: check for LT_INIT more portably
55268         * build-aux/bootstrap: Avoid using grep -E, since it's not
55269         portable enough.  Suggestion from Bruno Haible.
55270
55271 2008-10-05  Bruno Haible  <bruno@clisp.org>
55272
55273         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
55274         as being fixed by gnulib.
55275
55276 2008-10-05  Bruno Haible  <bruno@clisp.org>
55277
55278         * modules/select-tests: New file, mostly copied from
55279         modules/sys_select-tests.
55280         * tests/test-select.c: New file, mostly copied from
55281         tests/test-sys_select.c.
55282         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
55283         * modules/sys_select-tests (Depends-on): Remove all dependencies.
55284         (Makefile.am): Remove test_sys_select_LDADD.
55285
55286         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
55287         to an undefined symbol, for an error message.
55288         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
55289         (gl_SYS_SELECT_H_DEFAULTS): New macro.
55290         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
55291         winsock-select.c here.
55292         * modules/sys_select (Files): Remove lib/winsock-select.c.
55293         (Depends-on): Remove alloca.
55294         (Makefile.am): Substitute GNULIB_SELECT.
55295         * modules/select: New file.
55296         * doc/posix-functions/select.texi: Update.
55297
55298 2008-10-05  Bruno Haible  <bruno@clisp.org>
55299
55300         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
55301         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
55302         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
55303         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
55304         getdtablesize.
55305         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
55306         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
55307
55308 2008-10-05  Bruno Haible  <bruno@clisp.org>
55309
55310         * modules/getdtablesize-tests: New file.
55311         * tests/test-getdtablesize.c: New file.
55312
55313         New module 'getdtablesize'.
55314         * lib/unistd.in.h (getdtablesize): New declaration.
55315         * lib/getdtablesize.c: New file.
55316         * m4/getdtablesize.m4: New file.
55317         * modules/getdtablesize: New file.
55318         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55319         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
55320         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
55321         HAVE_GETDTABLESIZE.
55322         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
55323
55324 2008-10-05  Bruno Haible  <bruno@clisp.org>
55325
55326         * modules/sched (Makefile.am): Fix typo.
55327         Reported by Simon Josefsson.
55328
55329 2008-10-05  Jim Meyering  <meyering@redhat.com>
55330
55331         bootstrap: check for LT_INIT, too
55332         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
55333         are deprecated.  Suggestion from Ralf Wildenhues.
55334
55335 2008-10-05  Bruno Haible  <bruno@clisp.org>
55336
55337         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
55338         overriding them by ours.
55339         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
55340
55341 2008-10-05  Jim Meyering  <meyering@redhat.com>
55342
55343         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
55344         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
55345         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
55346
55347 2008-10-04  Bruno Haible  <bruno@clisp.org>
55348
55349         * modules/dup2 (License): Change to LGPLv2+.
55350         * modules/sleep (License): Likewise.
55351         * modules/perror (License): Likewise.
55352         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
55353         Blake.
55354         * modules/signal (License): Likewise.
55355         * modules/sigprocmask (License): Likewise.
55356         * modules/raise (License): Change to LGPLv2+, with approval by Jim
55357         Meyering.
55358
55359 2008-10-04  Bruno Haible  <bruno@clisp.org>
55360
55361         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
55362         Reported by Rainer Tammer <tammer@tammer.net>.
55363
55364 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
55365             Bruno Haible  <bruno@clisp.org>
55366
55367         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
55368         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
55369         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
55370
55371 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
55372
55373         filevercmp: new module
55374         * lib/filevercmp.h: New function filevercmp comparing version strings.
55375         * lib/filevercmp.c: Implementation of filevercmp function.
55376         * modules/filevercmp: Module metadata.
55377         * tests/test-filevercmp.c: Unit test for new module.
55378         * modules/filevercmp-tests: Unit test metadata.
55379         * MODULES.html.sh: Add filevercmp module.
55380
55381 2008-10-03  Bruno Haible  <bruno@clisp.org>
55382
55383         * lib/c-ctype.h: Add comment.
55384         Reported by Jim Meyering.
55385
55386 2008-10-02  Bruno Haible  <bruno@clisp.org>
55387
55388         * modules/posix_spawn-internal (Depends-on): Add 'open'.
55389
55390 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55391
55392         * build-aux/bootstrap: Allow renaming bootstrap, and change the
55393         name of bootstrap.conf accordingly.
55394
55395 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55396
55397         * build-aux/bootstrap: Install git-merge-changelog configuration
55398         items into .gitconfig if needed.
55399
55400 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55401
55402         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
55403         git repository, and initialize/update it accordingly.
55404
55405 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
55406
55407         * modules/fsync-tests: New file.
55408         * tests/test-fsync.c: New file.
55409
55410         New module 'fsync'.
55411         * lib/fsync.c: New file.
55412         * m4/fsync.m4: New file.
55413         * modules/fsync: New file.
55414         * lib/unistd.in.h (fsync): New declaration.
55415         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
55416         GNULIB_FSYNC and HAVE_FSYNC.
55417         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
55418         * MODULES.html.sh (posix_functions): Add fsync.
55419         * doc/posix-functions/fsync.texi: Mention the new module.
55420
55421 2008-10-02  Jim Meyering  <meyering@redhat.com>
55422
55423         fts.c: sync with similar code from coreutils' remove.c
55424         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
55425         Guard also with "#if defined __linux__", since for now at least,
55426         this code is Linux-kernel-specific.
55427
55428 2008-10-02  Jim Meyering  <meyering@redhat.com>
55429
55430         fts: bug fixes
55431         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
55432         Include <sys/vfs.h>, not <sys/statfs.h>.
55433
55434         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
55435         Include <sys/vfs.h>, not <sys/statfs.h>.
55436
55437 2008-10-01  Bruno Haible  <bruno@clisp.org>
55438
55439         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
55440         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
55441         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
55442         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
55443         * doc/posix-functions/posix_spawnp.texi: Likewise.
55444         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
55445         whether posix_spawn actually works.
55446         * m4/pipe.m4 (gl_PIPE): Likewise.
55447         * modules/execute (Files): Add m4/posix_spawn.m4.
55448         * modules/pipe (Files): Add m4/posix_spawn.m4.
55449         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
55450
55451 2008-10-01  Jim Meyering  <meyering@redhat.com>
55452
55453         remove trailing spaces
55454         * NEWS: Likewise.
55455         * lib/poll.c (poll): Likewise.
55456         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
55457         * lib/winsock.c (rpl_close): Likewise.
55458         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
55459         * modules/yield: Likewise.
55460         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
55461         * tests/test-sys_select.c (connect_to_socket): Likewise.
55462
55463         fts.c: adjust a new interface to be more generally useful
55464         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
55465         (fts_build): Adjust caller.
55466
55467 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55468
55469         * modules/cond-tests: New file.
55470         * tests/test-cond.c: New file.
55471
55472 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55473             Bruno Haible  <bruno@clisp.org>
55474
55475         * modules/cond (Dependencies): Add errno, time.
55476         * lib/glthread/cond.h: Include <time.h>.
55477         (gl_cond_define, gl_cond_define_initialized): Use the same definition
55478         across platforms.
55479
55480 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55481             Bruno Haible  <bruno@clisp.org>
55482
55483         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
55484
55485 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55486             Bruno Haible  <bruno@clisp.org>
55487
55488         * modules/tls-tests (Depends-on): Add thread, yield.
55489         (configure.ac): Remove all checks.
55490         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
55491         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
55492         gl_thread_self): Remove definitions. Include glthread/thread.h and
55493         glthread/yield.h instead.
55494         (test_tls): Pass an additional NULL argument to gl_thread_join.
55495
55496 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55497             Bruno Haible  <bruno@clisp.org>
55498
55499         * modules/lock-tests (Depends-on): Add thread, yield.
55500         (configure.ac): Remove all checks.
55501         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
55502         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
55503         gl_thread_self): Remove definitions. Include glthread/thread.h and
55504         glthread/yield.h instead.
55505         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
55506         additional NULL argument to gl_thread_join.
55507
55508 2008-09-30  Bruno Haible  <bruno@clisp.org>
55509
55510         Fix the Win32 implementation of the 'thread' module.
55511         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
55512         pointer type.
55513         (gl_thread_self): Invoke gl_thread_self_func.
55514         (gl_thread_self_func): New declaration.
55515         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
55516         (do_init_self_key, init_self_key): New functions.
55517         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
55518         Remove some fields.
55519         (running_threads, running_lock): Remove variables.
55520         (get_current_thread_handle): New function.
55521         (gl_thread_self_func, wrapper_func, glthread_create_func,
55522         glthread_join_func, gl_thread_exit_func): Largely rewritten and
55523         simplified.
55524
55525 2008-09-30  Bruno Haible  <bruno@clisp.org>
55526
55527         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
55528         files.
55529
55530 2008-09-30  Jim Meyering  <meyering@redhat.com>
55531
55532         fts.m4: correct the test for statfs.f_type
55533         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
55534         when checking for statfs.f_type.
55535
55536 2008-09-15  Simon Josefsson  <simon@josefsson.org>
55537
55538         tests: avoid some compiler warnings
55539         * tests/test-memchr.c (main): Pass NULL indirectly.
55540         * tests/test-getdate.c (main): Remove unused variable 'ret'.
55541
55542 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
55543
55544         getdate.y: disallow countable dayshifts like "4 yesterday ago"
55545         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
55546         exactly specified dayshifts.
55547         (dayshift): New rule.
55548         (rel): Add dayshift.
55549         (relative_time_table) [tomorrow, yesterday, today, now]:
55550         Use tDAY_SHIFT in place of tDAY_UNIT.
55551         * tests/test-getdate.c: Add tests for now-disallowed countable
55552         dayshifts, e.g., "4 yesterday ago".
55553
55554 2008-09-29  Bruno Haible  <bruno@clisp.org>
55555
55556         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
55557         * tests/test-posix_spawn1.in.sh: Renamed from
55558         tests/test-posix_spawn.in.sh.
55559         * tests/test-posix_spawn2.c: New file.
55560         * tests/test-posix_spawn2.in.sh: New file.
55561         * modules/posix_spawnp-tests (Files): Update.
55562         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
55563
55564 2008-09-29  Bruno Haible  <bruno@clisp.org>
55565
55566         Propagate effects of putenv/setenv/unsetenv to child processes.
55567         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
55568         * lib/pipe.c (create_pipe): Likewise.
55569
55570 2008-09-29  Bruno Haible  <bruno@clisp.org>
55571
55572         Enable use of shell scripts as executables in mingw.
55573         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
55574         run the program as a shell script.
55575         * lib/pipe.c (create_pipe): Likewise.
55576         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
55577         resulting array.
55578
55579 2008-09-29  Eric Blake  <ebb9@byu.net>
55580
55581         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
55582
55583 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
55584
55585         * doc/posix-functions/accept.texi: Update mingw problems.
55586         * doc/posix-functions/bind.texi: Update mingw problems.
55587         * doc/posix-functions/close.texi: Update mingw problems.
55588         * doc/posix-functions/connect.texi: Update mingw problems.
55589         * doc/posix-functions/getpeername.texi: Update mingw problems.
55590         * doc/posix-functions/getsockname.texi: Update mingw problems.
55591         * doc/posix-functions/getsockopt.texi: Update mingw problems.
55592         * doc/posix-functions/ioctl.texi: Update mingw problems.
55593         * doc/posix-functions/listen.texi: Update mingw problems.
55594         * doc/posix-functions/recv.texi: Update mingw problems.
55595         * doc/posix-functions/recvfrom.texi: Update mingw problems.
55596         * doc/posix-functions/select.texi: Update mingw problems.
55597         * doc/posix-functions/send.texi: Update mingw problems.
55598         * doc/posix-functions/sendto.texi: Update mingw problems.
55599         * doc/posix-functions/setsockopt.texi: Update mingw problems.
55600         * doc/posix-functions/socket.texi: Update mingw problems.
55601
55602 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
55603             Bruno Haible  <bruno@clisp.org>
55604
55605         * lib/sys_select.in.h: Include sys/time.h.
55606         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
55607         * modules/sys_select: Depend on sys_time.
55608         * tests/test-sys_select.c: Test that sys/select.h defines struct
55609         timeval fully.
55610
55611 2008-09-29  Bruno Haible  <bruno@clisp.org>
55612
55613         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
55614         * lib/sys_select.in.h: Likewise.
55615
55616 2008-09-29  Bruno Haible  <bruno@clisp.org>
55617
55618         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
55619
55620 2008-09-29  Bruno Haible  <bruno@clisp.org>
55621
55622         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
55623         Set LIBSOCKET instead of augmenting LIBS.
55624         * modules/sockets (Link): New section.
55625         * modules/sockets-tests (test_sockets_LDADD): New variable.
55626         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
55627         * modules/poll-tests (test_poll_LDADD): New variable.
55628         * NEWS: Document the change.
55629
55630 2008-09-29  Bruno Haible  <bruno@clisp.org>
55631
55632         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
55633         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
55634         ARPA_INET_H directly.
55635         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55636
55637 2008-09-28  Bruno Haible  <bruno@clisp.org>
55638
55639         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
55640         from gl_HEADER_SYS_SOCKET.
55641         (gl_HEADER_SYS_SOCKET): Invoke it.
55642         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
55643
55644 2008-09-28  Bruno Haible  <bruno@clisp.org>
55645
55646         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
55647         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
55648         Needed on OSF/1 4.0.
55649
55650 2008-09-28  Bruno Haible  <bruno@clisp.org>
55651
55652         Override open more carefully.
55653         * lib/open.c (orig_open): New function.
55654         (rpl_open): Use orig_open instead of open.
55655         * lib/fcntl.in.h: Add special invocation convention.
55656         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
55657         (gl_FUNC_OPEN): Invoke it.
55658
55659         Override freopen more carefully.
55660         * lib/freopen.c (orig_freopen): New function.
55661         (rpl_freopen): Use orig_freopen instead of freopen.
55662         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
55663         (gl_FUNC_FREOPEN): Invoke it.
55664
55665         Override fopen more carefully.
55666         * lib/fopen.c (orig_fopen): New function.
55667         (rpl_fopen): Use orig_fopen instead of fopen.
55668         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
55669         (gl_FUNC_FOPEN): Invoke it.
55670         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
55671
55672 2008-09-28  Bruno Haible  <bruno@clisp.org>
55673
55674         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
55675         SIGPIPE.
55676
55677 2008-09-28  Bruno Haible  <bruno@clisp.org>
55678
55679         * tests/test-sigaction.c (handler, main): Disable the check whether
55680         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
55681         glibc systems with LinuxThreads.
55682
55683 2008-09-28  Bruno Haible  <bruno@clisp.org>
55684
55685         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
55686
55687         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
55688         with AIX xlc.
55689         * lib/fcntl.in.h (open): Likewise.
55690         Reported by Rainer Tammer <tammer@tammer.net>.
55691
55692 2008-09-28  Bruno Haible  <bruno@clisp.org>
55693
55694         * modules/posix_spawnp-tests: New file.
55695         * tests/test-posix_spawn.c: New file.
55696         * tests/test-posix_spawn.in.sh: New file.
55697
55698         New module 'posix_spawnp'.
55699         * modules/posix_spawnp: New file.
55700         * lib/spawnp.c: New file, from GNU libc with modifications.
55701         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
55702
55703         New module 'posix_spawn'.
55704         * modules/posix_spawn: New file.
55705         * lib/spawn.c: New file, from GNU libc with modifications.
55706         * doc/posix-functions/posix_spawn.texi: Mention the new module.
55707
55708         New module 'posix_spawnattr_destroy'.
55709         * modules/posix_spawnattr_destroy: New file.
55710         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
55711         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
55712         module.
55713
55714         New module 'posix_spawnattr_setsigmask'.
55715         * modules/posix_spawnattr_setsigmask: New file.
55716         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
55717         modifications.
55718         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
55719         new module.
55720
55721         New module 'posix_spawnattr_getsigmask'.
55722         * modules/posix_spawnattr_getsigmask: New file.
55723         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
55724         modifications.
55725         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
55726         new module.
55727
55728         New module 'posix_spawnattr_setsigdefault'.
55729         * modules/posix_spawnattr_setsigdefault: New file.
55730         * lib/spawnattr_setdefault.c: New file, from GNU libc with
55731         modifications.
55732         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
55733         new module.
55734
55735         New module 'posix_spawnattr_getsigdefault'.
55736         * modules/posix_spawnattr_getsigdefault: New file.
55737         * lib/spawnattr_getdefault.c: New file, from GNU libc with
55738         modifications.
55739         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
55740         new module.
55741
55742         New module 'posix_spawnattr_setschedpolicy'.
55743         * modules/posix_spawnattr_setschedpolicy: New file.
55744         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
55745         modifications.
55746         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
55747         new module.
55748
55749         New module 'posix_spawnattr_getschedpolicy'.
55750         * modules/posix_spawnattr_getschedpolicy: New file.
55751         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
55752         modifications.
55753         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
55754         new module.
55755
55756         New module 'posix_spawnattr_setschedparam'.
55757         * modules/posix_spawnattr_setschedparam: New file.
55758         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
55759         modifications.
55760         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
55761         new module.
55762
55763         New module 'posix_spawnattr_getschedparam'.
55764         * modules/posix_spawnattr_getschedparam: New file.
55765         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
55766         modifications.
55767         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
55768         new module.
55769
55770         New module 'posix_spawnattr_setpgroup'.
55771         * modules/posix_spawnattr_setpgroup: New file.
55772         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
55773         modifications.
55774         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
55775         module.
55776
55777         New module 'posix_spawnattr_getpgroup'.
55778         * modules/posix_spawnattr_getpgroup: New file.
55779         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
55780         modifications.
55781         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
55782         module.
55783
55784         New module 'posix_spawnattr_setflags'.
55785         * modules/posix_spawnattr_setflags: New file.
55786         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
55787         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
55788         module.
55789
55790         New module 'posix_spawnattr_getflags'.
55791         * modules/posix_spawnattr_getflags: New file.
55792         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
55793         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
55794         module.
55795
55796         New module 'posix_spawnattr_init'.
55797         * modules/posix_spawnattr_init: New file.
55798         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
55799         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
55800         module.
55801
55802         New module 'posix_spawn_file_actions_destroy'.
55803         * modules/posix_spawn_file_actions_destroy: New file.
55804         * lib/spawn_faction_destroy.c: New file, from GNU libc with
55805         modifications.
55806         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
55807         the new module.
55808
55809         New module 'posix_spawn_file_actions_addopen'.
55810         * modules/posix_spawn_file_actions_addopen: New file.
55811         * lib/spawn_faction_addopen.c: New file, from GNU libc with
55812         modifications.
55813         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
55814         the new module.
55815
55816         New module 'posix_spawn_file_actions_adddup2'.
55817         * modules/posix_spawn_file_actions_adddup2: New file.
55818         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
55819         modifications.
55820         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
55821         the new module.
55822
55823         New module 'posix_spawn_file_actions_addclose'.
55824         * modules/posix_spawn_file_actions_addclose: New file.
55825         * lib/spawn_faction_addclose.c: New file, from GNU libc with
55826         modifications.
55827         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
55828         the new module.
55829
55830         New module 'posix_spawn_file_actions_init'.
55831         * modules/posix_spawn_file_actions_init: New file.
55832         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
55833         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
55834         new module.
55835
55836         New module 'posix_spawn-internal'.
55837         * modules/posix_spawn-internal: New file.
55838         * lib/spawn_int.h: New file, from GNU libc with modifications.
55839         * lib/spawni.c: New file, from GNU libc with modifications.
55840         * m4/posix_spawn.m4: New file.
55841
55842         New module 'spawn'.
55843         * modules/spawn: New file.
55844         * lib/spawn.in.h: New file, from GNU libc with modifications.
55845         * m4/spawn_h.m4: New file.
55846         * doc/posix-headers/spawn.texi: Mention the new module.
55847
55848 2008-09-28  Bruno Haible  <bruno@clisp.org>
55849
55850         * modules/sched-tests: New file.
55851         * tests/test-sched.c: New file.
55852
55853         New module 'sched'.
55854         * modules/sched: New file.
55855         * lib/sched.in.h: New file.
55856         * m4/sched_h.m4: New file.
55857         * doc/posix-headers/sched.texi: Mention the new module.
55858
55859 2008-09-27  Eric Blake  <ebb9@byu.net>
55860
55861         Fix previous patch, and tweak references to $0.
55862         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
55863         (func_version, func_gnulib_dir): Don't call this program
55864         gnulib-tool.
55865         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
55866         with using $0 in function.
55867         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
55868         (func_fatal_error): Reuse the name the user invoked us with.
55869
55870 2008-09-27  Bruno Haible  <bruno@clisp.org>
55871
55872         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
55873         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
55874         (gl_ICONV_H): Not here.
55875         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
55876         instead of assigning ICONV_H directly.
55877
55878         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
55879         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
55880         WCHAR_H directly.
55881
55882 2008-09-27  Bruno Haible  <bruno@clisp.org>
55883
55884         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
55885         * modules/arpa_inet (Depends-on): Add link-warning.
55886         (Makefile.am): Insert the definition of GL_LINK-WARNING.
55887         * modules/unistd (Makefile.am): Likewise.
55888
55889 2008-09-26  Bruno Haible  <bruno@clisp.org>
55890
55891         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
55892         variables.
55893         (func_version): Essentially copied from gnulib-tool.
55894         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
55895         func_readlink): Copied from gnulib-tool.
55896
55897 2008-09-26  Bruno Haible  <bruno@clisp.org>
55898
55899         * gnulib-tool (func_version): Change directory to $gnulib_dir before
55900         invoking git-version-gen.
55901
55902 2008-09-26  Bruno Haible  <bruno@clisp.org>
55903
55904         * posix-modules: Update to directory names changed on 2008-01-19.
55905         Remove commas in output before splitting into words. No more need to
55906         avoid 'ftruncate' since 2007-02-19.
55907
55908 2008-09-26  Bruno Haible  <bruno@clisp.org>
55909
55910         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
55911
55912 2008-09-26  Bruno Haible  <bruno@clisp.org>
55913
55914         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
55915         * modules/fwriteerror (Depends-on): Add errno.
55916
55917 2008-09-26  Bruno Haible  <bruno@clisp.org>
55918
55919         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
55920         * tests/test-vc-list-files-cvs.sh: Likewise.
55921
55922 2008-09-26  Bruno Haible  <bruno@clisp.org>
55923
55924         * doc/posix-headers/sys_resource.texi: Reorder items.
55925
55926 2008-09-26  Jim Meyering  <meyering@redhat.com>
55927
55928         fts: tweak inode comparison function
55929         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
55930         inode numbers, as documented.
55931
55932         fts: sort dirent entries on inode number before traversing
55933         This avoids a quadratic, seek-related performance penalty when
55934         operating on a directory containing many entries (measurable at 10k;
55935         3.5 hours at 2 million entries with a cold cache) on certain types
55936         of file systems, including ext3 and ext4, but not tmpfs.
55937         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
55938         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
55939         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
55940         (fs_handles_readdir_ordered_dirents_efficiently): New function.
55941         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
55942         (fts_build): Set the stat.st_ino member from D_INO.
55943         If it is likely to be useful, sort dirent entries on inode number.
55944
55945         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
55946         and the struct statfs.f_type member.
55947         * modules/fts (Depends-on): Add d-ino.
55948
55949 2008-09-26  Bruno Haible  <bruno@clisp.org>
55950
55951         * modules/sigpipe-die (Depends-on): Add sigpipe.
55952
55953         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
55954         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
55955         and GNULIB_STDIO_H_SIGPIPE are set.
55956         * lib/stdio-write.c: New file.
55957         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
55958         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
55959         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
55960         REPLACE_STDIO_WRITE_FUNCS.
55961         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
55962         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
55963         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
55964         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
55965         * modules/stdio (Files): Add lib/stdio-write.c.
55966         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
55967         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
55968         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
55969         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
55970         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
55971         REPLACE_FPRINTF_POSIX.
55972         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
55973         REPLACE_PRINTF_POSIX.
55974         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
55975         REPLACE_VFPRINTF_POSIX.
55976         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
55977         REPLACE_VPRINTF_POSIX.
55978         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
55979         SIGPIPE issue.
55980         * doc/posix-functions/fputc.texi: Likewise.
55981         * doc/posix-functions/fputs.texi: Likewise.
55982         * doc/posix-functions/fwrite.texi: Likewise.
55983         * doc/posix-functions/printf.texi: Likewise.
55984         * doc/posix-functions/putc.texi: Likewise.
55985         * doc/posix-functions/putchar.texi: Likewise.
55986         * doc/posix-functions/puts.texi: Likewise.
55987         * doc/posix-functions/vfprintf.texi: Likewise.
55988         * doc/posix-functions/vprintf.texi: Likewise.
55989
55990         * modules/safe-write (Depends-on): Add write.
55991
55992         * modules/sigpipe-tests: New file.
55993         * tests/test-sigpipe.c: New file.
55994         * tests/test-sigpipe.sh: New file.
55995
55996         * modules/write: New file.
55997         * lib/unistd.in.h: Include <sys/types.h>.
55998         (write): New declaration.
55999         * lib/write.c: New file.
56000         * m4/write.m4: New file.
56001         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56002         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
56003         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
56004         GNULIB_WRITE, REPLACE_WRITE.
56005         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
56006         and the SIGPIPE issue.
56007
56008         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
56009         (raise): New declaration.
56010         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
56011         (ext_signal): New function.
56012         (rpl_raise): New function.
56013         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
56014         GNULIB_SIGNAL_H_SIGPIPE.
56015         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
56016         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
56017
56018         * modules/sigpipe: New file.
56019         * m4/sigpipe.m4: New file.
56020
56021 2008-09-25  Derek Price  <derek@ximbiot.com>
56022             Bruno Haible  <bruno@clisp.org>
56023
56024         * gnulib-tool (func_import): Report all license incompatibilities, not
56025         just the first one.
56026
56027 2008-09-25  Bruno Haible  <bruno@clisp.org>
56028
56029         * gnulib-tool (func_import): When computing the edits, consider not
56030         only the Makefile.ams that exist but also those that will be generated.
56031
56032 2008-09-25  Simon Josefsson  <simon@josefsson.org>
56033
56034         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
56035         fixes gnulib-tool --test warning about duplicate dependency.
56036
56037 2008-09-25  Bruno Haible  <bruno@clisp.org>
56038
56039         * gnulib-tool: Don't ask the user to perform edits in the generated
56040         Makefile.ams.
56041         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
56042         apply to the Makefile.am being generated.
56043         (func_emit_tests_Makefile_am): Execute edits that apply to the
56044         Makefile.am being generated.
56045         (func_import): Setup list of Makefile.am edits before emitting the
56046         Makefile.ams, not at the end.
56047         (func_create_testdir): Update.
56048         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56049
56050 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56051
56052         * gnulib-tool (func_import): Store the --tests-base option in the
56053         comment in gnulib-cache.m4.
56054
56055 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
56056
56057         * NEWS: Document increased portability that sys_select now provides.
56058
56059         * lib/sys_select.in.h: Install select wrapper.
56060         * lib/sys_socket.in.h: Use more descriptive name when there is no
56061         select wrapper.
56062         * lib/winsock-select.c: New.
56063         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
56064         Require gl_HEADER_SYS_SOCKET.
56065         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
56066         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
56067         * tests/test-sys_select.c: Add functional tests.
56068
56069 2008-09-24  Eric Blake  <ebb9@byu.net>
56070
56071         open, fopen: close fd leak in last patch
56072         * lib/open.c (rpl_open): Close fd before returning error.
56073         * lib/fopen.c (rpl_fopen): Close fd before returning error.
56074         * doc/posix-functions/open.texi (open): Document that Irix also
56075         has the bug.
56076         * doc/posix-functions/fopen.texi (fopen): Likewise.
56077         Reported by Paolo Bonzini.
56078
56079 2008-09-24  Bruno Haible  <bruno@clisp.org>
56080
56081         Ensure that a filename ending in a slash cannot be used to access a
56082         non-directory.
56083         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
56084         to check whether it's really a directory.
56085         * lib/fopen.c: Include fcntl.h, unistd.h.
56086         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
56087         and fdopen().
56088         * modules/fopen (Depends-on): Add unistd.
56089         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
56090         * tests/test-fopen.c (main): Likewise.
56091         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
56092         * doc/posix-functions/fopen.texi: Likewise.
56093         Reported by Eric Blake.
56094
56095 2008-09-23  Eric Blake  <ebb9@byu.net>
56096
56097         c-stack: avoid compiler optimizations when provoking overflow
56098         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
56099         recursion harder to optimize, to ensure a stack overflow occurs.
56100         * tests/test-c-stack.c (recurse): Likewise.
56101         Borrowed from libsigsegv.
56102
56103         c-stack: work around Irix sigaltstack bug
56104         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
56105         whether sigaltstack uses wrong end of stack_t (copied in part from
56106         libsigsegv).
56107         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
56108         Irix bug, without requiring an over-allocation.
56109         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
56110         bug.
56111
56112         fopen: document mingw bug on directories
56113         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
56114         not allowing a stream visiting a directory, even though reading
56115         from such a stream is not portable.
56116
56117 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56118
56119         * lib/poll.c: Rewrite.
56120         * modules/poll: Depend on alloca.
56121
56122 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56123
56124         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
56125         instead define prototypes for a full set of wrappers.  Ensure
56126         that Cygwin does not use the compatibility code, which is only
56127         for MinGW.
56128         * lib/winsock.c: New.
56129         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
56130         * modules/sys_socket: Add lib/winsock.c.
56131
56132         * modules/poll-tests: Add errno and perror.
56133         * tests/test-poll.c: Use ioctl, not ioctlsocket.
56134
56135 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56136
56137         * tests/test-poll.c: Downgrade minimum needed Winsock version.
56138
56139 2008-09-23  Bruno Haible  <bruno@clisp.org>
56140
56141         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
56142         * doc/glibc-functions/*: Likewise.
56143
56144 2008-09-23  Simon Josefsson  <simon@josefsson.org>
56145
56146         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
56147         success.
56148
56149 2008-09-22  Eric Blake  <ebb9@byu.net>
56150             Bruno Haible  <bruno@clisp.org>
56151
56152         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
56153         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
56154         supply %A but mishandle pseudo-NaN.
56155         Reported by Simon Josefsson.
56156
56157 2008-09-21  Bruno Haible  <bruno@clisp.org>
56158
56159         * tests/test-lock.c (main): Tweak skip message.
56160         * tests/test-tls.c (main): Likewise.
56161
56162 2008-09-21  Bruno Haible  <bruno@clisp.org>
56163
56164         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
56165         whether 'struct sigaction' has sa_sigaction here...
56166         (gl_PREREQ_SIG_HANDLER_H): ... not here.
56167         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
56168
56169 2008-09-21  Bruno Haible  <bruno@clisp.org>
56170
56171         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
56172         section.
56173         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
56174         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
56175         the new section.
56176         (Support for obsolete systems lacking POSIX:2001): New section.
56177         (String handling <string.h>): Move strdup to the new section.
56178         Suggested by Simon Josefsson and Paolo Bonzini.
56179
56180 2008-09-21  Bruno Haible  <bruno@clisp.org>
56181
56182         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
56183         exponents in %e and %g results on 'long double'. Needed for mingw's
56184         improved *printf functions.
56185         * tests/test-vasprintf-posix.c (test_function): Likewise.
56186         * tests/test-snprintf-posix.h (test_function): Likewise.
56187         * tests/test-sprintf-posix.h (test_function): Likewise.
56188         Reported by Eric Blake.
56189
56190 2008-09-21  Bruno Haible  <bruno@clisp.org>
56191
56192         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
56193         * tests/test-sprintf-posix.h (test_function): Likewise.
56194
56195 2008-09-21  Bruno Haible  <bruno@clisp.org>
56196
56197         * modules/getpass (Depends-on): Add strdup-posix.
56198
56199         New module 'strdup-posix'.
56200         * modules/strdup-posix: New file.
56201         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
56202         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
56203         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56204         REPLACE_STRDUP.
56205         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
56206         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
56207         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56208         strdup-posix.
56209
56210         * modules/strdup (Depends-on): Remove malloc-posix.
56211
56212 2008-09-20  Bruno Haible  <bruno@clisp.org>
56213
56214         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
56215         Wildenhues.
56216
56217 2008-09-20  Bruno Haible  <bruno@clisp.org>
56218
56219         Ensure that wint_t gets defined on IRIX 5.3.
56220         * lib/wchar.in.h (wint_t): Define if not defined by the system.
56221         * lib/wctype.in.h (wint_t): Likewise.
56222         (__wctype_wint_t): Remove type.
56223         (isw*): Use wint_t instead of __wctype_wint_t.
56224         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
56225         * modules/wchar (Files): Add m4/wint_t.m4.
56226         (Makefile.am): Substitute HAVE_WINT_T.
56227         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
56228         * tests/test-wctype.c: Check that wint_t is defined.
56229         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
56230         * doc/posix-headers/wctype.texi: Likewise.
56231         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
56232
56233 2008-09-18  Bruno Haible  <bruno@clisp.org>
56234
56235         * gnulib-tool (func_exit): Update comment.
56236
56237 2008-09-18  Simon Josefsson  <simon@josefsson.org>
56238
56239         * modules/getaddrinfo (Depends-on): Remove strdup, this module
56240         assumes strdup exists and does not depend on strdup to return
56241         ENOMEM on out of memory conditions.
56242
56243 2008-09-18  Bruno Haible  <bruno@clisp.org>
56244
56245         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
56246         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
56247         digits for the exponent.
56248
56249 2008-09-18  Jim Meyering  <meyering@redhat.com>
56250             Bruno Haible  <bruno@clisp.org>
56251
56252         * lib/vasnprintf.c (decimal_point_char): Define also if
56253         NEED_PRINTF_INFINITE_LONG_DOUBLE.
56254
56255 2008-09-16  Bruno Haible  <bruno@clisp.org>
56256         and Eric Blake  <ebb9@byu.net>
56257
56258         vasnprintf: support Irix 5.3
56259         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
56260         that mishandle long double infinity.
56261         Reported by Tom G. Christensen.
56262
56263 2008-09-16  Bruno Haible  <bruno@clisp.org>
56264
56265         * doc/glibc-functions/scandir.texi: Mention the function is missing on
56266         Solaris 9.
56267         * doc/glibc-functions/alphasort.texi: Likewise.
56268         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
56269
56270 2008-09-16  Jim Meyering  <meyering@redhat.com>
56271
56272         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
56273         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
56274         a umask modification leak out of a subshell.  Otherwise, the
56275         opensolaris /bin/sh would be accepted and thus cause unwarranted
56276         failures in the coreutils test suite.
56277
56278 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
56279
56280         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
56281         to succeed.
56282
56283 2008-09-16  Jim Meyering  <meyering@redhat.com>
56284
56285         avoid spurious test failure when library is built without ACL support
56286         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
56287         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
56288         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
56289         * tests/test-copy-acl.sh: Likewise.
56290
56291 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56292
56293         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
56294         based on character occurrence counts.
56295
56296 2008-09-15  Eric Blake  <ebb9@byu.net>
56297
56298         tests: avoid some compiler warnings
56299         * tests/test-memchr.c (main): Pass NULL indirectly.
56300         * tests/test-closein.c (main): Avoid unused variable.
56301
56302 2008-09-15  Bruno Haible  <bruno@clisp.org>
56303
56304         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
56305         are missing on OpenBSD 4.0 individually.
56306         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56307
56308 2008-09-15  Bruno Haible  <bruno@clisp.org>
56309
56310         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
56311         * doc/posix-functions/strerror.texi: Mention also Cygwin.
56312         * doc/posix-functions/perror.texi: Likewise.
56313         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
56314         is missing.
56315         Reported by Eric Blake.
56316
56317         * lib/errno.in.h: Use replacement values >= 2000.
56318         Reported by Eric Blake.
56319
56320 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56321
56322         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
56323         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
56324         limit.
56325         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
56326         compareseq was aborted.
56327
56328 2008-09-14  Bruno Haible  <bruno@clisp.org>
56329
56330         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
56331         yvec_edit_count.
56332         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
56333         (fstrcmp_bounded): Simplify result computation accordingly.
56334
56335 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56336
56337         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
56338         (fstrcmp): Define in terms of fstrcmp_bounded.
56339         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
56340         lower_bound argument.
56341         Return quickly if the result is certainly < lower_bound.
56342         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
56343
56344 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56345
56346         * lib/diffseq.h (EARLY_ABORT): New macro.
56347         (compareseq): Change return type to bool. Return true when EARLY_ABORT
56348         evaluates to true.
56349
56350 2008-09-14  Bruno Haible  <bruno@clisp.org>
56351
56352         * modules/perror-tests: New file.
56353         * tests/test-perror.sh: New file.
56354         * tests/test-perror.c: New file.
56355
56356         New module 'perror'.
56357         * lib/stdio.in.h (perror): New declaration.
56358         * lib/perror.c: New file.
56359         * m4/perror.m4: New file.
56360         * modules/perror: New file.
56361         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
56362         * doc/posix-functions/perror.texi: Mention the perror module.
56363         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
56364         REPLACE_PERROR.
56365         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
56366         REPLACE_PERROR.
56367
56368 2008-09-14  Bruno Haible  <bruno@clisp.org>
56369
56370         * modules/stdio (Makefile.am): Reorder to match the order in
56371         lib/stdio.in.h.
56372         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56373
56374 2008-09-13  Bruno Haible  <bruno@clisp.org>
56375
56376         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
56377
56378 2008-09-13  Bruno Haible  <bruno@clisp.org>
56379
56380         Extend strerror to cover the added errno values.
56381         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
56382         (rpl_strerror): Provide error messages for the added errno values and
56383         for the WSA* values.
56384         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
56385         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
56386         strerror.
56387         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
56388         * modules/strerror (Depends-on): Add errno.
56389         * doc/posix-functions/strerror.texi: Document the change.
56390         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
56391         and EOVERFLOW.
56392
56393 2008-09-13  Bruno Haible  <bruno@clisp.org>
56394
56395         * modules/EOVERFLOW: Remove file.
56396         * m4/eoverflow.m4: Remove file.
56397         * modules/EOVERFLOW-tests: Remove file.
56398         * tests/test-EOVERFLOW.c: Remove file.
56399         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
56400         * modules/ftell (Depends-on): Likewise.
56401         * modules/getdelim (Depends-on): Likewise.
56402         * modules/getugroups (Depends-on): Likewise.
56403         * modules/poll (Depends-on): Likewise.
56404         * modules/snprintf (Depends-on): Likewise.
56405         * modules/sprintf-posix (Depends-on): Likewise.
56406         * modules/vasnprintf (Depends-on): Likewise.
56407         * modules/vasprintf (Depends-on): Likewise.
56408         * modules/vfprintf-posix (Depends-on): Likewise.
56409         * modules/vsnprintf (Depends-on): Likewise.
56410         * modules/vsprintf-posix (Depends-on): Likewise.
56411         * modules/xvasprintf (Depends-on): Likewise.
56412         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56413         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
56414         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
56415         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
56416         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56417         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
56418         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
56419         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
56420         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56421         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
56422         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
56423         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
56424         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56425         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
56426         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
56427         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
56428         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56429         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
56430         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
56431         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
56432         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56433         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
56434         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
56435         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
56436         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
56437         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56438         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
56439         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
56440         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
56441         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
56442         * MODULES.html.sh: Remove EOVERFLOW.
56443         * NEWS: Mention the change.
56444
56445 2008-09-13  Bruno Haible  <bruno@clisp.org>
56446
56447         * modules/errno-tests: New file.
56448         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
56449
56450         * lib/errno.in.h: New file.
56451         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
56452         * modules/errno: New file.
56453         * doc/posix-headers/errno.texi: Update documentation.
56454         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
56455
56456 2008-09-13  Bruno Haible  <bruno@clisp.org>
56457
56458         * tests/test-poll.c: Use #if for native Windows, rather than testing
56459         __MSVCRT__.
56460
56461 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56462             Bruno Haible  <bruno@clisp.org>
56463
56464         * lib/glob.c: Don't include <pwd.h> on native Windows.
56465         (WINDOWS32): New macro.
56466         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
56467
56468 2008-09-13  Bruno Haible  <bruno@clisp.org>
56469
56470         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
56471         (ETIMEDOUT): Remove macro.
56472         (glthread_cond_timedwait_multithreaded): New declaration.
56473         (glthread_cond_timedwait): Use it.
56474         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
56475         (glthread_cond_timedwait_multithreaded): New function.
56476
56477 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56478
56479         * modules/poll-tests: Do not check for io.h.
56480         * tests/test-poll.c: Check for __MSVCRT__ instead.
56481
56482 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56483
56484         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
56485         * modules/poll-tests: Add inet_pton, stdbool, sockets.
56486         * tests/test-poll.c: Use them.  Use _pipe on Windows.
56487
56488 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56489
56490         * modules/poll-tests: New.
56491         * tests/test-poll.c: New.
56492
56493 2008-09-12  Eric Blake  <ebb9@byu.net>
56494
56495         frexp: test for NetBSD failure on -0.0
56496         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
56497         not all, bugs from NetBSD 3.0 have been fixed.
56498         * doc/posix-functions/frexp.texi (frexp): Document bug.
56499         Reported by Thomas Klausner.
56500
56501         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
56502         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
56503         literal -0.0.
56504         Reported by Jonathan C. Patschke <jp@centtech.com>.
56505
56506 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56507
56508         * lib/glthread/cond.h: Use dummy implementation also if
56509         USE_WIN32_THREADS.
56510
56511 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56512
56513         * modules/fnmatch-posix (License): Change to LGPLv2+.
56514         * modules/fnmatch-gnu (License): Likewise.
56515
56516 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56517
56518         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
56519
56520 2008-09-11  Jim Meyering  <meyering@redhat.com>
56521
56522         * users.txt: Add gtk-vnc.
56523
56524 2008-09-08  Simon Josefsson  <simon@josefsson.org>
56525
56526         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
56527         rotate amounts.
56528
56529         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
56530         required for 16-bit and 8-bit rotates.
56531         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
56532         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
56533         UINT8_MAX instead of hard-coded constants.
56534         Suggested by Paul Eggert.
56535
56536 2008-09-07  Bruno Haible  <bruno@clisp.org>
56537
56538         * tests/test-striconveh.c (main): Check behaviour when converting from
56539         UTF-7.
56540
56541         Make striconveh work better with stateful encodings.
56542         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
56543         that iconv does not increment the inptr when returning -1/EINVAL.
56544
56545 2008-09-07  Bruno Haible  <bruno@clisp.org>
56546
56547         * build-aux/config.rpath: Update according to libtool-2.2.6.
56548         * build-aux/config.libpath: Likewise.
56549
56550 2008-09-06  Bruno Haible  <bruno@clisp.org>
56551
56552         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
56553         * lib/freadptr.c (freadptr): Likewise.
56554         * lib/freadseek.c (freadptrinc): Likewise.
56555         Reported by Simon Josefsson.
56556
56557 2008-09-06  Bruno Haible  <bruno@clisp.org>
56558
56559         * modules/freadptr (License): Change to LGPLv2+.
56560         * modules/freadseek (License): Likewise.
56561         Suggested by Eric Blake.
56562
56563         * modules/memchr2 (License): Change to LGPLv2+.
56564         Approved by Eric Blake.
56565
56566 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56567             Bruno Haible  <bruno@clisp.org>
56568
56569         Make gnulib-tool work with native 'sed' on AIX.
56570         * gnulib-tool (sed_noop): New variable.
56571         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
56572         func_add_or_update, func_create_testdir): Use it to initialize sed
56573         script variables.
56574         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
56575
56576 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
56577             Bruno Haible  <bruno@clisp.org>
56578
56579         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
56580         also works after #include directives.
56581
56582 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
56583
56584         getdate.y: reject an out-of-range timezone value
56585         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
56586         the range [-24...+24].  When specified with only one or two digits,
56587         * tests/test-getdate.c: Tests for the fix.
56588         * doc/getdate.texi: Document this change.
56589
56590 2008-09-03  Bruno Haible  <bruno@clisp.org>
56591
56592         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
56593
56594 2008-09-02  Simon Josefsson  <simon@josefsson.org>
56595
56596         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
56597         <bruce.korb@gmail.com> with ideas from Ben Pfaff
56598         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
56599         Blake <ebb9@byu.net>.
56600
56601         * tests/test-bitrotate.c: Add more test vectors.
56602
56603 2008-09-02  Eric Blake  <ebb9@byu.net>
56604
56605         vasnprintf-posix: handle large precision via %.*d
56606         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
56607         when handling it ourselves.
56608         * tests/test-vasnprintf-posix.c (test_function): Add test.
56609         * tests/test-snprintf-posix.h (test_function): Likewise.
56610         * tests/test-sprintf-posix.h (test_function): Likewise.
56611         * tests/test-vasprintf-posix.c (test_function): Likewise.
56612         Reported by Alain Guibert.
56613
56614 2008-09-01  Eric Blake  <ebb9@byu.net>
56615
56616         c-stack: make configure-time check more robust
56617         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
56618         successful sigaction call.
56619         Reported by Tom G. Christensen.
56620
56621 2008-09-01  Bruno Haible  <bruno@clisp.org>
56622
56623         New module 'findprog-lgpl'.
56624         * modules/findprog-lgpl: New file.
56625         * lib/findprog-lgpl.c: New file.
56626         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
56627         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
56628         to decide whether to use strdup or xstrdup, concatenated_filename or
56629         xconcatenated_filename.
56630
56631 2008-09-01  Bruno Haible  <bruno@clisp.org>
56632
56633         Split module 'concat-filename' into 'concat-filename' (LGPL) and
56634         'xconcat-filename' (GPL).
56635         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
56636         (License): Change to LGPLv2+.
56637         * modules/xconcat-filename: New file.
56638         * lib/concat-filename.h (concatenated_filename): Change specification.
56639         (xconcatenated_filename): New declaration.
56640         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
56641         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
56642         memory situations.
56643         * lib/xconcat-filename.c: New file.
56644         * NEWS: Mention the change.
56645         * lib/findprog.c: Include concat-filename.h, not filename.h.
56646         (find_in_path): Use xconcatenated_filename instead of
56647         concatenated_filename.
56648         * lib/javacomp.c: Include concat-filename.h, not filename.h.
56649         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
56650         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
56651         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
56652         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
56653         instead of concatenated_filename.
56654         * lib/javaexec.c: Include concat-filename.h, not filename.h.
56655         (execute_java_class): Use xconcatenated_filename instead of
56656         concatenated_filename.
56657         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
56658         * modules/javacomp (Depends-on): Likewise.
56659         * modules/javaexec (Depends-on): Likewise.
56660
56661 2008-09-01  Bruno Haible  <bruno@clisp.org>
56662
56663         Split module 'filename' into 'filename' and 'concat-filename'.
56664         * modules/filename: Keep only lib/filename.h.
56665         (License): Change to LGPLv2+.
56666         * modules/concat-filename: New file, extracted from modules/filename.
56667         * lib/filename.h (concatenated_filename): Remove declaration.
56668         * lib/concat-filename.h: New file, extracted from lib/filename.h.
56669         * lib/concat-filename.c: Include concat-filename.h.
56670         * NEWS: Mention the change.
56671
56672 2008-09-01  Simon Josefsson  <simon@josefsson.org>
56673
56674         * lib/bitrotate.h (rotl8, rotr8): Add.
56675
56676         * modules/bitrotate (configure.ac): Need
56677         AC_REQUIRE([AC_C_INLINE]).
56678         (Description): Mention stdint.h.  Reported by Bruno Haible
56679         <bruno@clisp.org>.
56680
56681         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
56682         Paolo Bonzini <bonzini@gnu.org>.
56683
56684 2008-08-31  Bruno Haible  <bruno@clisp.org>
56685
56686         Assume Solaris specific bi-arch conventions on Solaris systems.
56687         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
56688         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
56689         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
56690         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
56691         like acl_libdirstem.
56692         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
56693         acl_libdirstem.
56694         * NEWS: Mention the change.
56695         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
56696
56697 2008-08-31  Jim Meyering  <meyering@redhat.com>
56698
56699         * lib/strftime.h: Add comments describing the two added arguments.
56700
56701         remove duplicate #include directives
56702         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
56703         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
56704
56705 2008-08-31  Bruno Haible  <bruno@clisp.org>
56706
56707         New module 'sigpipe-die'.
56708         * modules/sigpipe-die: New file.
56709         * lib/sigpipe-die.h: New file.
56710         * lib/sigpipe-die.c: New file.
56711         * MODULES.html.sh (Signal handling): Add sigpipe-die.
56712
56713 2008-08-31  Bruno Haible  <bruno@clisp.org>
56714
56715         Don't override previously installed signal handlers.
56716         * lib/fatal-signal.c (saved_sigactions): New variable.
56717         (uninstall_handlers): Reset the signal to the saved handler, not
56718         to SIG_DFL (except when ignored).
56719         (install_handlers): Save the previous handlers.
56720
56721 2008-08-30  Bruno Haible  <bruno@clisp.org>
56722
56723         * gnulib-tool (func_reset_sigpipe): New function.
56724         (func_get_automake_snippet, func_modules_transitive_closure,
56725         func_import): Invoke it before a join command that reads from stdin,
56726         to avoid "echo: write error: Broken pipe" error messages on stderr.
56727         Reported by Sam Steingold <sds@gnu.org>.
56728
56729 2008-08-30  Bruno Haible  <bruno@clisp.org>
56730
56731         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
56732         Code copied from m4/open.m4.
56733         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
56734         access and the filename ends in a slash. Code copied from lib/open.c.
56735         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
56736         * tests/test-fopen.c (main): Check against bug with trailing slash.
56737
56738 2008-08-29  Bruno Haible  <bruno@clisp.org>
56739
56740         Avoid some "gcc -pedantic" warnings.
56741         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
56742         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
56743         * lib/dirent.in.h: Likewise.
56744         * lib/fcntl.in.h: Likewise.
56745         * lib/float.in.h: Likewise.
56746         * lib/iconv.in.h: Likewise.
56747         * lib/inttypes.in.h: Likewise.
56748         * lib/locale.in.h: Likewise.
56749         * lib/math.in.h: Likewise.
56750         * lib/netinet_in.in.h: Likewise.
56751         * lib/search.in.h: Likewise.
56752         * lib/signal.in.h: Likewise.
56753         * lib/stdarg.in.h: Likewise.
56754         * lib/stdint.in.h: Likewise.
56755         * lib/stdio.in.h: Likewise.
56756         * lib/stdlib.in.h: Likewise.
56757         * lib/string.in.h: Likewise.
56758         * lib/strings.in.h: Likewise.
56759         * lib/sys_select.in.h: Likewise.
56760         * lib/sys_socket.in.h: Likewise.
56761         * lib/sys_stat.in.h: Likewise.
56762         * lib/sys_time.in.h: Likewise.
56763         * lib/sysexits.in.h: Likewise.
56764         * lib/time.in.h: Likewise.
56765         * lib/unistd.in.h: Likewise.
56766         * lib/wchar.in.h: Likewise.
56767         * lib/wctype.in.h: Likewise.
56768         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
56769         * modules/fchdir (Makefile.am): Likewise.
56770         * modules/fcntl (Makefile.am): Likewise.
56771         * modules/float (Makefile.am): Likewise.
56772         * modules/iconv_open (Makefile.am): Likewise.
56773         * modules/inttypes (Makefile.am): Likewise.
56774         * modules/locale (Makefile.am): Likewise.
56775         * modules/math (Makefile.am): Likewise.
56776         * modules/netinet_in (Makefile.am): Likewise.
56777         * modules/search (Makefile.am): Likewise.
56778         * modules/signal (Makefile.am): Likewise.
56779         * modules/stdarg (Makefile.am): Likewise.
56780         * modules/stdint (Makefile.am): Likewise.
56781         * modules/stdio (Makefile.am): Likewise.
56782         * modules/stdlib (Makefile.am): Likewise.
56783         * modules/string (Makefile.am): Likewise.
56784         * modules/strings (Makefile.am): Likewise.
56785         * modules/sys_select (Makefile.am): Likewise.
56786         * modules/sys_socket (Makefile.am): Likewise.
56787         * modules/sys_stat (Makefile.am): Likewise.
56788         * modules/sys_time (Makefile.am): Likewise.
56789         * modules/sysexits (Makefile.am): Likewise.
56790         * modules/time (Makefile.am): Likewise.
56791         * modules/unistd (Makefile.am): Likewise.
56792         * modules/wchar (Makefile.am): Likewise.
56793         * modules/wctype (Makefile.am): Likewise.
56794         Reported by Reuben Thomas <rrt@sc3d.org>.
56795
56796 2008-08-29  Bruno Haible  <bruno@clisp.org>
56797
56798         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
56799         any more.
56800
56801 2008-08-29  Simon Josefsson  <simon@josefsson.org>
56802
56803         * MODULES.html.sh (Misc): Add bitrotate.
56804
56805         * modules/bitrotate: New file.
56806
56807         * lib/bitrotate.h: New file.
56808
56809         * modules/bitrotate-tests: New file.
56810
56811         * tests/test-bitrotate.c: New file.
56812
56813         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
56814         on the bitrotate module.
56815
56816         * lib/arctwo.c: Use new bitrotate module.
56817
56818 2008-08-29  Jim Meyering  <meyering@redhat.com>
56819
56820         bootstrap: merge changes from coreutils
56821         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
56822         of copied files.  Remove a kludge, now that this is fixed.
56823         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
56824         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
56825         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
56826
56827 2008-08-29  Bruno Haible  <bruno@clisp.org>
56828
56829         * MODULES.html.sh: Remove --cvs-urls option.
56830
56831 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
56832
56833         maint.mk: adjust to file name change
56834         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
56835
56836 2008-08-28  Jim Meyering  <meyering@redhat.com>
56837
56838         * modules/getndelim2 (License): Relicense to LGPLv2+.
56839         Approved by Richard Stallman for the version of 1995, and by
56840         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
56841
56842 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
56843
56844         * lib/getdelim.c (flockfile, funlockfile): Make all of them
56845         dummy if one is not available.  Do not touch them if
56846         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
56847         (getc_maybe_unlocked): New.
56848         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
56849
56850 2008-08-26  Eric Blake  <ebb9@byu.net>
56851
56852         doc/INSTALL: resync from autoconf
56853         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
56854         (INSTALL_PRELUDE): Delete; this is done more efficiently by
56855         moving...
56856         * install.texi [!autoconf]: ...here.  Resync from autoconf.
56857         * INSTALL: Regenerate.
56858         * INSTALL.ISO: New file.
56859         * INSTALL.UTF-8: Likewise.
56860
56861 2008-08-26  Jim Meyering  <meyering@redhat.com>
56862
56863         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
56864         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
56865         these definitions conditional, so that they may be overridden, too.
56866
56867 2008-08-26  Bruno Haible  <bruno@clisp.org>
56868
56869         Generate INSTALL file variants with prettier quotes.
56870         * doc/Makefile (INSTALL_PRELUDE): New macro.
56871         (INSTALL): Use it.
56872         (INSTALL.ISO, INSTALL.UTF-8): New rules.
56873
56874 2008-08-26  Bruno Haible  <bruno@clisp.org>
56875
56876         Run makeinfo in an English locale.
56877         * doc/Makefile (MAKEINFO): New variable.
56878
56879 2008-08-26  Bruno Haible  <bruno@clisp.org>
56880
56881         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
56882         Suggested by Eric Blake.
56883
56884 2008-08-25  Bruno Haible  <bruno@clisp.org>
56885
56886         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
56887
56888 2008-08-25  Eric Blake  <ebb9@byu.net>
56889
56890         c-stack: test that stack overflow can be caught
56891         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
56892         that platform allows handling stack overflow; at least OS/2 EMX
56893         has sigaltstack, but crashes before transferring control to
56894         handler on stack overflow.
56895         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
56896         check for HAVE_STACK_OVERFLOW_HANDLING.
56897         Reported by Elbert Pol.
56898
56899 2008-08-25  Bruno Haible  <bruno@clisp.org>
56900
56901         * doc/posix-functions/strftime.texi: Fix description of strftime
56902         module.
56903
56904 2008-08-24  Bruno Haible  <bruno@clisp.org>
56905
56906         * tests/uniwidth/test-uc_width2.c: New file.
56907         * tests/uniwidth/test-uc_width2.sh: New file.
56908         * modules/uniwidth/width-tests (Files): Add the new files.
56909         (TESTS): Add uniwidth/test-uc_width2.sh.
56910         (TESTS_ENVIRONMENT): New variable.
56911         (check_PROGRAMS): Add test-uc_width2.
56912         (test_uc_width2_SOURCES): New variable.
56913
56914         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
56915         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
56916         not 0x00AB.
56917         Reported by Alexander V. Lukyanov <lav@netis.ru>.
56918
56919 2008-08-22  Eric Blake  <ebb9@byu.net>
56920
56921         test-lock, test-tls: mention why a test is skipped
56922         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
56923         skipped.
56924         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
56925
56926         count-one-bits: relax license
56927         * modules/count-one-bits (License): Relicense to LGPLv2+.
56928         Suggested by Ludovic Courtès, approved by Ben Pfaff.
56929
56930 2008-08-22  Andreas Schwab  <schwab@suse.de>
56931
56932         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
56933         Remove spurious space in assignment.
56934
56935 2008-08-21  Simon Josefsson  <simon@josefsson.org>
56936
56937         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
56938         Paul Eggert <eggert@CS.UCLA.EDU>.
56939
56940 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
56941
56942         * modules/gettext: Add m4/threadlib.m4.
56943
56944 2008-08-19  Eric Blake  <ebb9@byu.net>
56945
56946         test-c-stack: fix compilation failure on FreeBSD 5.0
56947         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
56948         headers before <sys/resource.h>.
56949         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
56950         the bug.
56951         Reported by Nelson H. F. Beebe.
56952
56953         strverscmp: migrate from "strverscmp.h" to <string.h>
56954         * modules/string (Makefile.am): Add new hooks.
56955         * modules/strverscmp (Files): Remove strverscmp.h.
56956         (Depends-on): Add string.
56957         (configure.ac): Add indicator.
56958         (Include): Mention new header.
56959         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
56960         defaults.
56961         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
56962         results.
56963         * lib/strverscmp.h: Delete.
56964         * lib/string.in.h (strverscmp): Provide declaration, when needed.
56965         * tests/test-strverscmp.c (includes): Adjust client.
56966         * lib/check-version.c (includes): Likewise.
56967         * NEWS: Document the change.
56968
56969         strverscmp: add unit test
56970         * modules/strverscmp-tests: New file.
56971         * tests/test-strverscmp.c: Likewise.
56972
56973 2008-08-19  Simon Josefsson  <simon@josefsson.org>
56974
56975         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
56976         regarding Windows crypto stuff, from Mono.
56977
56978 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
56979
56980         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
56981         if present, for intel RND.  Return error on failures.
56982
56983 2008-08-18  Ben Pfaff  <blp@gnu.org>
56984
56985         gitlog-to-changelog: give better diagnostic for failed pipe-open
56986         * build-aux/gitlog-to-changelog: Improve error message: suggest
56987         that the version of Git may be too old.
56988
56989 2008-08-18  Simon Josefsson  <simon@josefsson.org>
56990
56991         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
56992         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
56993
56994 2008-08-18  Bruno Haible  <bruno@clisp.org>
56995
56996         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
56997         pthread_in_use().
56998
56999 2008-08-18  Bruno Haible  <bruno@clisp.org>
57000
57001         * lib/glthread/threadlib.c: Include <pthread.h>.
57002
57003 2008-08-18  Bruno Haible  <bruno@clisp.org>
57004
57005         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
57006         glthread_recursive_lock_* macros.
57007         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
57008         Fix syntax error.
57009
57010 2008-08-18  Bruno Haible  <bruno@clisp.org>
57011
57012         * lib/glthread/thread.c: Avoid forcing a context switch right after
57013         thread creation.
57014
57015 2008-08-17  Bruno Haible  <bruno@clisp.org>
57016
57017         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
57018         * lib/glthread/thread.h: Provide Win32 specific implementation.
57019         * modules/thread (Files): Add lib/glthread/thread.c.
57020         (Depends-on): Add lock.
57021         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
57022
57023 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57024
57025         New module 'yield'.
57026         * modules/yield: New file.
57027         * lib/glthread/yield.h: New file.
57028         * m4/yield.m4: New file.
57029         * MODULES.html.sh (Multithreading): Add yield.
57030
57031 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57032
57033         New module 'thread'.
57034         * modules/thread: New file.
57035         * lib/glthread/thread.h: New file.
57036         * m4/thread.m4: New file.
57037         * MODULES.html.sh (Multithreading): Add thread.
57038
57039 2008-08-17  Bruno Haible  <bruno@clisp.org>
57040
57041         * lib/glthread/lock.h: Include <stdlib.h> always.
57042         * lib/glthread/tls.h: Likewise.
57043         * lib/glthread/cond.h: Likewise.
57044
57045 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57046
57047         New module 'cond'.
57048         * modules/cond: New file.
57049         * lib/glthread/cond.h: New file.
57050         * lib/glthread/cond.c: New file.
57051         * m4/cond.m4: New file.
57052         * MODULES.html.sh (Multithreading): Add cond.
57053
57054 2008-08-16  Eric Blake  <ebb9@byu.net>
57055
57056         c-stack: fix regression on Irix 5.3 from 2008-06-21
57057         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
57058         sa_sigaction...
57059         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
57060         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
57061         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
57062         * modules/signal (Makefile.am): Use the value.
57063         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
57064         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
57065         * doc/posix-headers/signal.texi (signal.h): Document this
57066         portability issue.
57067         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
57068         Reported by Tom G. Christensen.
57069
57070 2008-08-17  Bruno Haible  <bruno@clisp.org>
57071
57072         New module 'threadlib'.
57073         * modules/threadlib: New file.
57074         * lib/glthread/threadlib.c: New file, extracted from
57075         lib/glthread/lock.c.
57076         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
57077         functions.
57078         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
57079         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
57080         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
57081         macros.
57082         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
57083         (gl_DISABLE_THREADS): Remove macro.
57084         * modules/lock (Files): Remove build-aux/config.rpath.
57085         (Depends-on): Remove havelib. Add threadlib.
57086         (configure.ac-early): Remove section.
57087         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
57088         * modules/tls (Depends-on): Remove lock. Add threadlib.
57089         (Link): New section, copied from threadlib.
57090         * MODULES.html.sh (Multithreading): Add threadlib.
57091
57092 2008-08-14  Bruno Haible  <bruno@clisp.org>
57093
57094         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
57095         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
57096         glthread_rwlock_unlock, glthread_rwlock_destroy,
57097         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
57098         glthread_recursive_lock_destroy): Define as macros always.
57099         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
57100         glthread_lock_lock.
57101         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
57102         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
57103         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
57104         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
57105         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
57106         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
57107         (glthread_recursive_lock_lock_func): Renamed from
57108         glthread_recursive_lock_lock.
57109         (glthread_recursive_lock_unlock_func): Renamed from
57110         glthread_recursive_lock_unlock.
57111         (glthread_recursive_lock_destroy_func): Renamed from
57112         glthread_recursive_lock_destroy.
57113
57114 2008-08-14  Bruno Haible  <bruno@clisp.org>
57115
57116         * lib/glthread/lock.h: Renamed from lib/lock.h.
57117         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
57118         * lib/glthread/tls.h: Renamed from lib/tls.h.
57119         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
57120         * lib/fstrcmp.c: Update includes.
57121         * lib/strsignal.c: Update includes.
57122         * modules/lock (Files, Makefile.am): Update.
57123         (Include): Change to "glthread/lock.h".
57124         * modules/tls (Files, Makefile.am): Update.
57125         (Include): Change to "glthread/tls.h".
57126         * tests/test-lock.c: Update includes.
57127         * tests/test-tls.c: Update includes.
57128         * NEWS: Mention the renamed header files.
57129
57130 2008-08-11  Jim Meyering  <meyering@redhat.com>
57131
57132         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
57133
57134 2008-08-11  Eric Blake  <ebb9@byu.net>
57135
57136         test-c-stack: avoid C99-ism
57137         * tests/test-c-stack.c (main): Fix whitespace, move declaration
57138         before statement.
57139         Reported by Alain Guibert.
57140
57141 2008-08-10  Jim Meyering  <meyering@redhat.com>
57142
57143         ensure that return value of uinttostr et al are not ignored
57144         * lib/inttostr.h (__GNUC_PREREQ): Define.
57145         (__attribute_warn_unused_result__): Define.
57146         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
57147
57148 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
57149
57150         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
57151         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
57152
57153 2008-08-07  Jim Meyering  <meyering@redhat.com>
57154
57155         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
57156
57157         * modules/mkstemp (License): Relicense under LGPLv2+.
57158         * modules/tempname (License): Likewise.
57159
57160 2008-08-06  Bruno Haible  <bruno@clisp.org>
57161
57162         * lib/poll.c (poll): Further micro-optimization.
57163
57164 2008-08-06  Jim Meyering  <meyering@redhat.com>
57165
57166         inet_pton.c: use locale-independent tolower
57167         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
57168         (inet_pton6): Use c_tolower rather than tolower.
57169         * modules/inet_pton (Depends-on): Add c-ctype.
57170
57171 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
57172
57173         * lib/poll.c (poll): Avoid division when timeout is 0, cache
57174         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
57175
57176 2008-08-06  Jim Meyering  <meyering@redhat.com>
57177
57178         * modules/inet_pton (License): Relicense under LGPLv2+.
57179
57180 2008-08-03  Bruno Haible  <bruno@clisp.org>
57181
57182         Additional non-aborting API for lock and tls.
57183         * lib/lock.h: Include <errno.h>.
57184         (glthread_lock_init): New macro/function.
57185         (gl_lock_init): Define as wrapper around glthread_lock_init.
57186         (glthread_lock_lock): New macro/function.
57187         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
57188         (glthread_lock_unlock): New macro/function.
57189         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
57190         (glthread_lock_destroy): New macro/function.
57191         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
57192         (glthread_rwlock_init): New macro/function.
57193         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
57194         (glthread_rwlock_rdlock): New macro/function.
57195         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
57196         (glthread_rwlock_wrlock): New macro/function.
57197         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
57198         (glthread_rwlock_unlock): New macro/function.
57199         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
57200         (glthread_rwlock_destroy): New macro/function.
57201         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
57202         (glthread_recursive_lock_init): New macro/function.
57203         (gl_recursive_lock_init): Define as wrapper around
57204         glthread_recursive_lock_init.
57205         (glthread_recursive_lock_lock): New macro/function.
57206         (gl_recursive_lock_lock): Define as wrapper around
57207         glthread_recursive_lock_lock.
57208         (glthread_recursive_lock_unlock): New macro/function.
57209         (gl_recursive_lock_unlock): Define as wrapper around
57210         glthread_recursive_lock_unlock.
57211         (glthread_recursive_lock_destroy): New macro/function.
57212         (gl_recursive_lock_destroy): Define as wrapper around
57213         glthread_recursive_lock_destroy.
57214         (glthread_once): New macro/function.
57215         (gl_once): Define as wrapper around glthread_once.
57216         Update function declarations.
57217         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
57218         glthread_rwlock_init. Return error code.
57219         (glthread_rwlock_rdlock_multithreaded): Renamed from
57220         glthread_rwlock_rdlock. Return error code.
57221         (glthread_rwlock_wrlock_multithreaded): Renamed from
57222         glthread_rwlock_wrlock. Return error code.
57223         (glthread_rwlock_unlock_multithreaded): Renamed from
57224         glthread_rwlock_unlock. Return error code.
57225         (glthread_rwlock_destroy_multithreaded): Renamed from
57226         glthread_rwlock_destroy. Return error code.
57227         (glthread_recursive_lock_init_multithreaded): Renamed from
57228         glthread_recursive_lock_init. Return error code.
57229         (glthread_recursive_lock_lock_multithreaded): Renamed from
57230         glthread_recursive_lock_lock. Return error code.
57231         (glthread_recursive_lock_unlock_multithreaded): Renamed from
57232         glthread_recursive_lock_unlock. Return error code.
57233         (glthread_recursive_lock_destroy_multithreaded): Renamed from
57234         glthread_recursive_lock_destroy. Return error code.
57235         (glthread_once_call): Make static.
57236         (glthread_once_multithreaded): Renamed from glthread_once.
57237         * lib/tls.h: Include <errno.h>.
57238         (glthread_tls_key_init): New macro/function.
57239         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
57240         (glthread_tls_set): New macro/function.
57241         (gl_tls_set): Define as wrapper around glthread_tls_set.
57242         (glthread_tls_key_destroy): New macro/function.
57243         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
57244         Update function declarations.
57245         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
57246         glthread_tls_get.
57247         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
57248
57249 2008-08-04  Eric Blake  <ebb9@byu.net>
57250
57251         gnumakefile: use space, not TAB, outside of targets
57252         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
57253
57254 2008-08-02  Jim Meyering  <meyering@redhat.com>
57255
57256         getdate.y: avoid locale-dependent date parsing failure
57257         In Turkish locales, getdate would fail to recognize keywords
57258         containing a lowercase "i".  The solution is not to rely on
57259         locale-sensitive case-conversion.
57260         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
57261         (lookup_word): Use c_toupper in place of toupper.
57262         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
57263         Reported by Vefa Bicakci <bicave@superonline.com> in
57264         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
57265         * modules/getdate (Depends-on): Add c-ctype.
57266
57267 2008-08-02  Bruno Haible  <bruno@clisp.org>
57268
57269         * gnulib-tool (func_import): When updating or creating a .gitignore
57270         file, prepend each added line with a slash, and ignore leading slashes
57271         from the existing lines.
57272         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57273
57274 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57275
57276         Portability fix for GNU make 3.79.1.
57277         * top/GNUmakefile: Avoid 'else COND', which older GNU make
57278         versions do not understand.
57279
57280 2008-08-01  Bruno Haible  <bruno@clisp.org>
57281
57282         Work around bug of HP-UX 10.20 cc with -0.0 literal.
57283         * tests/test-isnanf.h (zero): New variable.
57284         (main): Avoid literal -0.0f.
57285         * tests/test-isnand.h (zero): New variable.
57286         (main): Avoid literal -0.0.
57287         * tests/test-isnanl.h (zero): New variable.
57288         (main): Avoid literal -0.0L.
57289         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
57290         (test_float, test_double, test_long_double): Avoid literals -0.0f,
57291         -0.0, -0.0L.
57292         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
57293         (test_signbitd): Avoid literal -0.0.
57294         (test_signbitl): Avoid literal -0.0L.
57295         * tests/test-ceilf1.c (zero): New variable.
57296         (main): Avoid literal -0.0f.
57297         * tests/test-ceill.c (zero): New variable.
57298         (main): Avoid literal -0.0L.
57299         * tests/test-floorf1.c (zero): New variable.
57300         (main): Avoid literal -0.0f.
57301         * tests/test-floorl.c (zero): New variable.
57302         (main): Avoid literal -0.0L.
57303         * tests/test-roundf1.c (zero): New variable.
57304         (main): Avoid literal -0.0f.
57305         * tests/test-round1.c (zero): New variable.
57306         (main): Avoid literal -0.0.
57307         * tests/test-roundl.c (zero): New variable.
57308         (main): Avoid literal -0.0L.
57309         * tests/test-truncf1.c (zero): New variable.
57310         (main): Avoid literal -0.0f.
57311         * tests/test-trunc1.c (zero): New variable.
57312         (main): Avoid literal -0.0.
57313         * tests/test-truncl.c (zero): New variable.
57314         (main): Avoid literal -0.0L.
57315         * tests/test-frexp.c (zero): New variable.
57316         (main): Avoid literal -0.0.
57317         * tests/test-frexpl.c (zero): New variable.
57318         (main): Avoid literal -0.0L.
57319         * tests/test-ldexpl.c (zero): New variable.
57320         (main): Avoid literal -0.0L.
57321         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57322         (zerod, zerol): New variables.
57323         (test_function): Avoid literals -0.0, -0.0L.
57324         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57325         (zerod, zerol): New variables.
57326         (test_function): Avoid literals -0.0, -0.0L.
57327         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57328         (zerod, zerol): New variables.
57329         (test_function): Avoid literals -0.0, -0.0L.
57330         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57331         (zerod, zerol): New variables.
57332         (test_function): Avoid literals -0.0, -0.0L.
57333         * tests/test-strtod.c (zero): New variable.
57334         (main): Avoid literal -0.0.
57335         Reported by Jonathan C. Patschke <jp@centtech.com>.
57336
57337 2008-07-31  Jim Meyering  <meyering@redhat.com>
57338
57339         sha256.h: correct definition of SHA224_DIGEST_SIZE
57340         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
57341         Reported by Paulie Pena IV <paulie4@gmail.com>.
57342         Define as 224 / 8, rather than as a literal.
57343         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
57344         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
57345         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
57346
57347 2008-07-31  Bruno Haible  <bruno@clisp.org>
57348
57349         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
57350         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
57351         Reported by Jonathan Patschke <jp@centtech.com>.
57352
57353 2008-07-31  Bruno Haible  <bruno@clisp.org>
57354
57355         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
57356         Reported by Paolo Bonzini <bonzini@gnu.org>.
57357
57358 2008-07-30  Eric Blake  <ebb9@byu.net>
57359
57360         test-strtod: allow compilation without -lm
57361         * tests/test-strtod.c (main): Avoid link dependence on fabs.
57362         Reported by Dennis Clarke <blastwave@gmail.com>.
57363
57364 2008-07-28  Jim Meyering  <meyering@redhat.com>
57365
57366         bootstrap: work also when there are no .po files in po/
57367         * build-aux/bootstrap (update_po_files): Complete the change
57368         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
57369
57370 2008-07-27  Jim Meyering  <meyering@redhat.com>
57371
57372         * users.txt: Add zile.
57373
57374 2008-07-26  Ben Pfaff  <blp@gnu.org>
57375
57376         Add missing dependencies on new m4/exponent[fdl].m4 files.
57377         * modules/isnanf-nolibm: Add m4/exponentf.m4.
57378         * modules/isnand-nolibm: Add m4/exponentd.m4.
57379         * modules/isnanl-nolibm: Add m4/exponentl.m4.
57380         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
57381         m4/isnan[fdl].m4, because the macros actually used moved.
57382         Reported by Jim Meyering.
57383
57384 2008-07-14  Ben Pfaff  <blp@gnu.org>
57385
57386         Add isinf module.
57387         * lib/isinf.c: New file.
57388         * lib/math.in.h: Define isinf macro if we have decided to replace
57389         it.
57390         * m4/isinf.m4: New file.
57391         * m4/math_h.m4: Initialize and substitute variables for isinf
57392         module.
57393         * modules/isinf: New file.
57394         * modules/isinf-tests: New file.
57395         * modules/math: Add substitutions for new module.
57396         * tests/test-isinf.c: New file.
57397         * doc/posix-functions/isinf.texi: Mention new module.
57398         * MODULES.html.sh: Mention new module.
57399
57400 2008-07-14  Ben Pfaff  <blp@gnu.org>
57401
57402         Factor out some macros for use by additional modules.
57403         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
57404         exponentf.m4.
57405         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
57406         exponentd.m4.
57407         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
57408         file exponentl.m4.
57409         * m4/exponentf.m4: New file.
57410         * m4/exponentd.m4: New file.
57411         * m4/exponentl.m4: New file.
57412         * modules/isnanf: Use new file m4/exponentf.m4.
57413         * modules/isnand: Use new file m4/exponentd.m4.
57414         * modules/isnanl: Use new file m4/exponentl.m4.
57415
57416 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
57417
57418         mktime.c: normalize tp->tm_isdst value to -1/0/1.
57419         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
57420         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
57421         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
57422
57423         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
57424         readlink on platforms without PATH_MAX.
57425
57426 2008-07-21  Eric Blake  <ebb9@byu.net>
57427
57428         Warn, not fail, on stale version.
57429         * top/GNUmakefile (_curr-ver): Tone down previous patch.
57430
57431         Don't allow installation with stale devel version number.
57432         * top/GNUmakefile (_is-install-target): New macro.
57433         (_curr-ver): Forbid installation with stale version number.
57434
57435 2008-07-20  Bruno Haible  <bruno@clisp.org>
57436
57437         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
57438         TESTS_ENVIRONMENT.
57439         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
57440
57441 2008-07-20  Bruno Haible  <bruno@clisp.org>
57442
57443         * lib/c-stack.h (c_stack_action): Add documentation.
57444         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
57445
57446 2008-07-20  Bruno Haible  <bruno@clisp.org>
57447
57448         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
57449         * modules/readlink (License): Likewise.
57450
57451 2008-07-17  Eric Blake  <ebb9@byu.net>
57452
57453         * modules/c-stack (Link): Fix typo.
57454
57455         Make c-stack use libsigsegv, when available.
57456         * modules/c-stack (Depends-on): Add libsigsegv.
57457         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
57458         needed.
57459         * lib/c-stack.c (SIGSTKSZ): Define fallback.
57460         (segv_handler, overflow_handler, c_stack_action)
57461         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
57462         implementation when libsigsegv is available, but only when using
57463         the library is necessary.
57464         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
57465         comment, explaining why XSI check fails on Linux.
57466         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
57467         * tests/test-c-stack2.sh: Tweak skip message.
57468         * NEWS: Document new link-time requirements.
57469
57470 2008-07-16  Eric Blake  <ebb9@byu.net>
57471
57472         c-stack: Expose false positives when not using libsigsegv.
57473         * modules/c-stack-tests (Files): Expand test.
57474         * tests/test-c-stack.c (main): Add means to conditionally trigger
57475         non-overflow SIGSEGV.
57476         * tests/test-c-stack2.sh: New file.
57477
57478 2008-07-14  Bruno Haible  <bruno@clisp.org>
57479
57480         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
57481         Reported by Eric Blake.
57482
57483 2008-07-14  Sam Steingold  <sds@gnu.org>
57484             Bruno Haible  <bruno@clisp.org>
57485
57486         New module libsigsegv.
57487         * modules/libsigsegv: New file.
57488         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
57489         modifications.
57490         * MODULES.html.sh (Signal handling): New section.
57491
57492 2008-07-14  Bruno Haible  <bruno@clisp.org>
57493
57494         * modules/unictype/ctype-* (Description): Add the word "function".
57495         Improves the resulting doc in MODULES.html.
57496
57497 2008-07-12  Ben Pfaff  <blp@gnu.org>
57498
57499         Add longlong module.
57500         * modules/longlong: New file.
57501
57502 2008-07-12  Bruno Haible  <bruno@clisp.org>
57503
57504         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
57505         to empty.
57506
57507 2008-07-10  Ben Pfaff  <blp@gnu.org>
57508
57509         Add isnan module.
57510         * doc/posix-functions/isnan.texi: Mention new module.
57511         * lib/math.in.h: Define isnan macro if we have decided to replace
57512         it.
57513         * m4/isnan.m4: New file.
57514         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
57515         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
57516         also.
57517         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
57518         redundancy.
57519         * m4/math_h.m4: Initialize and substitute variables for isnan
57520         module.
57521         * modules/isnan: New file.
57522         * modules/isnan-tests: New file.
57523         * modules/math: Add substitutions for new module.
57524         * tests/test-isnan.c: New file.
57525         * MODULES.html.sh: Mention new module.
57526
57527 2008-07-10  Ben Pfaff  <blp@gnu.org>
57528
57529         Add isnanf module.
57530         * lib/isnanf.m4: New file.
57531         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
57532         (gl_HAVE_ISNANF_IN_LIBM): New macro.
57533         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
57534         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
57535         * modules/isnanf: New file.
57536         * modules/isnanf-tests: New file.
57537         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
57538         files.
57539         * tests/test-isnanf-nolibm.c: factored most of its contents into
57540         new file tests/test-isnanf.h.
57541         * tests/test-isnanf.h: New file.
57542         * tests/test-isnanf.c: New file.
57543         * MODULES.html.sh: Mention new module.
57544         * doc/glibc-functions/isnanf.texi: Mention new module.
57545
57546 2008-07-10  Ben Pfaff  <blp@gnu.org>
57547
57548         Add isnand module.
57549         * lib/isnand.h: New file.
57550         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
57551         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
57552         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
57553         functionality also.
57554         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
57555         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
57556         (gl_HAVE_ISNAND_IN_LIBM): New macro.
57557         * modules/isnand: New file.
57558         * modules/isnand-tests: New file.
57559         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
57560         files.
57561         * tests/test-isnand-nolibm.c: factored most of its contents into
57562         new file tests/test-isnand.h.
57563         * tests/test-isnand.h: New file.
57564         * tests/test-isnand.c: New file.
57565         * MODULES.html.sh: Mention new module.
57566
57567 2008-07-10  Ben Pfaff  <blp@gnu.org>
57568
57569         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
57570         * lib/isnand.h: Rename lib/isnand-nolibm.h.
57571         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
57572         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
57573         * modules/isnanf-nolibm: Update references to renamed files.
57574         * modules/isnand-nolibm: Likewise.
57575         * modules/isnanf-nolibm-tests: Likewise.
57576         * modules/isnand-nolibm-tests: Likewise.
57577         * lib/frexp.c: Likewise.
57578         * lib/isfinite.c: Likewise.
57579         * lib/signbitd.c: Likewise.
57580         * lib/signbitf.c: Likewise.
57581         * lib/vasnprintf.c: Likewise.
57582         * tests/test-ceilf1.c: Likewise.
57583         * tests/test-ceilf2.c: Likewise.
57584         * tests/test-floorf1.c: Likewise.
57585         * tests/test-floorf2.c: Likewise.
57586         * tests/test-frexp.c: Likewise.
57587         * tests/test-round1.c: Likewise.
57588         * tests/test-round2.c: Likewise.
57589         * tests/test-roundf1.c: Likewise.
57590         * tests/test-strtod.c: Likewise.
57591         * tests/test-trunc1.c: Likewise.
57592         * tests/test-trunc2.c: Likewise.
57593         * tests/test-truncf1.c: Likewise.
57594         * tests/test-truncf2.c: Likewise.
57595         * NEWS: Mention the renamed header files.
57596
57597 2008-07-11  Jim Meyering  <meyering@redhat.com>
57598
57599         vc-list-files: make the last-resort awk code more portable
57600         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
57601         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
57602         does not support it.
57603
57604 2008-07-10  Eric Blake  <ebb9@byu.net>
57605
57606         Work with tar's bootstrap.
57607         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
57608         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
57609         an m4 comment.
57610
57611 2008-07-09  Jim Meyering  <meyering@redhat.com>
57612
57613         posix-shell.m4: fix typo that made this test malfunction
57614         * m4/posix-shell.m4: Remove capitalization in variable name.
57615
57616 2008-07-08  Bruno Haible  <bruno@clisp.org>
57617
57618         * m4/onceonly.m4: Update comments.
57619         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57620
57621 2008-07-04  Jim Meyering  <meyering@redhat.com>
57622
57623         * users.txt: Add vc-dwim.
57624         (bison, coreutils): Use the gitweb URL.
57625
57626 2008-07-03  Jim Meyering  <meyering@redhat.com>
57627
57628         * users.txt: Add libffcall.  From Sam Steingold.
57629
57630 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
57631
57632         getdate.y: do not ignore TZ with relative day, month or year offset
57633         * lib/getdate.y (get_date): Move the tz-handling block to follow the
57634         relative-date-handling, since otherwise, the latter would clobber the
57635         sole output (an updated Start value) of the tz-handling block.
57636         * tests/test-getdate.c: Tests for the fix
57637
57638 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57639
57640         Recognize 'foo_LIBRARIES += libgnu.a'.
57641         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
57642         makefile snippet has already specified an installation location,
57643         also using '+='.
57644
57645 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
57646
57647         getdate.y: factor out common actions
57648         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
57649         Use them in place of open-coded actions.
57650
57651 2008-07-01  Simon Josefsson  <simon@josefsson.org>
57652
57653         Add self-test for getdate module.
57654         * modules/getdate-tests: New file.
57655         * tests/test-getdate.c: New file.
57656
57657 2008-06-29  Bruno Haible  <bruno@clisp.org>
57658
57659         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
57660         .gitignore.
57661         Reported by Sylvain Beucler <beuc@beuc.net>.
57662
57663 2008-06-29  Bruno Haible  <bruno@clisp.org>
57664
57665         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
57666         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
57667
57668 2008-06-29  Bruno Haible  <bruno@clisp.org>
57669
57670         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
57671         EXTRA_DIST.
57672         Reported by Sylvain Beucler <beuc@beuc.net>.
57673
57674 2008-06-26  Jim Meyering  <meyering@redhat.com>
57675
57676         make several modules depend on the "open" module
57677         This provides slightly increased consistency when opening-for-write
57678         the name of a non-directory spelled with a trailing slash.
57679         * modules/chdir-safer: Likewise.
57680         * modules/chown: Likewise.
57681         * modules/clean-temp: Likewise.
57682         * modules/copy-file: Likewise.
57683         * modules/fchdir: Likewise.
57684         * modules/fcntl-safer: Likewise.
57685         * modules/pipe: Likewise.
57686         * modules/utime: Likewise.
57687         Prompted by Eric Blake and Bruno Haible.
57688
57689 2008-06-24  Andreas Schwab  <schwab@suse.de>
57690
57691         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
57692         literals can be used as initializers for global variables.
57693
57694 2008-06-23  Eric Blake  <ebb9@byu.net>
57695
57696         Make gnulib-cache.m4 easier to diff.
57697         * gnulib-tool (func_import): Allow newlines when reading cached
57698         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
57699
57700 2008-06-23  Bruno Haible  <bruno@clisp.org>
57701
57702         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
57703         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
57704         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
57705         m4/signalblocking.m4.
57706         (gl_PREREQ_SIGACTION): Don't invoke it.
57707         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
57708         gl_PREREQ_SIG_HANDLER_H.
57709         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
57710         Don't check for sigaction here.
57711
57712 2008-06-23  Bruno Haible  <bruno@clisp.org>
57713
57714         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
57715         (install_handlers): Don't set the SA_RESETHAND flag.
57716
57717 2008-06-23  Bruno Haible  <bruno@clisp.org>
57718
57719         * m4/sigaction.m4: Comment fixes.
57720         * lib/signal.in.h: Likewise.
57721
57722 2008-06-23  Eric Blake  <ebb9@byu.net>
57723
57724         Fix typo.
57725         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
57726
57727         Avoid SA_ namespace.
57728         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
57729         Reported by Ralf Wildenhues.
57730
57731         Avoid test failure due to SA_RESTORER.
57732         * tests/test-sigaction.c (SA_MASK): New macro.
57733         (main): Avoid failing due to extension flags being set.
57734         Reported by Jim Meyering.
57735
57736         Revert use of sig-handler.h in sigprocmask.c.
57737         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
57738         it requires the existence of struct sigaction.
57739         * lib/sigprocmask.c (handler_t): Restore typedef.
57740         (rpl_signal, old_handlers): Use local type.
57741
57742 2008-06-22  Bruno Haible  <bruno@clisp.org>
57743
57744         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
57745         conditionally.
57746         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57747
57748 2008-06-22  Bruno Haible  <bruno@clisp.org>
57749
57750         * doc/posix-functions/siginterrupt.texi: Move note.
57751
57752         * lib/signal.in.h (SA_RESTART): New macro.
57753         * lib/sigaction.c: Update comment.
57754
57755         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
57756
57757         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
57758         (gl_PREREQ_SIGPROCMASK): Invoke it.
57759         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
57760
57761         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
57762
57763         * lib/sigprocmask.c: Update a comment.
57764
57765 2008-06-21  Eric Blake  <ebb9@byu.net>
57766
57767         Use sigaction module rather than signal().
57768         * modules/c-stack (Depends-on): Add sigaction.
57769         * modules/fatal-signal (Depends-on): Likewise.
57770         * modules/nanosleep (Depends-on): Likewise.
57771         * modules/sigprocmask (Files): Add sig-handler.h.
57772         * modules/sigaction (Files): Likewise.
57773         * lib/sig-handler.h (get_handler): New file, suggested by Paul
57774         Eggert.
57775         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
57776         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
57777         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
57778         (init_fatal_signals): Likewise.
57779         * lib/nanosleep.c (rpl_nanosleep): Likewise.
57780         (siginterrupt): Delete fallback.
57781         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
57782         instead.
57783         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
57784         siginterrupt.
57785
57786         New module sigaction, for mingw.
57787         * modules/sigaction: New module...
57788         * modules/sigaction-tests: ...and its test.
57789         * m4/sigaction.m4: New file.
57790         * lib/sigaction.c: Likewise.
57791         * tests/test-sigaction.c: Likewise.
57792         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
57793         * modules/signal (Makefile.am): Likewise.
57794         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
57795         needed.
57796         * doc/posix-headers/signal.texi (signal.h): Mention provided
57797         types.
57798         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
57799         that sigaction is preferable.
57800         * doc/posix-functions/sigaction.texi (sigaction): Mention new
57801         module.
57802         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57803         sigaction.
57804
57805         Improve robustness of sigprocmask by overriding signal.
57806         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
57807         is in use.
57808         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
57809         (SIGKILL, SIGSTOP): Provide fallbacks.
57810         (rpl_signal): Implement.
57811         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
57812         signal can be called inside handlers.
57813
57814         Fix nanosleep module on mingw.
57815         * modules/nanosleep (Depends-on): Add sys_select.
57816         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
57817
57818         Fix licensing of sigprocmask.
57819         * modules/raise (License): Relicense as LGPL.
57820
57821 2008-06-21  Bruno Haible  <bruno@clisp.org>
57822
57823         * lib/propername.c (proper_name_utf8): Don't use the transliterated
57824         result if it contains question marks.
57825         Reported by Michael Geng <linux@michaelgeng.de>.
57826
57827 2008-06-19  Bruno Haible  <bruno@clisp.org>
57828
57829         Fix CVS-ism.
57830         * doc/gnulib.texi: Include updated-stamp.texi.
57831         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
57832         (updated-stamp.texi): New rule.
57833         (gnulib.info): Depend on it.
57834         * doc/.gitignore: Add updated-stamp.texi.
57835         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
57836
57837 2008-06-19  Bruno Haible  <bruno@clisp.org>
57838
57839         * doc/Makefile (gnulib.info): Update and simplify dependencies.
57840         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57841
57842 2008-06-19  Eric Blake  <ebb9@byu.net>
57843
57844         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
57845         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
57846         Reported by Stepan Kasal.
57847
57848 2008-06-18  Bruno Haible  <bruno@clisp.org>
57849
57850         * lib/fatal-signal.c (init_fatal_signals): Add comment.
57851         Reported by Eric Blake.
57852
57853 2008-06-18  Eric Blake  <ebb9@byu.net>
57854
57855         Work around cygwin 1.5.25 strsignal bug.
57856         * tests/test-strsignal.c: Allow for const char *.
57857         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
57858
57859 2008-06-18  Simon Josefsson  <simon@josefsson.org>
57860
57861         * users.txt: Update URL to article and add author/date
57862         information.
57863
57864 2008-06-17  Bruno Haible  <bruno@clisp.org>
57865
57866         New macro gl_DISABLE_THREADS.
57867         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
57868         if the user did not pass --enable-threads or --disable-threads option.
57869         (gl_DISABLE_THREADS): New macro.
57870         Reported by Eric Blake <ebb9@byu.net>.
57871
57872 2008-06-17  Bruno Haible  <bruno@clisp.org>
57873
57874         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
57875         when the macro ignores it.
57876         Based on a patch by Eric Blake <ebb9@byu.net>.
57877
57878 2008-06-17  Bruno Haible  <bruno@clisp.org>
57879
57880         * modules/tls (License): Change to LGPLv2+.
57881         Reported by Eric Blake.
57882
57883 2008-06-17  Eric Blake  <ebb9@byu.net>
57884
57885         Simplify c-stack prerequisites.
57886         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
57887         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
57888         no longer requires <ucontext.h> to exist.  Optimize setrlimit
57889         check.
57890         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
57891         <sys/resource.h>.
57892
57893         Move c-stack test into testsuite.
57894         * modules/c-stack-tests: New file.
57895         * lib/c-stack.c [DEBUG]: Move test program...
57896         * tests/test-c-stack.c: ...into this new file.  Skip rather than
57897         fail test if sigaltstack is lacking.
57898         * tests/test-c-stack.sh: New driver file.
57899
57900 2008-06-16  Eric Blake  <ebb9@byu.net>
57901
57902         Use raise module consistently.
57903         * modules/fatal-signal (Depends-on): Add raise.
57904         * modules/sigprocmask (Depends-on): Likewise.
57905         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
57906         * lib/sigprocmask.c (sigprocmask): Likewise.
57907         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
57908         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
57909
57910         Fix compliance bug in sigpending.
57911         * lib/sigprocmask.c (sigpending): Return pending array via
57912         parameter, not return value.
57913
57914 2008-06-14  Eric Blake  <ebb9@byu.net>
57915
57916         Improve obstack-printf test code.
57917         * tests/test-obstack-printf.c (test_function): Fix comment, and
57918         simplify usage of obstack_* in macros.  Add a test for coverage.
57919         Reported by Bruno Haible.
57920
57921 2008-06-14  Bruno Haible  <bruno@clisp.org>
57922
57923         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
57924         array size as a constant, not as a const variable.
57925         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
57926         AC_USE_SYSTEM_EXTENSIONS.
57927         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
57928         Test whether the obstack_printf function actually exists.
57929         * modules/obstack-printf (Depends-on): Add extensions.
57930         (Include): Remove obstack.h.
57931         * modules/obstack-printf-posix (Depends-on): Add extensions.
57932         (Include): Remove obstack.h.
57933
57934 2008-06-13  Eric Blake  <ebb9@byu.net>
57935
57936         Add obstack-printf and obstack-printf-posix modules.
57937         * modules/obstack-printf: New file.
57938         * modules/obstack-printf-posix: Likewise.
57939         * MODULES.html.sh (Misc): Mention them.
57940         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
57941         Likewise.
57942         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
57943         Likewise.
57944         * modules/stdio (Makefile.am): Accomodate new modules.
57945         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
57946         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
57947         Declare.
57948         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
57949         functions.
57950         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
57951         (gl_REPLACE_OBSTACK_PRINTF): New macros
57952         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
57953         * tests/test-obstack-printf.c: New file.
57954         * modules/obstack-printf-tests: Likewise.
57955         * modules/obstack-printf-posix-tests: Likewise.
57956
57957 2008-06-11  Bruno Haible  <bruno@clisp.org>
57958
57959         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
57960         * lib/open.c: Include errno.h.
57961         (open): Fail when attempting to write to a file that has a trailing
57962         slash.
57963         * tests/test-open.c (main): Test against trailing slash bug.
57964         * doc/posix-functions/open.texi: Mention the trailing slash bug.
57965
57966 2008-06-10  Bruno Haible  <bruno@clisp.org>
57967
57968         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
57969         for $? to work inside the trap command, with various /bin/sh-s.
57970         * tests/test-vc-list-files-cvs.sh: Likewise.
57971
57972 2008-06-10  Bruno Haible  <bruno@clisp.org>
57973
57974         * lib/acl-internal.h: Don't include gettext.h here.
57975         * lib/set-mode-acl.c: Include gettext.h here.
57976         * lib/copy-acl.c: Likewise.
57977
57978 2008-06-10  Bruno Haible  <bruno@clisp.org>
57979
57980         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
57981         * lib/wait-process.c (wait_subprocess): Likewise.
57982         * lib/execute.h (execute): Add termsigp argument.
57983         * lib/execute.c (execute): Likewise.
57984         * lib/csharpcomp.c (compile_csharp_using_pnet,
57985         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
57986         * lib/csharpexec.c (execute_csharp_using_pnet,
57987         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
57988         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
57989         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
57990         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
57991         is_jikes_present): Update.
57992         * lib/javaexec.c (execute_java_class): Update.
57993         * lib/javaversion.c (execute_and_read_line): Update.
57994         * NEWS: Document the changes.
57995         Reported by Eric Blake.
57996
57997 2008-06-10  Eric Blake  <ebb9@byu.net>
57998
57999         Add missing include.
58000         * tests/test-strstr.c (includes): Add <signal.h>.
58001         * tests/test-strcasestr.c (includes): Likewise.
58002         * tests/test-memmem.c (includes): Likewise.
58003
58004 2008-06-10  Bruno Haible  <bruno@clisp.org>
58005
58006         * lib/wait-process.c (wait_subprocess): Add an assertion.
58007
58008 2008-06-10  Bruno Haible  <bruno@clisp.org>
58009
58010         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
58011
58012 2008-06-10  Bruno Haible  <bruno@clisp.org>
58013
58014         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
58015         using alarm().
58016         * tests/test-strcasestr.c (main): Likewise.
58017         * tests/test-strstr.c (main): Likewise.
58018
58019 2008-06-09  Bruno Haible  <bruno@clisp.org>
58020
58021         Work around the Solaris 10 ACE ACLs ABI change.
58022         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
58023         declare if ACL_NO_TRIVIAL is present.
58024         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
58025         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
58026         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
58027         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
58028         define if ACL_NO_TRIVIAL is present.
58029         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
58030         and use the current ABI.
58031         (file_has_acl): Use same #if condition as elsewhere.
58032         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
58033         in use, and use the current ABI.
58034         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
58035         Reported by Jim Meyering.
58036
58037 2008-06-09  Eric Blake  <ebb9@byu.net>
58038
58039         Work around environments that (stupidly) ignore SIGALRM.
58040         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
58041         before using alarm().
58042         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58043         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58044         Reported by Ian Beckwith <ianb@erislabs.net>.
58045
58046         Produce autobuild blurb earlier in log.
58047         * modules/autobuild (configure.ac-early): Move AB_INIT here.
58048
58049 2008-06-09  Jim Meyering  <meyering@redhat.com>
58050         and Ondřej Vašík  <ovasik@redhat.com>
58051
58052         utimens.c: correct kernel bug work-around
58053         Ondřej Vašík found that the invalid return value of 280 indicates
58054         failure, not success, and the kernel bug we're trying to work
58055         around affects not just the utimensat call, but also the fallback
58056         futimens call.
58057         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
58058         not success.
58059         [HAVE_FUTIMENS]: Use the same work-around, here.
58060
58061 2008-06-09  Jim Meyering  <meyering@redhat.com>
58062
58063         add more guards around definition of ACE_-related code
58064         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
58065         ALLOW and ACE_OWNER are also defined.
58066
58067 2008-06-08  Bruno Haible  <bruno@clisp.org>
58068
58069         * lib/acl-internal.h: Add me as co-author.
58070         * lib/file-has-acl.c: Likewise.
58071         * lib/set-mode-acl.c: Likewise.
58072         * lib/copy-acl.c: Likewise.
58073
58074 2008-06-08  Bruno Haible  <bruno@clisp.org>
58075
58076         Add support for AIX ACLs.
58077         * lib/acl-internal.h (acl_nontrivial): New declaration.
58078         * lib/file-has-acl.c (acl_nontrivial): New function.
58079         (file_has_acl): Add implementation using AIX 4 ACL API.
58080         * lib/set-mode-acl.c (qset_acl): Likewise.
58081         * lib/copy-acl.c (qcopy_acl): Likewise.
58082
58083 2008-06-08  Bruno Haible  <bruno@clisp.org>
58084
58085         Add support for HP-UX ACLs.
58086         * lib/acl-internal.h (acl_nontrivial): New declaration.
58087         * lib/file-has-acl.c (acl_nontrivial): New function.
58088         (file_has_acl): Add implementation using HP-UX 11 ACL API.
58089         * lib/set-mode-acl.c (qset_acl): Likewise.
58090         * lib/copy-acl.c (qcopy_acl): Likewise.
58091
58092 2008-06-08  Bruno Haible  <bruno@clisp.org>
58093
58094         Add support for Cygwin ACLs.
58095         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
58096         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
58097         the chmod_or_fchmod call.
58098         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
58099
58100 2008-06-08  Bruno Haible  <bruno@clisp.org>
58101
58102         Fix bug with setuid modes in Solaris 10+ code.
58103         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
58104         succeeded, when the mode contains some special bits.
58105
58106 2008-06-08  Bruno Haible  <bruno@clisp.org>
58107
58108         Add support for Solaris 7..10 ACLs.
58109         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
58110         declarations.
58111         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
58112         functions.
58113         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
58114         * lib/set-mode-acl.c (qset_acl): Likewise.
58115         * lib/copy-acl.c (qcopy_acl): Likewise.
58116
58117 2008-06-08  Bruno Haible  <bruno@clisp.org>
58118
58119         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
58120         declaration.
58121         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
58122         (acl_access_nontrivial): Remove MacOS X case.
58123         (file_has_acl): Use acl_extended_nontrivial.
58124         * lib/copy-acl.c (qcopy_acl): Likewise.
58125
58126 2008-06-08  Bruno Haible  <bruno@clisp.org>
58127
58128         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
58129
58130 2008-06-08  Jim Meyering  <meyering@redhat.com>
58131
58132         * modules/acl (Maintainer): Add Bruno Haible.
58133
58134 2008-06-07  Bruno Haible  <bruno@clisp.org>
58135
58136         Improve support for Tru64 ACLs.
58137         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
58138         ACL on OSF/1.
58139
58140 2008-06-07  Bruno Haible  <bruno@clisp.org>
58141
58142         Add support for MacOS X ACLs.
58143         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
58144         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
58145         * lib/set-mode-acl.c (qset_acl): Likewise.
58146         * lib/copy-acl.c (qcopy_acl): Likewise.
58147
58148 2008-06-07  Bruno Haible  <bruno@clisp.org>
58149
58150         Fix memory leak introduced on 2008-05-22.
58151         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
58152         use.
58153
58154 2008-06-07  Bruno Haible  <bruno@clisp.org>
58155
58156         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
58157         to construct an empty ACL.
58158
58159 2008-06-07  Bruno Haible  <bruno@clisp.org>
58160
58161         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
58162         precisely.
58163         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
58164
58165 2008-06-07  Bruno Haible  <bruno@clisp.org>
58166
58167         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
58168         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
58169
58170 2008-06-07  Bruno Haible  <bruno@clisp.org>
58171
58172         * doc/posix-functions/_setjmp.texi: Explain the use of this function
58173         regardless of POSIX.
58174         * doc/posix-functions/_longjmp.texi: Likewise.
58175         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
58176         SystemV platform in this case.
58177
58178 2008-06-06  Eric Blake  <ebb9@byu.net>
58179
58180         Document abort() bugs.
58181         * doc/posix-functions/abort.texi (abort): Mention anomalies.
58182
58183         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
58184         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
58185         sigsetjmp.
58186         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
58187         siglongjmp, but only as a macro.
58188         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
58189         is obsolete.
58190         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
58191
58192         Tweak documentation to cover cygwin argz bugs.
58193         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
58194         argz bug fix; no code change needed since no cygwin releases
58195         occurred between the last fix and the bug being tested.
58196         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
58197         module and recently fixed cygwin bugs.
58198         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
58199         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
58200         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
58201         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
58202         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
58203         Likewise.
58204         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
58205         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
58206         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
58207         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
58208         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
58209         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
58210         Likewise.
58211
58212         Avoid gcc warning on cygwin.
58213         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
58214         !ACL_NO_TRIVIAL]: Avoid unused variable.
58215
58216 2008-06-05  Eric Blake  <ebb9@byu.net>
58217
58218         Be tolerant of UNKNOWN version in gnulib-tool test dir.
58219         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
58220         git-version-gen fails to come up with a version.
58221         Reported by Simon Josefsson.
58222
58223 2008-06-05  Jim Meyering  <meyering@redhat.com>
58224             Paul Eggert  <eggert@cs.ucla.edu>
58225
58226         utimens.c: work around a probable Linux kernel bug
58227         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
58228         appears to be a kernel bug that causes utimensat to return 280
58229         instead of 0, indicating success.
58230
58231 2008-06-04  Bruno Haible  <bruno@clisp.org>
58232
58233         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
58234         2008-06-01 commit.
58235
58236 2008-06-04  Bruno Haible  <bruno@clisp.org>
58237
58238         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
58239         * lib/file-has-acl.c (acl_access_nontrivial): New function.
58240         (file_has_acl): Use it. Save errno afterwards.
58241         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
58242
58243 2008-06-03  Bruno Haible  <bruno@clisp.org>
58244
58245         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
58246         draft code. Simplify #ifs.
58247         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
58248         Put Solaris code after POSIX-draft code. Fix comments regarding
58249         Solaris 10, HP-UX. Mention Cygwin.
58250         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
58251
58252 2008-06-03  Eric Blake  <ebb9@byu.net>
58253
58254         Provide fallback for older kernels.
58255         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
58256         Provide runtime fallback if kernel lacks support.
58257         Reported by Mike Frysinger.
58258
58259 2008-06-02  Bruno Haible  <bruno@clisp.org>
58260
58261         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
58262         it exists.
58263
58264 2008-06-02  Bruno Haible  <bruno@clisp.org>
58265
58266         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
58267         * lib/copy-acl.c (qcopy_acl): Update comment.
58268
58269 2008-06-02  Bruno Haible  <bruno@clisp.org>
58270
58271         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
58272         like ACL APIs.
58273
58274 2008-06-02  Bruno Haible  <bruno@clisp.org>
58275
58276         * tests/test-file-has-acl.sh: Use different code for Cygwin.
58277         * tests/test-set-mode-acl.sh: Likewise.
58278         * tests/test-copy-acl.sh: Likewise.
58279         * tests/test-copy-file.sh: Likewise.
58280
58281 2008-06-02  Bruno Haible  <bruno@clisp.org>
58282
58283         * tests/test-file-has-acl.sh: Remove unused code.
58284
58285 2008-06-01  Bruno Haible  <bruno@clisp.org>
58286
58287         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
58288         (copy_acl): Just a wrapper around qcopy_acl that emits the error
58289         messages.
58290         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
58291
58292 2008-06-01  Bruno Haible  <bruno@clisp.org>
58293
58294         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
58295         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
58296         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
58297         APIs.
58298         * modules/acl-tests (configure.ac): Remove tests now contained in
58299         m4/acl.m4.
58300
58301 2008-06-02  Jim Meyering  <meyering@redhat.com>
58302
58303         announce-gen: use a better key-server host name
58304         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
58305         it may be more consistently reliable.  Suggested by Werner Koch
58306         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
58307
58308 2008-06-01  Bruno Haible  <bruno@clisp.org>
58309
58310         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
58311         Reported by Voroskoi Andras <voroskoi@gmail.com>.
58312
58313 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
58314
58315         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
58316
58317 2008-06-01  Bruno Haible  <bruno@clisp.org>
58318
58319         New ACL tests.
58320         * tests/test-file-has-acl.sh: New file.
58321         * tests/test-file-has-acl.c: New file.
58322         * tests/test-set-mode-acl.sh: New file.
58323         * tests/test-set-mode-acl.c: New file.
58324         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
58325         * tests/test-copy-acl.c: New file.
58326         * modules/acl-tests: New file, based on modules/copy-file-tests.
58327         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
58328         (Depends-on): Add acl-tests.
58329         (configure.ac): Remove checks.
58330         (Makefile.am): Don't create test-sameacls program here any more.
58331
58332 2008-06-01  Bruno Haible  <bruno@clisp.org>
58333
58334         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
58335         * tests/test-sameacls.c: Include progname.h.
58336         (main): Invoke set_program_name. Portability fixes for MacOS X,
58337         Solaris, HP-UX.
58338
58339 2008-06-01  Bruno Haible  <bruno@clisp.org>
58340
58341         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
58342         function.
58343         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
58344
58345 2008-06-01  Bruno Haible  <bruno@clisp.org>
58346
58347         * modules/rpmatch (Depends-on): Add strdup.
58348
58349 2008-06-01  Bruno Haible  <bruno@clisp.org>
58350
58351         * lib/pipe.c: Include unistd-safer.h.
58352         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
58353         * modules/pipe (Depends-on): Add unistd-safer.
58354
58355 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58356
58357         * modules/autobuild (configure.ac): Call AB_INIT.
58358
58359 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58360
58361         * tests/test-getaddrinfo.c: Don't print debug messages by default.
58362         Suggested by Bruno Haible <bruno@clisp.org>.
58363
58364 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58365
58366         * tests/test-base64.c: Cast size_t to unsigned long when invoking
58367         printf.  Use %lu instead of %d.  Reported by Bruno Haible
58368         <bruno@clisp.org>.
58369
58370 2008-05-29  Eric Blake  <ebb9@byu.net>
58371
58372         Prefer new POSIX 200x interfaces over futimesat.
58373         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
58374         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
58375         when available.
58376         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
58377
58378 2008-05-28  Bruno Haible  <bruno@clisp.org>
58379
58380         * modules/stpcpy (License): Change to LGPLv2+.
58381         Requested by David Lutterkort <dlutter@redhat.com>.
58382
58383 2008-05-27  Bruno Haible  <bruno@clisp.org>
58384
58385         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
58386         current mingw.
58387         Reported by Jose E. Marchesi <jemarch@gnu.org>.
58388
58389 2008-05-27  Bruno Haible  <bruno@clisp.org>
58390
58391         * modules/iconv_open (Link): New section, from module 'iconv'.
58392         * modules/striconv (Link): Likewise.
58393         * modules/striconveh (Link): Likewise.
58394         * modules/xstriconv (Link): Likewise.
58395         * modules/unicodeio (Link): Likewise.
58396         * modules/propername (Link): Likewise.
58397         Reported by Jim Meyering.
58398
58399 2008-05-26  Jim Meyering  <meyering@redhat.com>
58400
58401         sha256: do not artificially restrict buffer length to be < 2^32
58402         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
58403         uint32_t to size_t.
58404         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
58405         to match.
58406
58407         avoid unaligned access errors, e.g., on sparc
58408         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
58409         direct access through a possibly-unaligned uint64* pointer.
58410         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
58411         direct access through a possibly-unaligned uint32* pointer.
58412         Prompted by this patch from Tom "spot" Callaway:
58413         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
58414
58415         sha512.c: fix typo in comment
58416         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
58417
58418 2008-05-25  Bruno Haible  <bruno@clisp.org>
58419
58420         * lib/set-mode-acl.c: Renamed from lib/acl.c.
58421         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
58422         (Makefile.am): Update lib_SOURCES.
58423
58424 2008-05-25  Bruno Haible  <bruno@clisp.org>
58425
58426         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
58427
58428 2008-05-25  Jim Meyering  <meyering@redhat.com>
58429
58430         useless-if-before-free: freed expr may have white-space differences
58431         * build-aux/useless-if-before-free: Recognize cases in which the
58432         freed expression differs from the tested one in embedded white
58433         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
58434         $1 was used, so we can't make any regexp shy.  Improved tests now
58435         detect this.
58436
58437         useless-if-before-free: accept white space in the expression.
58438         * build-aux/useless-if-before-free: For now, any white space
58439         in the expression must be identical in the free argument.
58440
58441         useless-if-before-free: efficiency tweak
58442         * build-aux/useless-if-before-free: Make the expression-matching
58443         regexp "shy".
58444         Make the *outer* regexp shy, not the expr-matching one.
58445
58446         update code-in-comment to accept cast of free arg
58447         * build-aux/useless-if-before-free: Update regexp.
58448
58449 2008-05-25  Bruno Haible  <bruno@clisp.org>
58450
58451         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
58452         * modules/copy-file-tests (Files, Makefile.am): Update.
58453         * tests/test-copy-file.c (func_test_copy): Update.
58454
58455 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
58456
58457         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
58458
58459 2008-05-23  Bruno Haible  <bruno@clisp.org>
58460
58461         Improve support for ACLs on OSF/1.
58462         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
58463         Remove fallback for unknown flavors of ACLs.
58464
58465 2008-05-22  Bruno Haible  <bruno@clisp.org>
58466
58467         Add support for ACLs on OSF/1.
58468         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
58469         replacements.
58470         (acl_free_text): New macro fallback.
58471         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
58472         acl_free.
58473         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
58474         acl_free_text function. Require AC_C_INLINE.
58475
58476 2008-05-22  Bruno Haible  <bruno@clisp.org>
58477
58478         Make copy_acl work on MacOS X 10.5.
58479         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
58480         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
58481         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
58482         If MODE_INSIDE_ACL, don't assume that every system has the same text
58483         representation for ACLs as FreeBSD.
58484         * lib/copy-acl.c (copy_acl): Add support for platforms with
58485         !MODE_INSIDE_ACL.
58486         * lib/file-has-acl.c (file_has_acl): Likewise.
58487         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
58488         FreeBSD, MacOS X, or IRIX, respectively.
58489
58490 2008-05-22  Bruno Haible  <bruno@clisp.org>
58491
58492         * lib/acl.h: Don't include <sys/acl.h>.
58493         (GETACLCNT): Move fallback to lib/acl-internal.h.
58494         * lib/acl-internal.h: Include <sys/acl.h> here.
58495         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
58496
58497 2008-05-22  Bruno Haible  <bruno@clisp.org>
58498
58499         Split off copy_acl function to separate file.
58500         * lib/copy-acl.c: New file, extracted from lib/acl.c.
58501         * lib/acl.c (copy_acl): Moved function to separate file.
58502         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
58503         * modules/acl (Files): Add lib/copy-acl.c.
58504         (Makefiles.am): Augment lib_SOURCES.
58505
58506 2008-05-22  Bruno Haible  <bruno@clisp.org>
58507
58508         * modules/copy-file-tests: New file.
58509         * tests/test-copy-file.sh: New file.
58510         * tests/test-copy-file.c: New file.
58511         * tests/test-copy-file-sameacls.c: New file.
58512
58513 2008-05-22  Eric Blake  <ebb9@byu.net>
58514
58515         Avoid gcc warning.
58516         * tests/test-memcmp.c (main): Pass NULL indirectly.
58517
58518 2008-05-21  Bruno Haible  <bruno@clisp.org>
58519
58520         Add reference doc about ACLs.
58521         * doc/acl-resources.txt: New file.
58522         * doc/acl-cygwin.txt: New file.
58523
58524 2008-05-21  Bruno Haible  <bruno@clisp.org>
58525
58526         Avoid one more warning from gcc.
58527         * lib/vasnprintf.c (IF_LINT): Update comments.
58528         (VASNPRINTF): Use it also for the 'prefix' array initializer.
58529
58530 2008-05-21  Jim Meyering  <meyering@redhat.com>
58531
58532         avoid a warning from gcc
58533         * lib/vasnprintf.c (IF_LINT): Define.
58534         (scale10_round_decimal_long_double):
58535         Use it to avoid a "may be used uninitialized" warning.
58536         (scale10_round_decimal_double): Likewise.
58537
58538 2008-05-21  Simon Josefsson  <simon@josefsson.org>
58539
58540         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
58541         declared.
58542
58543 2008-05-20  Bruno Haible  <bruno@clisp.org>
58544
58545         * tests/test-memcmp.c (main): Test also the sign of the result. Test
58546         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
58547
58548 2008-05-20  Simon Josefsson  <simon@josefsson.org>
58549
58550         * modules/memcmp-tests: New file.
58551         * tests/test-memcmp.c: New file.
58552
58553 2008-05-19  Bruno Haible  <bruno@clisp.org>
58554
58555         * modules/propername (Notice, configure.ac): Put quoted "..." into
58556         --keyword option.
58557         * lib/propername.h: Update comments accordingly.
58558         Reported by Eric Blake.
58559
58560 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
58561
58562         * modules/getpass-gnu (Depends-on): Add fseeko.
58563
58564 2008-05-19  Simon Josefsson  <simon@josefsson.org>
58565
58566         * modules/base64-tests: New file.
58567
58568 2008-05-19  Bo Borgerson <gigabo@gmail.com>
58569
58570         * lib/base64.c (base64_decode_ctx): If a decode context structure
58571         was passed in use it to ignore newlines.  If a context structure
58572         was _not_ passed in, continue to treat newlines as garbage (this
58573         is the historical behavior).  Formerly base64_decode.
58574         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
58575         takes a decode context structure.
58576         * lib/base64.h (base64_decode): Macro for four-argument calls.
58577         (base64_decode_alloc): Likewise.
58578         * lib/base64.c (base64_decode_ctx): If a decode context structure
58579         was passed in use it to ignore newlines.  If a context structure
58580         was _not_ passed in, continue to treat newlines as garbage (this
58581         is the historical behavior).  Formerly base64_decode.
58582         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
58583         takes a decode context structure.
58584         * lib/base64.h (base64_decode): Macro for four-argument calls.
58585         (base64_decode_alloc): Likewise.
58586
58587 2008-05-19  Jim Meyering  <meyering@redhat.com>
58588
58589         avoid a warning from gcc
58590         * lib/trim.c (IF_LINT): Define.
58591         (trim2): Use it to avoid a "may be used uninitialized" warning.
58592
58593         Fix doc typo.
58594         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
58595
58596 2008-05-19  Bruno Haible  <bruno@clisp.org>
58597
58598         * doc/glibc-functions/getpass.texi: Document limits of other
58599         implementations.
58600
58601 2008-05-19  Simon Josefsson  <simon@josefsson.org>
58602             Bruno Haible <bruno@clisp.org>
58603
58604         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
58605
58606 2008-05-18  Bruno Haible  <bruno@clisp.org>
58607
58608         * modules/propername: New file, from GNU gettext.
58609         * lib/propername.h: New file, from GNU gettext.
58610         * lib/propername.c: New file, from GNU gettext.
58611         * MODULES.html.sh (Internationalization functions): Add propername.
58612
58613 2008-05-16  Jim Meyering  <meyering@redhat.com>
58614             Bruno Haible  <bruno@clisp.org>
58615
58616         Avoid some warnings from "gcc -Wshadow".
58617         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
58618
58619 2008-05-15  Eric Blake  <ebb9@byu.net>
58620
58621         Extend previous patch to cygwin 1.7.0.
58622         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
58623         fast implementation in cygwin >= 1.7.0.
58624         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
58625         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58626
58627 2008-05-15  Bruno Haible  <bruno@clisp.org>
58628
58629         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
58630         implementation in glibc >= 2.9.
58631         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
58632         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58633
58634 2008-05-15  Bruno Haible  <bruno@clisp.org>
58635
58636         * MODULES.html.sh (Internationalization functions): Remove linebreak.
58637         (Unicode string functions): Add unilbrk/*.
58638         Reported by Karl Berry.
58639
58640 2008-05-15  Eric Blake  <ebb9@byu.net>
58641
58642         Fix violation of <stdbool.h> replacement in regex.
58643         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
58644         * lib/regexec.c (re_search_internal): Likewise.
58645         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
58646
58647 2008-05-15  Jim Meyering  <meyering@redhat.com>
58648
58649         avoid distracting test output when git or cvs is not found
58650         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
58651         * tests/test-vc-list-files-git.sh: Likewise.
58652
58653 2008-05-15  Eric Blake  <ebb9@byu.net>
58654
58655         Glibc finally accepted the memmem speedup code, bugzilla #5514.
58656         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
58657         glibc version.
58658         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
58659         * doc/posix-functions/strstr.texi (strstr): Likewise.
58660         * lib/str-two-way.h (MAX): Sychronize with glibc.
58661
58662 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
58663
58664         * lib/regcomp.c (optimize_utf8): Add a note on why we test
58665         opr.ctx_type.
58666         (calc_first): Initialize constraint field.
58667         (duplicate_node_closure): Use it instead of special casing ANCHORS.
58668         Fix grammar.
58669         (duplicate_node): Merge constraint field for all node types.
58670         (calc_eclosure_iter): Look at constraint field for all node types.
58671         * lib/regex_internal.c (create_cd_newstate): Don't look at
58672         opr.ctx_type.
58673
58674 2008-05-14  Bruno Haible  <bruno@clisp.org>
58675
58676         Help GCC to do better code generation.
58677         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
58678         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
58679         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
58680         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
58681         Declare with attribute 'malloc' if supported.
58682
58683 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
58684
58685         use "echo STR|wc -c" rather than unportable "expr length STR"
58686         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
58687         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
58688
58689 2008-05-14  Jim Meyering  <meyering@redhat.com>
58690
58691         use dd ibs=$n count=1 ... rather than less-portable head -c$n
58692         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
58693         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
58694         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
58695         via Collin Lasse.
58696
58697 2008-05-14  Eric Blake  <ebb9@byu.net>
58698
58699         Avoid quadratic growth in gl_LIBSOURCES.
58700         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
58701         Suggested by Bruno Haible.
58702
58703         Test xmemdup0.
58704         * modules/xmemdup0-tests: New file.
58705         * tests/test-xmemdup0.c: Likewise.
58706
58707 2008-05-13  Eric Blake  <ebb9@byu.net>
58708
58709         Split xmemdup0 into its own module.
58710         * modules/xmemdup0: New file.
58711         * lib/xmemdup0.h: Likewise.
58712         * lib/xmemdup0.c: Likewise.
58713         * MODULES.html.sh (Memory management functions): Add xmemdup0.
58714         * lib/xalloc.h (xmemdup0): Remove.
58715         * lib/xmalloc.c (xmemdup0): Likewise.
58716
58717 2008-05-13  Eric Blake  <ebb9@byu.net>
58718             Bruno Haible  <bruno@clisp.org>
58719
58720         Reduce number of forks required during autoconf.
58721         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
58722         and gl_LIBSOURCES_DIR.
58723         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
58724         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
58725         m4_syscmd per file.
58726         <m4_foreach_w>: Move...
58727         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
58728
58729 2008-05-13  Eric Blake  <ebb9@byu.net>
58730
58731         * gnulib-tool: Fix various comment typos.
58732
58733 2008-05-12  Bruno Haible  <bruno@clisp.org>
58734
58735         Tailor the linebreaking algorithm.
58736         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
58737
58738 2008-05-12  Bruno Haible  <bruno@clisp.org>
58739
58740         Update to Unicode 5.0.0.
58741         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
58742         LBP_JV, LBP_JT. Redistribute values.
58743         (unilbrk_table): Change size.
58744         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
58745         Unicode TR#14 rev. 22.
58746         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
58747         LBP_JV, LBP_JT. Redistribute values.
58748         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
58749         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
58750         Update.
58751         * lib/unilbrk/lbrkprop1.h: Regenerated.
58752         * lib/unilbrk/lbrkprop2.h: Regenerated.
58753         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
58754         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
58755         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
58756         Likewise.
58757         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
58758         Likewise.
58759         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
58760         result.
58761         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
58762         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
58763         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
58764         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
58765         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
58766         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
58767
58768 2008-05-11  Bruno Haible  <bruno@clisp.org>
58769
58770         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
58771
58772 2008-05-11  Bruno Haible  <bruno@clisp.org>
58773
58774         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
58775         * modules/unilbrk/gen-lbrk: New file.
58776
58777 2008-05-11  Bruno Haible  <bruno@clisp.org>
58778
58779         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
58780         * m4/sha512.m4 (gl_SHA512): Likewise.
58781
58782 2008-05-11  Jim Meyering  <meyering@redhat.com>
58783
58784         New modules: crypto/sha256, crypto/sha512 (from coreutils)
58785         * modules/crypto/sha256: New file.
58786         * modules/crypto/sha512: Likewise.
58787         * lib/sha256.c: Likewise.
58788         * lib/sha256.h: Likewise.
58789         * lib/sha512.c: Likewise.
58790         * lib/sha512.h: Likewise.
58791         * lib/u64.h: Likewise.
58792         * m4/sha256.m4: Likewise.
58793         * m4/sha512.m4: Likewise.
58794         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
58795
58796 2008-05-10  Bruno Haible  <bruno@clisp.org>
58797
58798         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
58799         (Input/Output <stdio.h>): Add xprintf.
58800         (Signal handling <signal.h>): Add strsignal.
58801         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
58802         (Core language properties): Add func.
58803         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
58804         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
58805         strings.
58806         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
58807         (Input/output): New section.
58808         (File system functions): Add openat-die, stat-macros.
58809         (Networking functions): Add sockets.
58810         (Unicode string functions): Add unictype/*.
58811         (Support for building libraries and executables): Add gperf.
58812         (Support for building documentation): Add agpl-3.0.
58813         (Misc): Add nocrash.
58814
58815 2008-05-10  Bruno Haible  <bruno@clisp.org>
58816
58817         * modules/unictype/gen-ctype: New file.
58818
58819 2008-05-10  Jim Meyering  <meyering@redhat.com>
58820
58821         Make chdir-safer.c more efficient on a system with no symlinks.
58822         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
58823         also if ELOOP is zero.  Suggested by Bruno Haible.
58824
58825         Make chdir-safer.c slightly safer.
58826         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
58827         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
58828
58829         Avoid compile failure on systems without ELOOP (like mingw).
58830         * lib/chdir-safer.c (ELOOP): Define if not already defined.
58831         Reported by Bruno Haible.
58832
58833 2008-05-10  Bruno Haible  <bruno@clisp.org>
58834
58835         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
58836         (is_utf8_encoding): Use a case-insensitive comparison.
58837         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
58838         streq.
58839
58840 2008-05-10  Bruno Haible  <bruno@clisp.org>
58841
58842         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
58843         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
58844         * lib/unilbrk/ulc-common.h (iconv_string_length,
58845         iconv_string_keeping_offsets): Remove declarations.
58846         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
58847         Don't include <iconv.h>, streq.h, xsize.h.
58848         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
58849         conversion.
58850         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
58851         <iconv.h>, streq.h, xsize.h.
58852         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
58853         conversion.
58854         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
58855         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
58856         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
58857         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
58858
58859 2008-05-10  Bruno Haible  <bruno@clisp.org>
58860
58861         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
58862         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
58863
58864         * modules/unilbrk/u32-width-linebreaks-tests: New file.
58865         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
58866
58867         * modules/unilbrk/u16-width-linebreaks-tests: New file.
58868         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
58869
58870         * modules/unilbrk/u8-width-linebreaks-tests: New file.
58871         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
58872
58873         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
58874         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
58875
58876         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
58877         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
58878
58879         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
58880         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
58881
58882         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
58883         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
58884
58885 2008-05-10  Bruno Haible  <bruno@clisp.org>
58886
58887         Split up 'linebreak' module.
58888         * lib/unilbrk.h: New file, based on lib/linebreak.h.
58889         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
58890         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
58891         modifications.
58892         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
58893         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
58894         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
58895         lib/linebreak.c.
58896         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
58897         lib/linebreak.c.
58898         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
58899         lib/linebreak.c.
58900         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
58901         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
58902         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
58903         lib/linebreak.c.
58904         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
58905         lib/linebreak.c.
58906         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
58907         lib/linebreak.c.
58908         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
58909         lib/linebreak.c.
58910         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
58911         lib/linebreak.c.
58912         * modules/unilbrk/base: New file.
58913         * modules/unilbrk/tables: New file.
58914         * modules/unilbrk/u8-possible-linebreaks: New file.
58915         * modules/unilbrk/u16-possible-linebreaks: New file.
58916         * modules/unilbrk/u32-possible-linebreaks: New file.
58917         * modules/unilbrk/ulc-common: New file.
58918         * modules/unilbrk/ulc-possible-linebreaks: New file.
58919         * modules/unilbrk/u8-width-linebreaks: New file.
58920         * modules/unilbrk/u16-width-linebreaks: New file.
58921         * modules/unilbrk/u32-width-linebreaks: New file.
58922         * modules/unilbrk/ulc-width-linebreaks: New file.
58923         * lib/linebreak.h: Remove file.
58924         * lib/linebreak.c: Remove file.
58925         * m4/linebreak.m4: Remove file.
58926         * modules/linebreak: Remove file.
58927         * NEWS: Mention the changes.
58928
58929 2008-05-09  Eric Blake  <ebb9@byu.net>
58930
58931         Add xmemdup0.
58932         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
58933         implementation.
58934         * lib/xmalloc.c (xmemdup0): New C implementation.
58935
58936 2008-05-08  Bruno Haible  <bruno@clisp.org>
58937
58938         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
58939
58940 2008-05-07  Eric Blake  <ebb9@byu.net>
58941
58942         Support cross-compilation of <wctype.h>.
58943         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
58944         AC_CACHE_CHECK.
58945
58946 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
58947
58948         * build-aux/vc-list-files: Add support for bzr.
58949
58950 2008-05-03  Jim Meyering  <meyering@redhat.com>
58951
58952         avoid failed assertion with tight malloc
58953         * tests/test-getndelim2.c: Correct an off-by-one assertion.
58954
58955 2008-05-03  Simon Josefsson  <simon@josefsson.org>
58956
58957         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
58958         are needed from arpa/inet.h.
58959         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
58960         Reported by Bruno Haible.
58961
58962 2008-05-02  Jim Meyering  <meyering@redhat.com>
58963
58964         avoid compilation error on FreeBSD 6
58965         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
58966
58967 2008-05-01  Jim Meyering  <meyering@redhat.com>
58968
58969         useless-if-before-free: correct --help's exit status description
58970         * build-aux/useless-if-before-free (usage): Like grep, exit 0
58971         for one or more matches, etc.  Reported by Bruno Haible.
58972
58973         vc-list-files: make the stand-alone gnulib test work
58974         * modules/vc-list-files-tests (configure.ac):
58975         Define and AC_SUBST abs_aux_dir.
58976         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
58977         $(abs_top_srcdir) to each script and having each of them
58978         duplicate the work of setting PATH, set PATH here, using
58979         the new variable, abs_aux_dir instead.
58980         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
58981         * tests/test-vc-list-files-git.sh: Likewise.
58982         Reported by Bruno Haible.
58983
58984 2008-05-01  Bruno Haible  <bruno@clisp.org>
58985
58986         * lib/getndelim2.c (getndelim2): Fix newsize computation during
58987         reallocation. Rename 'done' to 'found_delimiter'.
58988
58989 2008-05-01  Jim Meyering  <meyering@redhat.com>
58990
58991         vc-list-files: accommodate /bin/sh like the one from Solaris 10
58992         * build-aux/vc-list-files: Use `...`, not $(...).
58993
58994 2008-04-30  Jim Meyering  <meyering@redhat.com>
58995
58996         add tests for vc-list-files
58997         * modules/vc-list-files-tests: New module.
58998         * tests/test-vc-list-files-cvs.sh: New file.
58999         * tests/test-vc-list-files-git.sh: New file.
59000
59001         avoid a warning from gcc
59002         * lib/getndelim2.c (IF_LINT): Define.
59003         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
59004
59005         vc-list-files: work properly with build-aux/cvsu, too
59006         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
59007         to all cvs-based clauses.
59008
59009         vc-list-files: work properly in the CVS+awk case, too
59010         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
59011
59012         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
59013         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
59014         take more than one file argument, so .  Add quotes, just in case $dir
59015         ever contains a shell meta-character.  Prompted by Soren Hansen in
59016         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
59017
59018 2008-04-29  Eric Blake  <ebb9@byu.net>
59019
59020         Optimize getndelim2 to use block operations when possible.
59021         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
59022         freadseek, and memchr2.
59023         * lib/getndelim2.c (getndelim2): Use them for block reads.
59024
59025 2008-04-29  Bruno Haible  <bruno@clisp.org>
59026
59027         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
59028         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59029         * modules/inet_ntop (Depends-on): Add extensions.
59030         * modules/inet_pton (Depends-on): Likewise.
59031         Reported by Simon Josefsson.
59032
59033 2008-04-29  Jim Meyering  <meyering@redhat.com>
59034
59035         When the is more than one match in a block, match all of them.
59036         * build-aux/useless-if-before-free: Iterate through each block
59037         until there are no more matches.
59038
59039         Fix broken useless-if-before-free script.
59040         * build-aux/useless-if-before-free: Fix typo: missing "?" after
59041         the expression to match cast of argument to free-like function.
59042
59043 2008-04-29  Eric Blake  <ebb9@byu.net>
59044
59045         Use new header.
59046         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
59047
59048 2008-04-29  Jim Meyering  <meyering@redhat.com>
59049
59050         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
59051         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
59052         by gnulib to exist and to declare e.g., inet_ntop.
59053         Don't include "inet_ntop.h", now removed.
59054
59055         * m4/arpa_inet_h.m4: Remove trailing blanks.
59056
59057 2008-04-29  Eric Blake  <ebb9@byu.net>
59058
59059         Silence valgrind on safe reads beyond potential array bounds.
59060         * lib/rawmemchr.valgrind: New file.
59061         * lib/strchrnul.valgrind: Likewise.
59062         * modules/rawmemchr (Files): Distribute new file.
59063         * modules/strchrnul (Files): Likewise.
59064         Suggested by Bruno Haible.
59065
59066 2008-04-29  Bruno Haible  <bruno@clisp.org>
59067
59068         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
59069         (inet_ntop, inet_pton): Change portability warning's wording.
59070         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
59071         Invoke gl_CHECK_NEXT_HEADERS.
59072         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
59073         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
59074         set ARPA_INET_H.
59075         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59076         * modules/arpa_inet (Description): No longer only for systems that
59077         lack it.
59078         (Depends-on): Add include_next.
59079         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
59080         HAVE_ARPA_INET_H.
59081
59082 2008-04-29  Jim Meyering  <meyering@redhat.com>
59083
59084         * modules/mkdir (License): Re-license as LGPLv2+.
59085
59086 2008-04-29  Bruno Haible  <bruno@clisp.org>
59087
59088         * modules/rawmemchr (Maintainer): Set to Eric.
59089         * modules/strchrnul (Maintainer): Likewise.
59090
59091 2008-04-29  Simon Josefsson  <simon@josefsson.org>
59092
59093         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
59094         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
59095
59096         * modules/arpa_inet (arpa/inet.h): Use them.
59097
59098 2008-04-28  Eric Blake  <ebb9@byu.net>
59099
59100         Test getndelim2.
59101         * modules/getndelim2-tests: New file.
59102         * tests/test-getndelim2.c: Likewise.
59103         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
59104         stream.
59105         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
59106
59107         * MODULES.html.sh: Document new module.
59108
59109 2008-04-20  Bruno Haible  <bruno@clisp.org>
59110
59111         * lib/c-stack.c (die): Use raise.
59112         * modules/c-stack (Depends-on): Add raise.
59113
59114 2008-04-28  Bruno Haible  <bruno@clisp.org>
59115
59116         Expect rpmatch to be declared.
59117         * lib/yesno.c (rpmatch): Remove declaration.
59118
59119         Declare rpmatch.
59120         * lib/stdlib.in.h (rpmatch): New declaration.
59121         * lib/rpmatch.c: Include <stdlib.h> first.
59122         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
59123         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
59124         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
59125         HAVE_RPMATCH.
59126         * modules/rpmatch (Depends-on): Add stdlib, extensions.
59127         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59128         (Include): Set to <stdlib.h>.
59129         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
59130         HAVE_RPMATCH.
59131         * NEWS: Document the change.
59132
59133 2008-04-28  Bruno Haible  <bruno@clisp.org>
59134
59135         Change rpmatch to use nl_langinfo when appropriate.
59136         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
59137         (N_): New macro.
59138         (localized_pattern): New function/macro.
59139         (try): Remove match, nomatch arguments. Copy the pattern into safe
59140         memory before caching it.
59141         (rpmatch): Use localized_pattern. Add translator comments.
59142         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
59143         Suggested by Eric Blake.
59144         * modules/rpmatch (Depends-on): Add stdbool.
59145
59146 2008-04-28  Eric Blake  <ebb9@byu.net>
59147
59148         Add rawmemchr module, matching glibc.
59149         * modules/string (Makefile.am): New indicator.
59150         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
59151         * lib/string.in.h (rawmemchr): Declare when appropriate.
59152         * modules/rawmemchr: New file.
59153         * m4/rawmemchr.m4: Likewise.
59154         * lib/rawmemchr.c: Likewise.
59155         * modules/rawmemchr-tests: Likewise.
59156         * tests/test-rawmemchr.c: Likewise.
59157         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
59158         module.
59159         * modules/strchrnul (Depends-on): Add rawmemchr.
59160         * lib/strchrnul.c (strchrnul): Optimize a corner case.
59161
59162         Whitespace cleanup.
59163         * tests/test-strchrnul.c: Reindent.
59164         * lib/strchrnul.c: Likewise.
59165
59166         Optimize and test strchrnul.
59167         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
59168         * modules/strchrnul-tests: New file.
59169         * tests/test-strchrnul.c: Likewise.
59170
59171         Remove intprops dependency.
59172         * modules/memchr (Depends-on): Remove intprops.
59173         * modules/memrchr (Depends-on): Likewise.
59174         * modules/memchr2 (Depends-on): Likewise.
59175         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
59176         * lib/memrchr.c (__memrchr): Likewise.
59177         * lib/memrchr2.c (memchr2): Likewise.
59178         Reported by Simon Josefsson.
59179
59180 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59181
59182         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
59183         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59184
59185 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59186
59187         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
59188
59189         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
59190
59191         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
59192
59193         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
59194         declarations.
59195         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
59196
59197         * m4/inet_pton.m4: Don't check for header files.
59198
59199         * m4/inet_ntop.m4: Don't check for header files.
59200
59201 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59202
59203         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
59204         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
59205         trigger for cygwin).
59206         Reported by Bruno Haible  <bruno@clisp.org>.
59207
59208 2008-04-28  Bruno Haible  <bruno@clisp.org>
59209
59210         * doc/posix-functions/strdup.texi: Mention mingw problem.
59211
59212 2008-04-27  Bruno Haible  <bruno@clisp.org>
59213
59214         * modules/stat-time-tests (Depends-on): Add sleep.
59215         * tests/test-stat-time.c (force_unlink): New function.
59216         (cleanup): Use it.
59217         (test_mtime): Remove the ctime related tests.
59218         (test_ctime): New function, containing the ctime related tests.
59219         (main): Call test_ctime, except on native Windows platforms.
59220
59221 2008-04-27  Bruno Haible  <bruno@clisp.org>
59222
59223         * lib/rpmatch.c (rpmatch): Add some comments.
59224         Reported by James Youngman <jay@gnu.org>.
59225
59226 2008-04-27  Bruno Haible  <bruno@clisp.org>
59227
59228         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
59229         quiet NaNs.
59230
59231 2008-04-27  Bruno Haible  <bruno@clisp.org>
59232
59233         Make test-yesno.sh work on mingw.
59234         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
59235         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
59236         (main): Set stdin to binary mode.
59237         * modules/yesno-tests (Depends-on): Add binary-io.
59238
59239 2008-04-27  Bruno Haible  <bruno@clisp.org>
59240
59241         Fix 'isfinite' on x86, x86_64, ia64 platforms.
59242         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
59243         argument that lie outside the IEEE 854 domain.
59244         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
59245         (gl_ISFINITE): Use it.
59246         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
59247
59248 2008-04-27  Bruno Haible  <bruno@clisp.org>
59249
59250         Allow local renaming in config.h.
59251         * lib/memrchr.c (memrchr): Don't undefine outside libc.
59252
59253 2008-04-27  Bruno Haible  <bruno@clisp.org>
59254
59255         * lib/memchr.c (__memchr): Change type of 'i'.
59256         * lib/memchr2.c (memchr2): Likewise.
59257
59258 2008-04-26  Eric Blake  <ebb9@byu.net>
59259         and Bruno Haible  <bruno@clisp.org>
59260
59261         Optimize and test memrchr.
59262         * modules/memrchr (Depends-on): Add intprops.
59263         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
59264         * modules/memrchr-tests: New file.
59265         * tests/test-memrchr.c: New file.
59266
59267 2008-04-26  Bruno Haible  <bruno@clisp.org>
59268
59269         Add tentative support for DragonFly BSD.
59270         * lib/stdio-impl.h: Add macros for DragonFly BSD.
59271         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
59272         fp.
59273         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59274         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
59275         * lib/fpurge.c (fpurge): Likewise.
59276         * lib/freadable.c (freaadable): Likewise.
59277         * lib/freadahead.c (freadahead): Likewise.
59278         * lib/freading.c (freading): Likewise.
59279         * lib/freadptr.c (freadptr): Likewise.
59280         * lib/freadseek.c (freadptrinc): Likewise.
59281         * lib/fseeko.c (fseeko): Likewise.
59282         * lib/fseterr.c (fseterr): Likewise.
59283         * lib/fwritable.c (fwritable): Likewise.
59284         * lib/fwriting.c (fwriting): Likewise.
59285
59286 2008-04-26  Bruno Haible  <bruno@clisp.org>
59287
59288         * lib/stdio-impl.h: New file.
59289         * lib/fbufmode.c: Include stdio-impl.h.
59290         (fbufmode): Use fp_, remove redundant #defines.
59291         * lib/fflush.c: Include stdio-impl.h.
59292         (clear_ungetc_buffer): Remove redundant #defines.
59293         * lib/fpurge.c: Include stdio-impl.h.
59294         (fpurge): Remove redundant #defines.
59295         * lib/freadable.c: Include stdio-impl.h.
59296         (freadable): Remove redundant #defines.
59297         * lib/freadahead.c: Include stdio-impl.h.
59298         (freadahead): Remove redundant #defines.
59299         * lib/freading.c: Include stdio-impl.h.
59300         (freading): Remove redundant #defines.
59301         * lib/freadptr.c: Include stdio-impl.h.
59302         (freadptr): Remove redundant #defines.
59303         * lib/freadseek.c: Include stdio-impl.h.
59304         (freadptrinc): Remove redundant #defines.
59305         * lib/fseeko.c: Include stdio-impl.h.
59306         (rpl_fseeko): Remove redundant #defines.
59307         * lib/fseterr.c: Include stdio-impl.h.
59308         (fseterr): Remove redundant #defines.
59309         * lib/fwritable.c: Include stdio-impl.h.
59310         (fwritable: Remove redundant #defines.
59311         * lib/fwriting.c: Include stdio-impl.h.
59312         (fwriting): Remove redundant #defines.
59313         * modules/fbufmode (Files): Add lib/stdio-impl.h.
59314         * modules/fflush (Files): Likewise.
59315         * modules/fpurge (Files): Likewise.
59316         * modules/freadable (Files): Likewise.
59317         * modules/freadahead (Files): Likewise.
59318         * modules/freading (Files): Likewise.
59319         * modules/freadptr (Files): Likewise.
59320         * modules/freadseek (Files): Likewise.
59321         * modules/fseeko (Files): Likewise.
59322         * modules/fseterr (Files): Likewise.
59323         * modules/fwritable (Files): Likewise.
59324         * modules/fwriting (Files): Likewise.
59325
59326 2008-04-26  Bruno Haible  <bruno@clisp.org>
59327
59328         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59329         restore_seek_optimization, update_fpos_cache): New functions, extracted
59330         from rpl_fflush.
59331         (rpl_fflush): Use them.
59332         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
59333         (gl_REPLACE_FFLUSH): Use it.
59334
59335 2008-04-26  Bruno Haible  <bruno@clisp.org>
59336
59337         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
59338         on Solaris.
59339         * tests/test-xstrtoimax.sh: Likewise.
59340         * tests/test-xstrtoumax.sh: Likewise.
59341         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59342
59343 2008-04-26  Bruno Haible  <bruno@clisp.org>
59344
59345         * modules/memchr-tests: New file.
59346         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
59347
59348 2008-04-26  Eric Blake  <ebb9@byu.net>
59349             Bruno Haible  <bruno@clisp.org>
59350
59351         * lib/memchr.c: Include intprops.h.
59352         (__memchr): Optimize parallel detection of matching bytes. Rename local
59353         variables. Add explanatory comments.
59354
59355 2008-04-26  Bruno Haible  <bruno@clisp.org>
59356
59357         Fix module 'memchr', broken since 2000-10-28.
59358         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
59359
59360 2008-04-26  Bruno Haible  <bruno@clisp.org>
59361
59362         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
59363         comments.
59364
59365 2008-04-25  Eric Blake  <ebb9@byu.net>
59366
59367         Use native fstatat on cygwin 1.7.0.
59368         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
59369         first.
59370
59371 2008-04-23  Eric Blake  <ebb9@byu.net>
59372
59373         Improve memchr2 performance.
59374         * lib/memchr2.c (memchr2): Further optimize parallel detection of
59375         NUL bytes.
59376         * modules/memchr2 (Depends-on): Use intprops.h.
59377
59378 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59379
59380         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
59381         an inline function instead of a CPP macro.  Patch by Ben Pfaff
59382         <blp@cs.stanford.edu>.
59383
59384 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59385
59386         * lib/arpa_inet.in.h: New file.
59387
59388         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
59389         (Makefile.am): Sed in substitute header file.
59390
59391         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
59392         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
59393
59394         * modules/inet_ntop (configure.ac): Use
59395         gl_ARPA_INET_MODULE_INDICATOR.
59396
59397         * modules/inet_pton (configure.ac): Use
59398         gl_ARPA_INET_MODULE_INDICATOR.
59399
59400 2008-04-22  Jim Meyering  <meyering@redhat.com>
59401
59402         * modules/verify (License): Re-license as LGPLv2+.
59403
59404 2008-04-22  Simon Josefsson  <simon@josefsson.org>
59405
59406         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
59407         parameter to void* as per POSIX standard (MinGW uses char*).
59408
59409 2008-04-21  Bruno Haible  <bruno@clisp.org>
59410
59411         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59412         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
59413         Define to replacements if REPLACE_ISWCNTRL is 1.
59414         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
59415         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
59416         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
59417         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
59418         what it fixes.
59419         * doc/posix-functions/iswalpha.texi: Likewise.
59420         * doc/posix-functions/iswblank.texi: Likewise.
59421         * doc/posix-functions/iswcntrl.texi: Likewise.
59422         * doc/posix-functions/iswdigit.texi: Likewise.
59423         * doc/posix-functions/iswgraph.texi: Likewise.
59424         * doc/posix-functions/iswlower.texi: Likewise.
59425         * doc/posix-functions/iswprint.texi: Likewise.
59426         * doc/posix-functions/iswpunct.texi: Likewise.
59427         * doc/posix-functions/iswspace.texi: Likewise.
59428         * doc/posix-functions/iswupper.texi: Likewise.
59429         * doc/posix-functions/iswxdigit.texi: Likewise.
59430         Reported by Alain Guibert.
59431
59432 2008-04-21  Bruno Haible  <bruno@clisp.org>
59433
59434         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
59435         Patch by Alain Guibert.
59436
59437 2008-04-21  Bruno Haible  <bruno@clisp.org>
59438
59439         Fix test failures on mingw.
59440         * tests/test-xstrtol.c (print_no_progname): New function.
59441         (main): Install it in error_print_progname hook.
59442         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
59443         * tests/test-xstrtoimax.sh: Likewise.
59444         * tests/test-xstrtoumax.sh: Likewise.
59445
59446 2008-04-21  Bruno Haible  <bruno@clisp.org>
59447
59448         Fix test failure on mingw.
59449         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
59450
59451 2008-04-21  Bruno Haible  <bruno@clisp.org>
59452
59453         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
59454         Actually assign a value.
59455
59456 2008-04-20  Bruno Haible  <bruno@clisp.org>
59457
59458         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
59459         take 2.
59460         * lib/canonicalize.c (canonicalize_file_name): Elide if the
59461         'canonicalize-lgpl' module is also used.
59462         * lib/canonicalize-lgpl.c: Undo last change.
59463         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
59464
59465 2008-04-20  Bruno Haible  <bruno@clisp.org>
59466
59467         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
59468         config.h. Provide _mkdir based fallback for mingw.
59469         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
59470         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
59471         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
59472         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
59473         rather than defining mkdir in config.h.
59474         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
59475         (gl_SYS_STAT_H_DEFAULTS): New macro.
59476         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
59477         HAVE_IO_H any more.
59478         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
59479         HAVE_DECL_MKDIR and HAVE_IO_H.
59480
59481 2008-04-20  Bruno Haible  <bruno@clisp.org>
59482
59483         * lib/isapipe.c: Port to native Windows platforms.
59484
59485 2008-04-20  Bruno Haible  <bruno@clisp.org>
59486
59487         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
59488
59489 2008-04-21  Eric Blake  <ebb9@byu.net>
59490
59491         Work around preprocessors that don't handle UINTMAX_MAX.
59492         * lib/memchr2.c (memchr2): Avoid embedded #if.
59493         Reported by Alain Guibert, fix suggested by Bruno Haible.
59494
59495 2008-04-21  Simon Josefsson  <simon@josefsson.org>
59496
59497         * doc/posix-functions/strftime.texi (strftime): Explain better
59498         Windows incompatibility.  Suggested by Micah Cowan
59499         <micah@cowan.name>.
59500
59501 2008-04-20  Bruno Haible  <bruno@clisp.org>
59502
59503         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
59504         unistr/u8-mblen.
59505
59506 2008-04-20  Bruno Haible  <bruno@clisp.org>
59507
59508         Fix test failure on platforms with non-GNU iconv.
59509         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
59510         (U_TO_U8): Use it, rather than u16_to_u8.
59511         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
59512         units at the end of the input string.
59513         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
59514
59515 2008-04-20  Bruno Haible  <bruno@clisp.org>
59516
59517         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
59518         when the resulting length is 0.
59519         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
59520
59521 2008-04-20  Bruno Haible  <bruno@clisp.org>
59522
59523         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
59524         works.
59525         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
59526
59527 2008-04-20  Bruno Haible  <bruno@clisp.org>
59528
59529         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
59530         * modules/tsearch-tests (configure.ac): Test for initstate function.
59531
59532 2008-04-20  Bruno Haible  <bruno@clisp.org>
59533
59534         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
59535         for nlink_t if missing.
59536         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
59537
59538 2008-04-19  Bruno Haible  <bruno@clisp.org>
59539
59540         Work around snprintf bug on Linux libc5.
59541         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
59542         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59543         gl_SNPRINTF_SIZE1.
59544         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59545         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
59546         that test failed.
59547         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
59548         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
59549         * modules/snprintf (Files): Add m4/printf.m4.
59550         * modules/vsnprintf (Files): Likewise.
59551         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
59552         * doc/posix-functions/vsnprintf.texi: Likewise.
59553
59554 2008-04-19  Bruno Haible  <bruno@clisp.org>
59555
59556         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
59557         from 0.0058 to less than 10^-7.
59558
59559 2008-04-19  Bruno Haible  <bruno@clisp.org>
59560
59561         Fix rounding when a precision is given.
59562         * lib/vasnprintf.c (is_borderline): New function.
59563         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
59564         9...9x.
59565         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
59566         %e, %g.
59567         * tests/test-vasprintf-posix.c (test_function): Likewise.
59568         * tests/test-snprintf-posix.h (test_function): Likewise.
59569         * tests/test-sprintf-posix.h (test_function): Likewise.
59570         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
59571         * tests/test-printf-posix.h (test_function): Likewise.
59572         * tests/test-printf-posix.output: Update.
59573         Reported by John Darrington <john@darrington.wattle.id.au> via
59574         Ben Pfaff <blp@cs.stanford.edu>.
59575
59576 2008-04-18  Simon Josefsson  <simon@josefsson.org>
59577
59578         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
59579         Suggested by Bruno Haible <bruno@clisp.org>.
59580
59581 2008-04-17  Bruno Haible  <bruno@clisp.org>
59582
59583         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
59584         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
59585         implementation.
59586         Patch by Bruce Merry <bmerry@gmail.com>.
59587
59588 2008-04-17  Simon Josefsson  <simon@josefsson.org>
59589
59590         * doc/posix-functions/strftime.texi (strftime): Mention that %e
59591         doesn't work under Windows.
59592
59593 2008-04-16  Bruno Haible  <bruno@clisp.org>
59594
59595         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
59596         New macros.
59597         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
59598         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
59599         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
59600         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
59601         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
59602         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
59603         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
59604         macros.
59605         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
59606         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
59607         Northern Sotho, Uighur.
59608
59609 2008-04-16  Bruno Haible  <bruno@clisp.org>
59610
59611         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
59612         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
59613         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
59614         Reported by Daniel Bergström <daniel@octocode.com>.
59615
59616 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
59617             Bruno Haible  <bruno@clisp.org>
59618
59619         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
59620         function.
59621         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
59622         New functions, mostly extracted from gl_locale_name_default.
59623         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
59624
59625 2008-04-16  Eric Blake  <ebb9@byu.net>
59626
59627         Adjust strtod detection to catch glibc 2.7 bug.
59628         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
59629         Reported by John Gatewood Ham.
59630
59631 2008-04-16  Bruno Haible  <bruno@clisp.org>
59632
59633         Add tentative support for Linux libc5.
59634         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
59635         * lib/fpurge.c (fpurge): Likewise.
59636         * lib/freadable.c (freadable): Likewise.
59637         * lib/freadahead.c (freadahead): Likewise.
59638         * lib/freading.c (freading): Likewise.
59639         * lib/freadptr.c (freadptr): Likewise.
59640         * lib/freadseek.c (freadptrinc): Likewise.
59641         * lib/fseeko.c (rpl_fseeko): Likewise.
59642         * lib/fseterr.c (fseterr): Likewise.
59643         * lib/fwritable.c (fwritable): Likewise.
59644         * lib/fwriting.c (fwriting): Likewise.
59645         Reported by Alain Guibert <alguibert+bts@free.fr>.
59646
59647 2008-04-15  Bruno Haible  <bruno@clisp.org>
59648
59649         * modules/mathl (configure.ac): Define module indicator.
59650
59651 2008-04-15  Bruno Haible  <bruno@clisp.org>
59652
59653         * lib/logl.c (logl): Remove unused variables.
59654
59655 2008-04-15  Bruno Haible  <bruno@clisp.org>
59656
59657         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
59658         fails.
59659
59660 2008-04-15  Bruno Haible  <bruno@clisp.org>
59661
59662         * lib/trim.c (trim2): Fix argument of isspace() macro.
59663
59664 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
59665
59666         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
59667         to 0.
59668         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
59669
59670 2008-04-14  Bruno Haible  <bruno@clisp.org>
59671
59672         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
59673         AC_LANG_PROGRAM argument.
59674         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
59675         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
59676         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
59677         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
59678         * m4/math_h.m4 (gl_MATH_H): Likewise.
59679         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
59680         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59681         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
59682         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
59683         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
59684         * m4/regex.m4 (gl_REGEX): Likewise.
59685         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
59686         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
59687         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59688         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
59689         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
59690         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59691         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
59692         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
59693
59694 2008-04-14  Jim Meyering  <meyering@redhat.com>
59695
59696         test-strtod: fix typos: s/abs/fabs/
59697         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
59698
59699 2008-04-13  Bruno Haible  <bruno@clisp.org>
59700
59701         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
59702         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
59703         module is also used and while not building the reloc-wrapper.
59704
59705 2008-04-13  Bruno Haible  <bruno@clisp.org>
59706
59707         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
59708
59709 2008-04-13  Bruno Haible  <bruno@clisp.org>
59710
59711         Fix AIX compilation failure introduced on 2008-04-02.
59712         * tests/test-frexp.c (exp): Undefine before redefining.
59713         * tests/test-frexpl.c (exp): Likewise.
59714
59715 2008-04-13  Bruno Haible  <bruno@clisp.org>
59716
59717         Work around a HP-UX stdio bug.
59718         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
59719         * tests/test-ftello.c (main): Likewise.
59720         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
59721         * doc/posix-functions/ftello.texi: Likewise.
59722
59723 2008-04-13  Bruno Haible  <bruno@clisp.org>
59724
59725         Make test-signbit pass on HP-UX/hppa.
59726         * tests/test-signbit.c (minus_zerol): New variable.
59727         (test_signbitl): Use it.
59728
59729 2008-04-13  Bruno Haible  <bruno@clisp.org>
59730
59731         Make truncl work on OSF/1 4.0.
59732         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
59733         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
59734         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
59735         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
59736         HAVE_DECL_TRUNCL.
59737         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
59738         HAVE_DECL_TRUNCL.
59739         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
59740
59741 2008-04-13  Bruno Haible  <bruno@clisp.org>
59742
59743         * lib/unictype.h: Remove trailing comma from enumeration definitions.
59744
59745 2008-04-13  Bruno Haible  <bruno@clisp.org>
59746
59747         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
59748         expression, so as to avoid HP-UX 11 cc compiler bug.
59749
59750 2008-04-13  Bruno Haible  <bruno@clisp.org>
59751
59752         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
59753
59754 2008-04-13  Bruno Haible  <bruno@clisp.org>
59755
59756         * lib/git-merge-changelog.c: Remove empty declaration outside of
59757         functions.
59758
59759 2008-04-13  Bruno Haible  <bruno@clisp.org>
59760
59761         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
59762
59763 2008-04-13  Bruno Haible  <bruno@clisp.org>
59764
59765         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
59766         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
59767         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
59768         also if it exists but lacks definitions of the SHUT_* macros.
59769         * modules/sys_socket (Description): Update.
59770         Reported by Elbert Pol <e.pol@chello.nl>.
59771
59772 2008-04-13  Bruno Haible  <bruno@clisp.org>
59773
59774         * lib/localcharset.c (OS2): Don't redefine if already defined.
59775         Reported by Elbert Pol <e.pol@chello.nl>.
59776
59777 2008-04-13  Bruno Haible  <bruno@clisp.org>
59778
59779         * lib/binary-io.h [__EMX__]: Include <io.h>.
59780         Reported by Elbert Pol <e.pol@chello.nl>.
59781
59782 2008-04-12  Bruno Haible  <bruno@clisp.org>
59783
59784         * lib/fpucw.h: Enable the definitions also for x86_64.
59785         Needed for NetBSD/x86_64.
59786         Reported by Thomas Klausner <tk@giga.or.at>.
59787
59788 2008-04-12  Bruno Haible  <bruno@clisp.org>
59789
59790         * tests/test-strtod.c: Include isnand.h.
59791         (main): Use isnand instead of isnan.
59792         Reported by Jim Meyering.
59793
59794 2008-04-12  Bruno Haible  <bruno@clisp.org>
59795
59796         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
59797         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
59798
59799 2008-04-12  Jim Meyering  <meyering@redhat.com>
59800
59801         * m4/math_h.m4 (gl_MATH_H): Fix typos.
59802
59803 2008-04-12  Bruno Haible  <bruno@clisp.org>
59804
59805         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
59806         Reported by Elbert Pol <e.pol@chello.nl>.
59807
59808 2008-04-12  Eric Blake  <ebb9@byu.net>
59809
59810         Work around Solaris 10 math.h bug.
59811         * m4/math_h.m4 (gl_MATH_H): Check for bug.
59812         (gl_MATH_H_DEFAULTS): Set up default.
59813         * modules/math (Makefile.am): Replace new indicators.
59814         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
59815         * tests/test-math.c (main): Test this.
59816         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
59817         * doc/posix-headers/math.texi (math.h): Mention bug.
59818         Reported by Nelson H. F. Beebe and Jim Meyering.
59819
59820 2008-04-11  Bruno Haible  <bruno@clisp.org>
59821
59822         Adapt to future versions of Apple GCC.
59823         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
59824         Reported by Peter O'Gorman <peter@pogma.com>.
59825
59826 2008-04-11  Bruno Haible  <bruno@clisp.org>
59827
59828         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
59829
59830 2008-04-11  Bruno Haible  <bruno@clisp.org>
59831
59832         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
59833
59834         * modules/getaddrinfo-tests (Makefile.am): Define
59835         test_getaddrinfo_LDADD.
59836
59837 2008-04-11  Bruno Haible  <bruno@clisp.org>
59838
59839         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
59840         (init): Fix syntax error.
59841         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
59842         is declared.
59843
59844 2008-04-11  Bruno Haible  <bruno@clisp.org>
59845
59846         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
59847         * modules/glob (Depends-on): Add stdbool.
59848
59849 2008-04-11  Bruno Haible  <bruno@clisp.org>
59850
59851         * lib/trim.c: Include <string.h>.
59852
59853 2008-04-11  Eric Blake  <ebb9@byu.net>
59854
59855         Avoid compile failure on OS/2.
59856         * lib/regex_internal.h (internal_function): Disable optimization
59857         on OS/2 (__EMX__), where it caused compiler error.
59858         Reported by Elbert Pol.
59859
59860 2008-04-11  Bruno Haible  <bruno@clisp.org>
59861
59862         Flush the standard error stream before aborting. Needed on mingw.
59863         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
59864         * tests/test-array_list.c (ASSERT): Likewise.
59865         * tests/test-array_oset.c (ASSERT): Likewise.
59866         * tests/test-avltree_list.c (ASSERT): Likewise.
59867         * tests/test-avltree_oset.c (ASSERT): Likewise.
59868         * tests/test-avltreehash_list.c (ASSERT): Likewise.
59869         * tests/test-binary-io.c (ASSERT): Likewise.
59870         * tests/test-byteswap.c (ASSERT): Likewise.
59871         * tests/test-c-ctype.c (ASSERT): Likewise.
59872         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
59873         * tests/test-c-strcasestr.c (ASSERT): Likewise.
59874         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
59875         * tests/test-c-strstr.c (ASSERT): Likewise.
59876         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
59877         * tests/test-canonicalize.c (ASSERT): Likewise.
59878         * tests/test-carray_list.c (ASSERT): Likewise.
59879         * tests/test-ceilf1.c (ASSERT): Likewise.
59880         * tests/test-ceilf2.c (ASSERT): Likewise.
59881         * tests/test-ceill.c (ASSERT): Likewise.
59882         * tests/test-count-one-bits.c (ASSERT): Likewise.
59883         * tests/test-fbufmode.c (ASSERT): Likewise.
59884         * tests/test-fflush2.c (ASSERT): Likewise.
59885         * tests/test-floorf1.c (ASSERT): Likewise.
59886         * tests/test-floorf2.c (ASSERT): Likewise.
59887         * tests/test-floorl.c (ASSERT): Likewise.
59888         * tests/test-fopen.c (ASSERT): Likewise.
59889         * tests/test-fpending.c (ASSERT): Likewise.
59890         * tests/test-fprintf-posix.c (ASSERT): Likewise.
59891         * tests/test-fpurge.c (ASSERT): Likewise.
59892         * tests/test-freadable.c (ASSERT): Likewise.
59893         * tests/test-freadahead.c (ASSERT): Likewise.
59894         * tests/test-freading.c (ASSERT): Likewise.
59895         * tests/test-freadptr.c (ASSERT): Likewise.
59896         * tests/test-freadptr2.c (ASSERT): Likewise.
59897         * tests/test-freadseek.c (ASSERT): Likewise.
59898         * tests/test-freopen.c (ASSERT): Likewise.
59899         * tests/test-frexp.c (ASSERT): Likewise.
59900         * tests/test-frexpl.c (ASSERT): Likewise.
59901         * tests/test-fseek.c (ASSERT): Likewise.
59902         * tests/test-fseeko.c (ASSERT): Likewise.
59903         * tests/test-fstrcmp.c (ASSERT): Likewise.
59904         * tests/test-ftell.c (ASSERT): Likewise.
59905         * tests/test-ftello.c (ASSERT): Likewise.
59906         * tests/test-func.c (ASSERT): Likewise.
59907         * tests/test-fwritable.c (ASSERT): Likewise.
59908         * tests/test-fwriting.c (ASSERT): Likewise.
59909         * tests/test-getdelim.c (ASSERT): Likewise.
59910         * tests/test-getline.c (ASSERT): Likewise.
59911         * tests/test-i-ring.c (ASSERT): Likewise.
59912         * tests/test-iconv-utf.c (ASSERT): Likewise.
59913         * tests/test-iconv.c (ASSERT): Likewise.
59914         * tests/test-isfinite.c (ASSERT): Likewise.
59915         * tests/test-isnand.c (ASSERT): Likewise.
59916         * tests/test-isnanf.c (ASSERT): Likewise.
59917         * tests/test-isnanl.h (ASSERT): Likewise.
59918         * tests/test-ldexpl.c (ASSERT): Likewise.
59919         * tests/test-linked_list.c (ASSERT): Likewise.
59920         * tests/test-linkedhash_list.c (ASSERT): Likewise.
59921         * tests/test-localename.c (ASSERT): Likewise.
59922         * tests/test-lseek.c (ASSERT): Likewise.
59923         * tests/test-mbscasecmp.c (ASSERT): Likewise.
59924         * tests/test-mbscasestr1.c (ASSERT): Likewise.
59925         * tests/test-mbscasestr2.c (ASSERT): Likewise.
59926         * tests/test-mbscasestr3.c (ASSERT): Likewise.
59927         * tests/test-mbscasestr4.c (ASSERT): Likewise.
59928         * tests/test-mbschr.c (ASSERT): Likewise.
59929         * tests/test-mbscspn.c (ASSERT): Likewise.
59930         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
59931         * tests/test-mbspbrk.c (ASSERT): Likewise.
59932         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
59933         * tests/test-mbsrchr.c (ASSERT): Likewise.
59934         * tests/test-mbsspn.c (ASSERT): Likewise.
59935         * tests/test-mbsstr1.c (ASSERT): Likewise.
59936         * tests/test-mbsstr2.c (ASSERT): Likewise.
59937         * tests/test-mbsstr3.c (ASSERT): Likewise.
59938         * tests/test-memchr2.c (ASSERT): Likewise.
59939         * tests/test-memmem.c (ASSERT): Likewise.
59940         * tests/test-open.c (ASSERT): Likewise.
59941         * tests/test-printf-frexp.c (ASSERT): Likewise.
59942         * tests/test-printf-frexpl.c (ASSERT): Likewise.
59943         * tests/test-printf-posix.c (ASSERT): Likewise.
59944         * tests/test-quotearg.c (ASSERT): Likewise.
59945         * tests/test-rbtree_list.c (ASSERT): Likewise.
59946         * tests/test-rbtree_oset.c (ASSERT): Likewise.
59947         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
59948         * tests/test-round1.c (ASSERT): Likewise.
59949         * tests/test-roundf1.c (ASSERT): Likewise.
59950         * tests/test-roundl.c (ASSERT): Likewise.
59951         * tests/test-signbit.c (ASSERT): Likewise.
59952         * tests/test-sleep.c (ASSERT): Likewise.
59953         * tests/test-snprintf-posix.c (ASSERT): Likewise.
59954         * tests/test-snprintf.c (ASSERT): Likewise.
59955         * tests/test-sprintf-posix.c (ASSERT): Likewise.
59956         * tests/test-stat-time.c (ASSERT): Likewise.
59957         * tests/test-strcasestr.c (ASSERT): Likewise.
59958         * tests/test-strerror.c (ASSERT): Likewise.
59959         * tests/test-striconv.c (ASSERT): Likewise.
59960         * tests/test-striconveh.c (ASSERT): Likewise.
59961         * tests/test-striconveha.c (ASSERT): Likewise.
59962         * tests/test-strsignal.c (ASSERT): Likewise.
59963         * tests/test-strstr.c (ASSERT): Likewise.
59964         * tests/test-strtod.c (ASSERT): Likewise.
59965         * tests/test-trunc1.c (ASSERT): Likewise.
59966         * tests/test-trunc2.c (ASSERT): Likewise.
59967         * tests/test-truncf1.c (ASSERT): Likewise.
59968         * tests/test-truncf2.c (ASSERT): Likewise.
59969         * tests/test-truncl.c (ASSERT): Likewise.
59970         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
59971         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
59972         * tests/test-vasnprintf.c (ASSERT): Likewise.
59973         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
59974         * tests/test-vasprintf.c (ASSERT): Likewise.
59975         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
59976         * tests/test-vprintf-posix.c (ASSERT): Likewise.
59977         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
59978         * tests/test-vsnprintf.c (ASSERT): Likewise.
59979         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
59980         * tests/test-wcwidth.c (ASSERT): Likewise.
59981         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
59982         * tests/test-xprintf-posix.c (ASSERT): Likewise.
59983         * tests/test-xvasprintf.c (ASSERT): Likewise.
59984         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
59985         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
59986         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
59987         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
59988         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
59989         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
59990         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
59991         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
59992         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
59993         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
59994         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
59995         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
59996         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
59997         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
59998         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
59999         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
60000         * tests/unictype/test-block_list.c (ASSERT): Likewise.
60001         * tests/unictype/test-block_of.c (ASSERT): Likewise.
60002         * tests/unictype/test-block_test.c (ASSERT): Likewise.
60003         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
60004         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
60005         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
60006         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
60007         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
60008         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
60009         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
60010         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
60011         * tests/unictype/test-combining.c (ASSERT): Likewise.
60012         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
60013         * tests/unictype/test-digit.c (ASSERT): Likewise.
60014         * tests/unictype/test-mirror.c (ASSERT): Likewise.
60015         * tests/unictype/test-numeric.c (ASSERT): Likewise.
60016         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
60017         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
60018         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
60019         * tests/unictype/test-scripts.c (ASSERT): Likewise.
60020         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
60021         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
60022         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
60023         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
60024         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
60025         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
60026         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
60027         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
60028         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
60029         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
60030         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
60031         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
60032         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
60033         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
60034         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
60035         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
60036         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
60037         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
60038         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
60039         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
60040         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
60041         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
60042         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
60043         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
60044         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
60045         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
60046         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
60047         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
60048         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
60049         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
60050         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
60051         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
60052         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
60053         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
60054         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
60055         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
60056         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
60057         Reported by Eric Blake.
60058
60059 2008-04-11  Bruno Haible  <bruno@clisp.org>
60060
60061         * lib/wchar.in.h: Tweak comment.
60062
60063 2008-04-11  Bruno Haible  <bruno@clisp.org>
60064
60065         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
60066         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
60067         gl_COMMON.
60068         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
60069
60070 2008-04-11  Bruno Haible  <bruno@clisp.org>
60071
60072         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
60073
60074 2008-04-11  Simon Josefsson  <simon@josefsson.org>
60075
60076         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
60077         of attempting to use non-existing /dev/*random.  Based on patch
60078         from Adam Strzelecki <ono@java.pl> in
60079         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
60080
60081 2008-04-08  Bruno Haible  <bruno@clisp.org>
60082
60083         Add tentative support for emx+gcc.
60084         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
60085         * lib/fpurge.c (fpurge): Likewise.
60086         * lib/freadable.c (freadable): Likewise.
60087         * lib/freadahead.c (freadahead): Likewise.
60088         * lib/freading.c (freading): Likewise.
60089         * lib/freadptr.c (freadptr): Likewise.
60090         * lib/freadseek.c (freadptrinc): Likewise.
60091         * lib/fseeko.c (rpl_fseeko): Likewise.
60092         * lib/fseterr.c (fseterr): Likewise.
60093         * lib/fwritable.c (fwritable): Likewise.
60094         * lib/fwriting.c (fwriting): Likewise.
60095         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
60096
60097 2008-04-09  Eric Blake  <ebb9@byu.net>
60098
60099         Avoid some autoconf warnings.
60100         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
60101         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
60102         * m4/afs.m4 (gl_AFS): Likewise.
60103         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
60104         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
60105         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
60106         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
60107         (gl_INTEGER_TYPE_SUFFIX): Likewise.
60108         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
60109         (AC_CHECK_DECLS_ONCE): Likewise.
60110         Rename file...
60111         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
60112         gnulib-tool requires autoconf 2.59 or better.
60113         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
60114
60115 2008-04-08  Eric Blake  <ebb9@byu.net>
60116
60117         Use 'git describe --match' if present (added in git 1.5.5).
60118         * build-aux/git-version-gen: Limit result to tags that match 'v*'
60119         if possible.
60120
60121 2008-04-08  Bruno Haible  <bruno@clisp.org>
60122
60123         Add tentative support for OpenServer.
60124         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
60125         _ptr, _cnt.
60126         * lib/fpurge.c (fpurge): Likewise.
60127         * lib/freadable.c (freadable): Likewise.
60128         * lib/freadahead.c (freadahead): Likewise.
60129         * lib/freading.c (freading): Likewise.
60130         * lib/freadptr.c (freadptr): Likewise.
60131         * lib/freadseek.c (freadptrinc): Likewise.
60132         * lib/fseeko.c (rpl_fseeko): Likewise.
60133         * lib/fseterr.c (fseterr): Likewise.
60134         * lib/fwritable.c (fwritable): Likewise.
60135         * lib/fwriting.c (fwriting): Likewise.
60136         Reported by Roger Cornelius <rac@tenzing.org> and
60137         Brian K. White <brian@aljex.com>.
60138
60139 2008-04-06  Jim Meyering  <meyering@redhat.com>
60140
60141         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
60142
60143 2008-04-06  Bruno Haible  <bruno@clisp.org>
60144
60145         Avoid possible error with non-ASCII bytes in UTF-8 locales.
60146         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
60147         * tests/test-printf-posix.sh: Likewise.
60148         * tests/test-vfprintf-posix.sh: Likewise.
60149         * tests/test-vprintf-posix.sh: Likewise.
60150         * tests/test-xprintf-posix.sh: Likewise.
60151
60152 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60153
60154         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
60155         hide error from 'ls', needed on OS/2.
60156         Report by Elbert Pol <elbert.pol@gmail.com>.
60157
60158 2008-04-04  Eric Blake  <ebb9@byu.net>
60159
60160         Make test-fseeko.c failures meaningful.
60161         * tests/test-fseeko.c: Print line number on failure.
60162         * tests/test-fseek.c: Likewise.
60163         Reported by Nelson H. F. Beebe.
60164
60165         Improve strtod bug detection check.
60166         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
60167         required for Solaris 10.
60168         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
60169
60170 2008-04-04  Bruno Haible  <bruno@clisp.org>
60171
60172         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
60173         by m4/setenv.m4.
60174
60175 2008-04-03  Eric Blake  <ebb9@byu.net>
60176
60177         Ensure sane .version contents.
60178         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
60179         version string.
60180         * build-aux/git-version-gen: Improve documentation.
60181
60182         Make GNU make output nicer.
60183         * top/GNUmakefile [!_have-Makefile]: Add dependency on
60184         MAKECMDGOALS to enforce message for all command line targets.  Set
60185         srcdir for use in maint.mk.
60186
60187         Another maintainer tweak.
60188         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
60189         a target that regenerates version.
60190
60191 2008-04-03  Jim Meyering  <meyering@redhat.com>
60192
60193         vc-list-files: don't cause coreutils "make po-check" failure
60194         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
60195
60196 2008-04-03  Eric Blake  <ebb9@byu.net>
60197
60198         Allow VPATH usage of vc-list-files.
60199         * build-aux/vc-list-files (scriptversion): Add timestamp.
60200         (options): Add --help, --version, -C.
60201         (CVS): Support installed cvsu.
60202
60203 2008-04-02  Bruno Haible  <bruno@clisp.org>
60204
60205         Avoid some "statement with no effect" warnings from gcc.
60206         * tests/test-wctype.c (main): Explicitly ignore unused values.
60207         Reported by Jim Meyering.
60208
60209 2008-04-02  Jim Meyering  <meyering@redhat.com>
60210
60211         Avoid some warnings from "gcc -Wshadow".
60212         * tests/test-frexp.c (exp): Define to a different identifier.
60213         * tests/test-frexpl.c (exp): Likewise.
60214
60215 2008-04-03  Jim Meyering  <meyering@redhat.com>
60216
60217         bootstrap: remove dangling *.[ch] symlinks from lib
60218         * build-aux/bootstrap [dangling symlink removal]: Move find's
60219         -depth option to precede all others, to avoid a warning.
60220         Remove *.[ch] files too, and from "$source_base" (usually lib/).
60221
60222 2008-04-02  Bruno Haible  <bruno@clisp.org>
60223
60224         Avoid some warnings from "gcc -Wshadow".
60225         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
60226         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
60227         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
60228         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
60229         Reported by Jim Meyering.
60230
60231 2008-04-01  Bruno Haible  <bruno@clisp.org>
60232
60233         Fix test to work on IRIX 6.5 with cc.
60234         * tests/test-math.c (numeric_equal): New function.
60235         (main): Use it.
60236
60237 2008-04-01  Bruno Haible  <bruno@clisp.org>
60238
60239         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
60240
60241 2008-04-01  Bruno Haible  <bruno@clisp.org>
60242
60243         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
60244         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60245         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
60246         (Depends-on): Remove math.
60247
60248         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
60249         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60250         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
60251         (Depends-on): Remove math.
60252
60253         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
60254         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60255         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
60256         (Depends-on): Remove math.
60257         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
60258         (Depends-on): Remove math.
60259
60260         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
60261         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60262         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
60263         (Depends-on): Remove math.
60264         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
60265         (Depends-on): Remove math.
60266
60267         * tests/test-round1.c: Include nan.h.
60268         (main): Use NaNd instead of NAN.
60269         * modules/round-tests (Files): Add tests/nan.h.
60270
60271         * tests/test-trunc1.c: Include nan.h.
60272         (main): Use NaNd instead of NAN.
60273         * modules/trunc-tests (Files): Add tests/nan.h.
60274
60275         * tests/test-roundf1.c: Include nan.h.
60276         (main): Use NaNf instead of NAN.
60277         * modules/roundf-tests (Files): Add tests/nan.h.
60278
60279         * tests/test-truncf1.c: Include nan.h.
60280         (main): Use NaNf instead of NAN.
60281         * modules/truncf-tests (Files): Add tests/nan.h.
60282
60283         * tests/test-ceilf1.c: Include nan.h.
60284         (main): Use NaNf instead of NAN.
60285         * modules/ceilf-tests (Files): Add tests/nan.h.
60286
60287         * tests/test-floorf1.c: Include nan.h.
60288         (main): Use NaNf instead of NAN.
60289         * modules/floorf-tests (Files): Add tests/nan.h.
60290
60291         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
60292         (main): Use NaNf instead of NAN.
60293         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
60294
60295         * tests/test-isnand.c: Include nan.h instead of <math.h>.
60296         (main): Use NaNd instead of NAN.
60297         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
60298
60299         * tests/test-frexp.c: Include nan.h.
60300         (main): Use NaNd instead of NAN.
60301         * modules/frexp-tests (Files): Add tests/nan.h.
60302
60303         * lib/isnan.c: Don't include <math.h>.
60304         (FUNC): Don't use NAN macro.
60305         * modules/isnand-nolibm (Depends-on): Remove math.
60306         * modules/isnanf-nolibm (Depends-on): Remove math.
60307         * modules/isnanl (Depends-on): Remove math.
60308         * modules/isnanl-nolibm (Depends-on): Remove math.
60309
60310         * tests/nan.h: New file.
60311
60312 2008-04-01  Eric Blake  <ebb9@byu.net>
60313
60314         Fix typos.
60315         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
60316         values to be the right type.
60317
60318         For now, cater to gnulib strtod inaccuracies.
60319         * tests/test-strtod.c (main): Allow 1-ulp error on expected
60320         fractional results.  While not as nice from a QoI perspective, it
60321         is a quicker patch than correctly implementing decimal to binary
60322         rounding.
60323
60324 2008-03-31  Eric Blake  <ebb9@byu.net>
60325
60326         Guarantee a definition of NAN.
60327         * lib/math.in.h (NAN): Define if missing.
60328         * tests/test-math.c (main): Test it.
60329         * doc/posix-headers/math.texi (math.h): Document this.
60330         * lib/isnan.c (rpl_isnand): Use it.
60331         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
60332         * tests/test-floorf1.c (NaN): Likewise.
60333         * tests/test-frexp.c (NaN): Likewise.
60334         * tests/test-isnand.c (NaN): Likewise.
60335         * tests/test-isnanf.c (NaN): Likewise.
60336         * tests/test-round1.c (NaN): Likewise.
60337         * tests/test-roundf1.c (NaN): Likewise.
60338         * tests/test-snprintf-posix.h (NaN): Likewise.
60339         * tests/test-sprintf-posix.h (NaN): Likewise.
60340         * tests/test-trunc1.c (NaN): Likewise.
60341         * tests/test-truncf1.c (NaN): Likewise.
60342         * tests/test-vasnprintf-posix.c (NaN): Likewise.
60343         * tests/test-vasprintf-posix.c (NaN): Likewise.
60344         * modules/isnand-nolibm (Depends-on): Add math.
60345         * modules/isnanf-nolibm (Depends-on): Likewise.
60346         * modules/isnanl (Depends-on): Likewise.
60347         * modules/isnanl-nolibm (Depends-on): Likewise.
60348         * modules/snprintf-posix-tests (Depends-on): Likewise.
60349         * modules/sprintf-posix-tests (Depends-on): Likewise.
60350         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
60351         * modules/vsprintf-posix-tests (Depends-on): Likewise.
60352         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
60353         * modules/vasprintf-posix-tests (Depends-on): Likewise.
60354
60355 2008-03-31  Bruno Haible  <bruno@clisp.org>
60356
60357         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
60358         * doc/posix-functions/strtod.texi: Likewise.
60359
60360 2008-03-31  Bruno Haible  <bruno@clisp.org>
60361
60362         * tests/test-strtod.c (main): Don't use C99 syntax.
60363
60364 2008-03-31  Bruno Haible  <bruno@clisp.org>
60365
60366         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
60367         Reported by Eric Blake.
60368
60369 2008-03-31  Jim Meyering  <meyering@redhat.com>
60370
60371         Don't compare actual signbit return values.
60372         * tests/test-strtod.c (main): Rather, compare only their
60373         zero/non-zero nature.
60374
60375 2008-03-31  Eric Blake  <ebb9@byu.net>
60376
60377         More strtod documentation.
60378         * doc/posix-functions/strtod.texi (strtod): Interpret more test
60379         failures as distinct bugs.
60380
60381 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60382
60383         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
60384         Problem reported by Erik Benada in
60385         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
60386
60387 2008-03-30  Bruno Haible  <bruno@clisp.org>
60388
60389         * tests/test-strtod.c: Add comments about which assertion fails on which
60390         platform.
60391         * doc/posix-functions/strtod.texi: Add info about many more platforms.
60392
60393 2008-03-30  Eric Blake  <ebb9@byu.net>
60394
60395         Test signbit behavior on zeros.
60396         * tests/test-signbit.c (test_signbitf): Add tests for zero.
60397         (test_signbitd, test_signbitl): Likewise.
60398
60399         More strtod touchups.
60400         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
60401         sign of negative underflow, for now.  Use .5, not .1.
60402         * doc/posix-functions/strtod.texi (strtod): Mention these
60403         limitations.
60404         Reported by Jim Meyering.
60405
60406 2008-03-30  Bruno Haible  <bruno@clisp.org>
60407
60408         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
60409         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
60410
60411 2008-03-30  Bruno Haible  <bruno@clisp.org>
60412
60413         Avoid failure when attempting to return empty iconv results on some
60414         platforms.
60415         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
60416         allocation, don't report ENOMEM when the resulting string is empty.
60417
60418 2008-03-30  Bruno Haible  <bruno@clisp.org>
60419
60420         Fix buffer overrun.
60421         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
60422         Don't consider the width for tmp_length. Check count against tmp_length
60423         before doing the padding. Ensure enough allocation during padding.
60424
60425 2008-03-30  Eric Blake  <ebb9@byu.net>
60426
60427         strtod touchups.
60428         * lib/strtod.c (strtod): Avoid compiler warnings.
60429         Reported by Jim Meyering.
60430
60431 2008-03-30  Bruno Haible  <bruno@clisp.org>
60432
60433         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
60434         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
60435         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
60436         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
60437         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
60438         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
60439         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
60440         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
60441
60442         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
60443         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
60444         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
60445         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
60446         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
60447         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
60448         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
60449         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
60450
60451         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
60452         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
60453         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
60454         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
60455         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
60456         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
60457         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
60458         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
60459
60460         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
60461         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
60462
60463         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
60464         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
60465
60466         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
60467         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
60468
60469         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
60470         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
60471         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
60472
60473         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
60474         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
60475         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
60476
60477         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
60478         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
60479         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
60480
60481         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
60482         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
60483         * modules/vasprintf (Depends-on): Add EOVERFLOW.
60484
60485         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
60486         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
60487         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
60488         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
60489         (Depends-on): Add EOVERFLOW.
60490         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
60491         (Depends-on): Add EOVERFLOW.
60492         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
60493         (Depends-on): Add EOVERFLOW.
60494         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
60495         (Depends-on): Add EOVERFLOW.
60496         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
60497         (Depends-on): Add EOVERFLOW.
60498         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
60499         (Depends-on): Add EOVERFLOW.
60500         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
60501         (Depends-on): Add EOVERFLOW.
60502         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
60503         (Depends-on): Add EOVERFLOW.
60504
60505         * lib/sprintf.c (EOVERFLOW): Remove fallback.
60506         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
60507         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
60508
60509         * lib/snprintf.c (EOVERFLOW): Remove fallback.
60510         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
60511         * modules/snprintf (Depends-on): Add EOVERFLOW.
60512
60513         * lib/poll.c (EOVERFLOW): Remove fallback.
60514         * modules/poll (Depends-on): Add EOVERFLOW.
60515
60516         * lib/getugroups.c (EOVERFLOW): Remove fallback.
60517         * modules/getugroups (Depends-on): Add EOVERFLOW.
60518
60519         * lib/getdelim.c (EOVERFLOW): Remove fallback.
60520         * modules/getdelim (Depends-on): Add EOVERFLOW.
60521
60522         * lib/ftell.c (EOVERFLOW): Remove fallback.
60523         * modules/ftell (Depends-on): Add EOVERFLOW.
60524
60525         * lib/fprintf.c (EOVERFLOW): Remove fallback.
60526         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
60527         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
60528
60529         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
60530
60531         * modules/EOVERFLOW-tests: New file.
60532         * tests/test-EOVERFLOW.c: New file.
60533
60534         * modules/EOVERFLOW: New file.
60535         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
60536
60537 2008-03-30  Bruno Haible  <bruno@clisp.org>
60538
60539         Fix bug introduced on 2007-06-10.
60540         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
60541         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
60542
60543 2008-03-30  Bruno Haible  <bruno@clisp.org>
60544
60545         Improve freadseek's efficiency after ungetc.
60546         * lib/freadseek.c: Include freadahead.h.
60547         (freadptrinc): New function, extracted from freadseek.
60548         (freadseek): Use it in a loop. Use freadahead to determine the number
60549         of loop iterations.
60550         * modules/freadseek (Depends-on): Add freadahead.
60551         (configure.ac): Require AC_C_INLINE.
60552
60553 2008-03-30  Bruno Haible  <bruno@clisp.org>
60554
60555         * lib/freadseek.c (freadseek): Don't ignore the return value of
60556         freadptr.
60557
60558 2008-03-29  Eric Blake  <ebb9@byu.net>
60559
60560         Add hex float support.
60561         * modules/strtod (Depends-on): Add c-ctype.
60562         (Link): Mention POW_LIB.
60563         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
60564         whitespace between 'e' and exponent.
60565         * tests/test-strtod.c (main): Enable hex float tests.
60566         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
60567         now provides.
60568
60569         Document various strtod bugs, with some fixes.
60570         * doc/posix-functions/strtod.texi (strtod): Document bugs with
60571         "-0x", "inf", "nan", and hex constants.
60572         * doc/posix-functions/atof.texi (atof): Likewise.
60573         * modules/stdlib (Makefile.am): Support strtod.
60574         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
60575         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
60576         detect additional strtod bugs.
60577         * lib/stdlib.in.h (rpl_strtod): Add declarations.
60578         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
60579         bool where appropriate.  Parse 'inf' and 'nan'.
60580         * tests/test-strtod.c: New file.
60581         * modules/strtod (Depends-on): Add stdbool, stdlib.
60582         (configure.ac): Turn on module indicator.
60583         * modules/strtod-tests: New module.
60584
60585 2008-03-29  Eric Blake  <ebb9@byu.net>
60586
60587         Fix ftell on mingw.
60588         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
60589         * modules/ftell-tests (Depends-on): Add binary-io.
60590         * modules/ftello-tests (Depends-on): Likewise.
60591         * tests/test-ftell.c (main): Enhance test to cover behavior after
60592         ungetc.  Enforce binary mode.
60593         * tests/test-ftello.c (main): Likewise.
60594
60595         Pass test-freadseek on cygwin.
60596         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
60597         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
60598         ungetc buffer.
60599
60600         * tests/test-fflush2.c (main): Fix typo.
60601
60602 2008-03-29  Bruno Haible  <bruno@clisp.org>
60603
60604         * tests/test-fflush2.c (main): Temporarily disable the contents of
60605         this test.
60606         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
60607         Reported by Eric Blake.
60608
60609 2008-03-28  Simon Josefsson  <simon@josefsson.org>
60610
60611         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
60612         (GC_SHA224_DIGEST_SIZE): Add.
60613
60614         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
60615         (gc_hash_digest_length): Likewise.
60616         (gc_hash_buffer): Likewise.
60617
60618 2008-03-25  Bruno Haible  <bruno@clisp.org>
60619
60620         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
60621         detail which gettext release to use.
60622         Reported by Simon Josefsson.
60623
60624 2008-03-26  Jim Meyering  <meyering@redhat.com>
60625
60626         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
60627         * modules/gnumakefile (clean-GNUmakefile): Also, use
60628         test ... && ... || : syntax rather than if-then ... fi.
60629
60630         gnumakefile: Don't double-quote-expand $(VPATH) value.
60631         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
60632
60633 2008-03-24  Eric Blake  <ebb9@byu.net>
60634
60635         Alter GNUmakefile to install into top directory.
60636         * modules/maintainer-makefile: Split, and add dependency...
60637         * modules/gnumakefile: to this new module.
60638         * build-aux/GNUmakefile: Move...
60639         * top/GNUmakefile: ...here.
60640         * build-aux/maint.mk: Move...
60641         * top/maint.mk: ...here.
60642         * MODULES.html.sh (Support for maintaining...): Document new
60643         module.
60644
60645 2008-03-23  Bruno Haible  <bruno@clisp.org>
60646
60647         * gnulib-tool: New options --vc-files, --no-vc-files.
60648         (func_usage): Document them.
60649         (vc_files): New variable.
60650         (func_import): Consider vc_files.
60651         (func_create_testdir): Set vc_files to empty.
60652         Suggested by Jim Meyering and Karl Berry.
60653
60654 2008-03-23  Bruno Haible  <bruno@clisp.org>
60655
60656         Fix regex compilation error on HP-UX 11.
60657         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
60658         * modules/regex (Files): Add m4/mbstate_t.m4.
60659         Reported by Ton Voon <ton.voon@altinity.com>.
60660
60661 2008-03-23  Bruno Haible  <bruno@clisp.org>
60662
60663         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
60664
60665 2008-03-23  Eric Blake  <ebb9@byu.net>
60666             Bruno Haible  <bruno@clisp.org>
60667
60668         Install files from top/ in the destination directory.
60669         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
60670         augmentation also for the files from top/.
60671         (func_import, func_create_testdir): Rewrite file names:
60672         top/filename -> filename.
60673
60674 2008-03-23  Bruno Haible  <bruno@clisp.org>
60675
60676         Tweak "gnulib --version" output.
60677         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
60678
60679 2008-03-23  Bruno Haible  <bruno@clisp.org>
60680
60681         Tweak "gnulib --version" output.
60682         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
60683         rather than contents of ChangeLog, when possible.
60684
60685 2008-03-21  Eric Blake  <ebb9@byu.net>
60686
60687         More --version tweaks.
60688         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
60689         date of last ChangeLog entry.
60690
60691 2008-03-21  Jim Meyering  <meyering@redhat.com>
60692
60693         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
60694
60695 2008-03-20  Eric Blake  <ebb9@byu.net>
60696
60697         VPATH fix.
60698         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
60699
60700 2008-03-20  Simon Josefsson  <simon@josefsson.org>
60701
60702         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
60703         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
60704
60705 2008-03-20  Eric Blake  <ebb9@byu.net>
60706
60707         Sync GNUmakefile with coreutils.
60708         * build-aux/GNUmakefile (have-Makefile): Rename...
60709         (_have-Makefile): ...to this, for namespace consideration.
60710         (GNUmakefile.cfg): Include, if present.
60711         (_autoreconf): Define a default.
60712         (_is-dist-target): New rule for rebuilds to pick up intra-release
60713         version.
60714         (maint-cfg.mk): Rename...
60715         (cfg.mk): ...to this.
60716
60717 2008-03-18  Jim Meyering  <meyering@redhat.com>
60718
60719         New script and module: mktempd
60720         * MODULES.html.sh (maint+release support): Add mktempd.
60721         * build-aux/mktempd: New file.
60722         * modules/mktempd: New file.
60723
60724 2008-03-15  Jim Meyering  <meyering@redhat.com>
60725
60726         Undo last change.
60727         * lib/sha1.c, lib/md5.c: 63 != ~63.
60728         Reported by Andreas Schwab.
60729
60730         sha1.c, md5.c: Hoist a redundant expression.
60731         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
60732         "ctx->buflen" only once, before calling *_process_block.
60733         * lib/md5.c (md5_process_bytes): Likewise.
60734
60735 2008-03-14  Eric Blake  <ebb9@byu.net>
60736
60737         Bump copyright year in files generated by gnulib-tool.
60738         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
60739         gnulib-tool, rather than hard-coding it.
60740
60741         Fix 'gnulib-tool --version' output to work with git.
60742         * gnulib-tool (func_gnulib_dir): New function, extracted from...
60743         (startup): ...here.
60744         (func_version): Use it to invoke git-version-gen, rather than
60745         relying on CVS keyword expansion.  Modernize wording.
60746         (cvsdatestamp, last_checkin_date, version): Kill unused
60747         variables.
60748
60749 2008-03-12  Jim Meyering  <meyering@redhat.com>
60750
60751         Recognize optional cast of the argument to free.
60752         * build-aux/useless-if-before-free: Update regexps.
60753
60754         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
60755
60756 2008-03-11  Bruno Haible  <bruno@clisp.org>
60757
60758         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
60759         by a single package.
60760         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
60761         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
60762         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
60763         Reported by Sam Steingold <sds@gnu.org>.
60764
60765 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
60766
60767         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
60768         repositories.
60769
60770 2008-03-11  Bruno Haible  <bruno@clisp.org>
60771
60772         Avoid conflicts between local macro definitions.
60773         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
60774         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
60775
60776 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
60777             Bruno Haible  <bruno@clisp.org>
60778
60779         Make va_copy work with some version of xlc on AIX 5.1.
60780         * lib/stdarg.in.h: New file.
60781         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
60782         On AIX, use a <stdarg.h> file substitute.
60783         * modules/stdarg (Files): Add lib/stdarg.in.h.
60784         (Depends-on): Add include_next.
60785         (Makefile.am): Build a stdarg.h substitute if requested.
60786         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
60787
60788 2008-03-10  Bruno Haible  <bruno@clisp.org>
60789
60790         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
60791         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
60792         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
60793
60794 2008-03-10  Bruno Haible  <bruno@clisp.org>
60795
60796         * modules/stdlib (Depends-on): Add include_next, remove
60797         absolute-header.
60798
60799 2008-03-09  Bruno Haible  <bruno@clisp.org>
60800
60801         * lib/freadahead.h (freadahead): Document more precisely.
60802         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
60803         the sum of both buffer sizes.
60804         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
60805         * NEWS: Document the change.
60806
60807 2008-03-09  Bruno Haible  <bruno@clisp.org>
60808
60809         Extend freadptr to return also the buffer size.
60810         * lib/freadptr.h (freadptr): Add sizep argument.
60811         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
60812         (freadptr): Add sizep argument. Determine buffer size like freadahead
60813         does.
60814         * tests/test-freadptr.c: Don't include freadahead.h.
60815         (main): Adapt for new calling convention of freadptr.
60816         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
60817         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
60818         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
60819         tests/test-freadptr2.sh.
60820         (Depends): Remove freadahead.
60821         (TESTS): Add test-freadptr2.sh.
60822         (check_PROGRAMS): Add test-freadptr2.
60823
60824 2008-03-09  Bruno Haible  <bruno@clisp.org>
60825
60826         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
60827         Report and solution by Simon Josefsson.
60828
60829 2008-03-06  Bruno Haible  <bruno@clisp.org>
60830
60831         Make fflush after ungetc work on BSD platforms.
60832         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
60833         * tests/test-fflush2.c: New file.
60834         * tests/test-fflush2.sh: New file.
60835         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
60836         tests/test-fflush2.c.
60837         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
60838         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
60839
60840 2008-03-06  Eric Blake  <ebb9@byu.net>
60841
60842         Likewise for ftello.
60843         * modules/ftello (Dependencies): Add extensions.
60844         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
60845
60846 2008-03-06  Bruno Haible  <bruno@clisp.org>
60847
60848         * modules/fseeko (Dependencies): Add extensions.
60849         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
60850         Needed on glibc systems.
60851
60852 2008-03-06  Bruno Haible  <bruno@clisp.org>
60853
60854         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
60855         email address.
60856         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
60857
60858 2008-03-06  Bruno Haible  <bruno@clisp.org>
60859
60860         * users.txt: Add libgnupdf.
60861
60862 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
60863
60864         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
60865         (Header File Substitutes, Function Substitutes,
60866         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
60867         (Build robot for gnulib): Fix typo.
60868
60869 2008-03-06  Bruno Haible  <bruno@clisp.org>
60870
60871         * doc/gnulib-tool.texi (VCS Issues): Small updates.
60872         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
60873
60874 2008-03-06  Bruno Haible  <bruno@clisp.org>
60875
60876         * doc/func.texi: New file, extracted from doc/gnulib.texi.
60877         * doc/gnulib.texi: Include it.
60878
60879 2008-03-06  Simon Josefsson  <simon@josefsson.org>
60880
60881         * modules/func (License): Change license to unlimited; there was
60882         no LGPL parts in the module anyway.
60883
60884 2008-03-06  Simon Josefsson  <simon@josefsson.org>
60885
60886         * modules/__func__: Renamed to modules/func.
60887         * modules/__func__-tests: Renamed to modules/func-tests.
60888         * tests/test-__func__.c: Renamed to tests/test-func.c.
60889         * m4/__func__.m4: Renamed to m4/func.m4.
60890         * doc/gnulib.texi (__func__): Section renamed to func.
60891         Suggested by Eric Blake <ebb9@byu.net>.
60892
60893 2008-03-06  Simon Josefsson  <simon@josefsson.org>
60894
60895         * doc/gnulib.texi (__func__): Use C99 terminology when talking
60896         about __func__.  Make example self-contained.  Suggested by Eric
60897         Blake <ebb9@byu.net>.
60898
60899         * tests/test-__func__.c (main): Avoid extraneous () around __func.
60900         Suggested by Eric Blake <ebb9@byu.net>.
60901
60902 2008-03-06  Simon Josefsson  <simon@josefsson.org>
60903
60904         * modules/__func__: New file.
60905         * modules/__func__-tests: New file.
60906         * tests/test-__func__.c: New file.
60907         * m4/__func__.m4: New file.
60908         * doc/gnulib.texi (__func__): Document __func__ module.
60909
60910 2008-03-05  Simon Josefsson  <simon@josefsson.org>
60911
60912         * modules/byteswap (License): Re-license as LGPLv2+.
60913
60914 2008-03-05  Simon Josefsson  <simon@josefsson.org>
60915
60916         * doc/Makefile: Add pdf target.
60917
60918 2008-03-05  Simon Josefsson  <simon@josefsson.org>
60919
60920         * modules/inline (License): Use 'unlimited', since there are only
60921         *.m4 files in this module.
60922
60923 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
60924             Bruno Haible  <bruno@clisp.org>
60925
60926         Add support for HP C 7.1 on OpenVMS 8.3.
60927         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
60928
60929 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
60930
60931         Update VMS specifics.
60932         * lib/getopt.c [VMS]: Remove include of unixlib.h.
60933
60934 2008-03-02  Jim Meyering  <meyering@redhat.com>
60935
60936         Remove the last dependency on the "free" module.
60937         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
60938         Reported by Bob Proulx.
60939
60940         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
60941
60942         Remove useless "if" tests before free.  Deprecate "free" module.
60943         * doc/posix-functions/free.texi: Mention that this
60944         module is no longer useful.
60945         * modules/free (Notice): Say this module is obsolete.
60946         * modules/readutmp (Depends-on): Remove free.
60947         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
60948         * lib/putenv.c (putenv): Likewise.
60949         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
60950         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
60951         * tests/test-c-strcasestr.c (main): Likewise.
60952         * tests/test-c-strstr.c (main): Likewise.
60953         * tests/test-mbscasestr1.c (main): Likewise.
60954         * tests/test-mbscasestr2.c (main): Likewise.
60955         * tests/test-mbsstr1.c (main): Likewise.
60956         * tests/test-mbsstr2.c (main): Likewise.
60957         * tests/test-memmem.c (main): Likewise.
60958         * tests/test-strcasestr.c (main): Likewise.
60959         * tests/test-striconv.c (main): Likewise.
60960         * tests/test-striconveh.c (main): Likewise.
60961         * tests/test-striconveha.c (main): Likewise.
60962         * tests/test-strstr.c (main): Likewise.
60963
60964         * build-aux/git-version-gen: Adjust a comment and the Usage string.
60965
60966         bootstrap: sync from coreutils again
60967         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
60968
60969 2008-03-01  Jim Meyering  <meyering@redhat.com>
60970
60971         bootstrap: sync from coreutils
60972         * build-aux/bootstrap (update_po_files): Copy a .po file into place
60973         also when the target doesn't exist.
60974
60975 2008-03-01  Eric Blake  <ebb9@byu.net>
60976
60977         Fix bugs in last patch.
60978         * lib/memchr2.c (memchr2): Fix typo.
60979         * tests/test-memchr2.c: Test previous bug, and don't use GNU
60980         extension.
60981         Reported by Bruce Korb.
60982
60983         New module 'memchr2'.
60984         * modules/memchr2: New file.
60985         * modules/memchr2-tests: Likewise.
60986         * lib/memchr2.h: Likewise.
60987         * lib/memchr2.c: Likewise, based on memchr.c.
60988         * tests/test-memchr2.c: New test.
60989         * MODULES.html.sh (String handling): Add memchr2.
60990
60991 2008-02-29  Bruno Haible  <bruno@clisp.org>
60992
60993         * modules/freadseek-tests: New file.
60994         * tests/test-freadseek.sh: New file.
60995         * tests/test-freadseek.c: New file.
60996
60997         New module 'freadseek'.
60998         * modules/freadseek: New file.
60999         * lib/freadseek.h: New file.
61000         * lib/freadseek.c: New file.
61001         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
61002
61003 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61004
61005         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
61006         wydawca.
61007
61008         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
61009         program_invocation_name and program_invocation_short_name are
61010         present.
61011
61012 2008-02-28  Bruno Haible  <bruno@clisp.org>
61013
61014         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
61015         * tests/test-freadptr.sh: Also test non-seekable stdin.
61016
61017 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
61018
61019         * build-aux/bootstrap (source_base, m4_base)
61020         (doc_base, tests_base): New variables.
61021         (gnulib_tool_options): Do not hardcode base directories, use
61022         the above variables instead.
61023
61024 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
61025
61026         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
61027
61028 2008-02-28  Bruno Haible  <bruno@clisp.org>
61029
61030         * modules/freadptr-tests: New file.
61031         * tests/test-freadptr.sh: New file.
61032         * tests/test-freadptr.c: New file.
61033
61034         New module 'freadptr'.
61035         * modules/freadptr: New file.
61036         * lib/freadptr.h: New file.
61037         * lib/freadptr.c: New file.
61038         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
61039
61040 2008-02-26  Karl Berry  <karl@freefriends.org>
61041
61042         Sync from Libtool:
61043         * libltdl/argz.c (argz_add, argz_count): New functions.
61044         * libltdl/argz.in.h: Declare them.
61045         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
61046
61047 2008-02-22  Bruno Haible  <bruno@clisp.org>
61048
61049         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
61050         is a pointer type.  Needed for HP-UX 10.
61051         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
61052         * doc/posix-functions/gmtime_r.texi: Likewise.
61053         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61054
61055 2008-02-24  Bruno Haible  <bruno@clisp.org>
61056
61057         * modules/environ-tests: New file.
61058         * tests/test-environ.c: New file.
61059
61060         New module 'environ'.
61061         * modules/environ: New file.
61062         * lib/unistd.in.h (environ): New declaration.
61063         * m4/environ.m4: New file.
61064         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
61065         after use.
61066         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
61067         HAVE_DECL_ENVIRON.
61068         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
61069         HAVE_DECL_ENVIRON.
61070         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
61071         wrong claim that 'environ' is missing on some systems.
61072         * modules/execute (Depends-on): Add environ.
61073         * lib/execute.c (environ): Remove fallback declaration.
61074         * modules/pipe (Depends-on): Add environ.
61075         * lib/pipe.c (environ): Remove fallback declaration.
61076         * modules/setenv (Depends-on): Add environ.
61077         * lib/setenv.c (environ): Remove fallback declaration.
61078         * modules/unsetenv (Depends-on): Add environ.
61079         * lib/unsetenv.c (environ): Remove fallback declaration.
61080         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
61081         m4/environ.m4.
61082         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
61083         (gl_PREREQ_UNSETENV): Likewise.
61084
61085 2008-02-24  Bruno Haible  <bruno@clisp.org>
61086
61087         * doc/posix-functions/environ.texi: Document the MacOS X problem.
61088
61089 2008-02-20  Bob Proulx  <bob@proulx.com>
61090
61091         Enable use of older two part flavor 'git describe'.
61092         * build-aux/git-version-gen: If using the older two part flavor of
61093         git version then recreate the third part now present in the
61094         newer three part flavor of git describe.
61095
61096 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
61097
61098         * lib/fts.c (fts_build): Typo correction to comment.
61099
61100 2008-02-17  Bruno Haible  <bruno@clisp.org>
61101
61102         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
61103         generating no-op conflicts.
61104
61105 2008-02-17  Bruno Haible  <bruno@clisp.org>
61106
61107         Speed up by 10%.
61108         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
61109         result_entries, rather than an index-based loop.
61110
61111 2008-02-17  Bruno Haible  <bruno@clisp.org>
61112
61113         Speed up by 25%.
61114         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
61115         'hashcode_cached'.
61116         (entry_create): New function.
61117         (entry_hashcode): Use the cached hashcode if possible.
61118         (read_changelog_file, try_split_merged_entry): Use entry_create.
61119
61120 2008-02-17  Bruno Haible  <bruno@clisp.org>
61121
61122         Speed up from O(n^2) to O(n) for long ChangeLog files.
61123         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
61124         (read_changelog_file): Change implementation of entries_reversed list
61125         to rbtreehash.
61126         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
61127
61128 2008-02-17  Bruno Haible  <bruno@clisp.org>
61129
61130         New option --split-merged-entry.
61131         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
61132         (find_paragraph_end, try_split_merged_entry): New functions.
61133         (long_options): Add option --split-merged-entry.
61134         (usage): Document option --split-merged-entry.
61135         (main): Implement option --split-merged-entry.
61136         Reported by Eric Blake.
61137
61138 2008-02-17  Bruno Haible  <bruno@clisp.org>
61139
61140         * lib/git-merge-changelog.c: Include c-strstr.h.
61141         (main): Support the "git pull --rebase" situation.
61142         * modules/git-merge-changelog (Depends-on): Add c-strstr.
61143         Reported by Eric Blake.
61144
61145 2008-02-16  Eric Blake  <ebb9@byu.net>
61146
61147         Avoid doubling \ in common case of "c-maybe" quoting style.
61148         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
61149         eliding outer quotes.
61150         * lib/quotearg.h: Document this.
61151         * tests/test-quotearg.c (result_strings, inputs, results_g)
61152         (flag_results, locale_results): Test it by adding a new string to
61153         each test group.
61154         (compare_strings): Test new string.
61155
61156 2008-02-13  Eric Blake  <ebb9@byu.net>
61157
61158         Avoid trigraph quoting in default output.
61159         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
61160         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
61161         unless explicitly requested.
61162         * tests/test-quotearg.c (flag_results, main): Add additional tests.
61163
61164 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
61165
61166         Don't rely on signed integer overflowing to negative value.
61167         * lib/getugroups.c (getugroups): Include <limits.h>.
61168         Instead, compare against INT_MAX, and increment only if the test passes.
61169
61170 2008-02-13  Jim Meyering  <meyering@redhat.com>
61171         and Eric Blake  <ebb9@byu.net>
61172
61173         Avoid shadowing warning and compile errors on Linux.
61174         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
61175         forwarding macros on Linux.
61176         (dcgettext): Define a stub, for Linux.
61177         (results_g, main): Avoid warnings.
61178
61179 2008-02-12  Eric Blake  <ebb9@byu.net>
61180
61181         Silence warning in last patch.
61182         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
61183
61184         Quotearg part 4: add tests, fix c-maybe colon quoting.
61185         * lib/quotearg.h: Improve documentation.
61186         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
61187         escapes when adding outer quotes.  When quoting trigraphs, use
61188         valid C notation.  When quoting NUL, omit extra characters if next
61189         character is not digit.  Alter prototype.
61190         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
61191         callers.
61192         * modules/quotearg-tests: New module.
61193         * tests/test-quotearg.c: New test.
61194
61195 2008-02-07  Eric Blake  <ebb9@byu.net>
61196
61197         Quotearg part 3: add flag to control outer quote elision.
61198         * lib/quotearg.h (c_maybe_quoting_style): New style.
61199         (enum quoting_flags): Better documentation of flags.
61200         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
61201         c-maybe style.
61202         (quotearg_buffer_restyled): Handle new flag to elide outer
61203         quotes.
61204
61205         Quotearg part 2: add flag that can control NUL elision.
61206         * lib/quotearg.h (set_quoting_flags): New prototype.
61207         * lib/quotearg.c (struct quoting_options): Add flag field.
61208         (set_quoting_flags): New function.
61209         (quotearg_buffer_restyled): Add flags parameter.
61210         (quotearg_alloc_mem): Set the flag if length cannot be returned.
61211         (quotearg_n_options): Set the flag, since length cannot be
61212         returned.
61213         (quoting_options_from_style): Default flags correctly.
61214
61215         Quotearg part 1: more wrappers, restore quotearg_char state.
61216         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
61217         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
61218         (quotearg_colon_mem): New wrappers.
61219         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
61220         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
61221         functions.
61222         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
61223         (quotearg_colon_mem): New functions.
61224
61225 2008-02-11  Bruno Haible  <bruno@clisp.org>
61226
61227         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
61228         library in the current directory: it does not work with parallel make.
61229         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61230
61231 2008-02-11  Bruno Haible  <bruno@clisp.org>
61232
61233         * .gitattributes: New file.
61234
61235 2008-02-11  Jim Meyering  <meyering@redhat.com>
61236
61237         useless-if-before-free: Fix reversed exit values.
61238         * build-aux/useless-if-before-free: Use correct values
61239         for EXIT_MATCH and EXIT_NO_MATCH.
61240
61241         * build-aux/useless-if-before-free: Close stdout carefully.
61242
61243 2008-02-10  Bruno Haible  <bruno@clisp.org>
61244
61245         New module 'git-merge-changelog'.
61246         * modules/git-merge-changelog: New file.
61247         * lib/git-merge-changelog.c: New file.
61248
61249 2008-02-10  Jim Meyering  <meyering@redhat.com>
61250
61251         useless-if-before-free: New option: --list (-l).
61252
61253         useless-if-before-free: Don't exit immediately upon open failure.
61254         * build-aux/useless-if-before-free: Exit 2 for errors.
61255         Upon failure to open a file, don't exit immediately.
61256         Rather, just warn and continue with any remaining files.
61257
61258 2008-02-10  Bruno Haible  <bruno@clisp.org>
61259
61260         New abstract list operation 'node_set_value'.
61261         * lib/gl_list.h (gl_list_node_set_value): New function.
61262         (struct gl_list_implementation): New field node_set_value.
61263         * lib/gl_list.c (gl_list_node_set_value): New function.
61264         * lib/gl_array_list.c (gl_array_node_set_value): New function.
61265         (gl_array_list_implementation): Update.
61266         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
61267         (gl_carray_list_implementation): Update.
61268         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
61269         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
61270         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
61271         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
61272         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
61273         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
61274         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
61275         Update.
61276         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
61277         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
61278         (gl_sublist_list_implementation): Update.
61279
61280 2008-02-10  Bruno Haible  <bruno@clisp.org>
61281
61282         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
61283         Needed when ELEMENT is #defined to 'some_type *'.
61284
61285 2008-02-10  Jim Meyering  <meyering@redhat.com>
61286
61287         New script and module: useless-if-before-free
61288         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
61289         * build-aux/useless-if-before-free: New file.
61290         * modules/useless-if-before-free: New file.
61291
61292         * build-aux/gitlog-to-changelog: Use committer date, not author date.
61293
61294         xstrtol_error: Fix typo.
61295         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
61296         s/exit_failure/exit_status/.
61297
61298 2008-02-09  Jim Meyering  <meyering@redhat.com>
61299
61300         New script and module: gitlog-to-changelog
61301         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
61302         * modules/gitlog-to-changelog: New file.
61303         * build-aux/gitlog-to-changelog: New file.
61304
61305 2008-02-08  Jim Meyering  <meyering@redhat.com>
61306
61307         Avoid two "parameter unused" warnings.
61308         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
61309         Mark "st" as used.
61310
61311         Use "git COMMAND", not "git-COMMAND".
61312         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
61313         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
61314         * build-aux/git-version-gen: Use "git status", not "git-status".
61315
61316 2008-02-07  Bruno Haible  <bruno@clisp.org>
61317
61318         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
61319         Avoids a crash on Windows Vista.
61320         Reported by Adam Strzelecki <ono@java.pl> via
61321         Simon Josefsson <simon@josefsson.org>.
61322
61323 2008-02-06  Bruno Haible  <bruno@clisp.org>
61324
61325         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
61326         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
61327         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
61328         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
61329         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61330         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61331         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
61332         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
61333         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61334         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61335         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61336         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61337         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61338         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61339         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61340         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
61341         left-adjust flag.
61342         * tests/test-snprintf-posix.h (test_function): Likewise.
61343         * tests/test-sprintf-posix.h (test_function): Likewise.
61344         * tests/test-vasprintf-posix.c (test_function): Likewise.
61345         * doc/posix-functions/fprintf.texi: Update.
61346         * doc/posix-functions/printf.texi: Update.
61347         * doc/posix-functions/snprintf.texi: Update.
61348         * doc/posix-functions/sprintf.texi: Update.
61349         * doc/posix-functions/vfprintf.texi: Update.
61350         * doc/posix-functions/vprintf.texi: Update.
61351         * doc/posix-functions/vsnprintf.texi: Update.
61352         * doc/posix-functions/vsprintf.texi: Update.
61353         Reported by Peter Fales <psfales@alcatel-lucent.com>.
61354
61355 2008-02-06  Bruno Haible  <bruno@clisp.org>
61356
61357         Fix bug introduced on 2008-01-26.
61358         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
61359
61360 2008-02-06  Bruno Haible  <bruno@clisp.org>
61361
61362         Fix bug introduced on 2007-06-10.
61363         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
61364         !NEED_PRINTF_FLAG_ZERO.
61365
61366 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
61367
61368         getloadavg: use libperfstat on AIX5
61369         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
61370
61371 2008-02-03  Bruno Haible  <bruno@clisp.org>
61372
61373         * lib/diffseq.h: Add comments about required #includes.
61374         Reported by Michael Biggs <gnulib@doubleplum.net>.
61375
61376 2008-02-01  Bruno Haible  <bruno@clisp.org>
61377
61378         * users.txt: Add gnuit.
61379
61380 2008-01-31  Bruno Haible  <bruno@clisp.org>
61381
61382         * lib/md4.c (set_uint32): Mark as inline.
61383         * lib/md5.c (set_uint32): Likewise.
61384         * lib/sha1.c (set_uint32): Likewise.
61385         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
61386         * m4/md5.m4 (gl_MD5): Likewise.
61387         * m4/sha1.m4 (gl_SHA1): Likewise.
61388
61389 2008-01-31  Jim Meyering  <meyering@redhat.com>
61390
61391         Use "sizeof VAR", rather than a literal "4".
61392         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
61393         * lib/md4.c (md4_read_ctx): Likewise.
61394         * lib/sha1.c (sha1_read_ctx): Likewise.
61395
61396 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61397
61398         * tests/test-sha1.c: New file, based on test-md5.c.
61399
61400         * modules/crypto/sha1-tests: New file.
61401
61402 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61403
61404         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
61405
61406 2008-01-31  Jim Meyering  <meyering@redhat.com>
61407
61408         Prefer "sizeof v" over the equivalent "4".
61409         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
61410         * lib/md5.c (set_uint32): Likewise.
61411         * lib/sha1.c (set_uint32): Likewise.
61412
61413 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61414
61415         * lib/sha1.c (set_uint32): Mark function as static.
61416
61417 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61418
61419         md2: clarify comments to say that alignment is not required.
61420         * lib/md2.h: Remove warning about alignment in comment.
61421         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
61422         never been required.
61423
61424 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61425
61426         md4: adapt alignment constraint fix from sha1.
61427         * lib/md4.c (set_uint32): New function, from sha1.c
61428         (md4_read_ctx): Use it.
61429         (md4_finish_ctx): Doc fix.
61430         * lib/md4.h: Doc fix.
61431
61432 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61433
61434         md5: adapt alignment constraint fix from sha1.
61435         * lib/md5.c (set_uint32): New function, from sha1.c
61436         (md5_read_ctx): Use it.
61437         (md5_finish_ctx): Doc fix.
61438         * lib/md5.h: Doc fix.
61439
61440 2008-01-30  Peter Palfrader  <weasel@debian.org>
61441
61442         sha1: remove the result buffer alignment constraint
61443         * lib/sha1.c (set_uint32): New function.
61444         (sha1_read_ctx): Rewrite to remove the result buffer alignment
61445         constraint.
61446         (sha1_finish_ctx): Remove comment warning about alignment constraint.
61447         * lib/sha1.h: Likewise.
61448
61449 2008-01-30  Andreas Schwab  <schwab@suse.de>
61450             Bruno Haible  <bruno@clisp.org>
61451
61452         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
61453         correct definition of LDBL_MIN_EXP.
61454
61455 2008-01-30  Karl Berry  <karl@gnu.org>
61456
61457         * config/srclist-update: try to preserve x bit on updates.
61458         * config/srclistvars.sh: update for karl.
61459
61460 2008-01-29  Jim Meyering  <meyering@redhat.com>
61461
61462         vasnprintf.c: Avoid warning about unused label
61463         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
61464         "overflow" label definition and associated code with the
61465         same cpp condition that guards the sole use of that label.
61466
61467 2008-01-26  Bruno Haible  <bruno@clisp.org>
61468
61469         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
61470         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
61471         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
61472         * lib/isnanl-nolibm.h (isnanl): Likewise.
61473         Reported by Paul Eggert <eggert@cs.ucla.edu>.
61474
61475 2008-01-26  Bruno Haible  <bruno@clisp.org>
61476
61477         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
61478         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
61479
61480 2008-01-26  Bruno Haible  <bruno@clisp.org>
61481
61482         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
61483         GCC >= 4.0 built-in.
61484         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
61485
61486 2008-01-26  Bruno Haible  <bruno@clisp.org>
61487
61488         Rename isnan, applicable to 'double' only, to isnand.
61489         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
61490         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
61491         (configure.ac): Update.
61492         (Include): Replace "isnan.h" with "isnand.h".
61493         * m4/isnand.m4: Renamed from m4/isnan.m4.
61494         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
61495         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
61496         instead of isnan.c.
61497         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
61498         instead of HAVE_ISNAN_IN_LIBC.
61499         (isnand): Renamed from isnan.
61500         * lib/isnand.c: New file.
61501         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
61502         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
61503         (Makefile.am): Update.
61504         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
61505         Include isnand.h instead of isnan.h.
61506         (main): Test isnand instead of isnan.
61507         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
61508         isnan-nolibm.
61509         * modules/frexp (Depends-on): Likewise.
61510         * modules/frexp-tests (Depends-on): Likewise.
61511         * modules/frexp-nolibm (Depends-on): Likewise.
61512         * modules/frexp-nolibm-tests (Depends-on): Likewise.
61513         * modules/isfinite (Depends-on): Likewise.
61514         * modules/round-tests (Depends-on): Likewise.
61515         * modules/signbit (Depends-on): Likewise.
61516         * modules/signbit-tests (Depends-on): Likewise.
61517         * modules/snprintf-posix (Depends-on): Likewise.
61518         * modules/sprintf-posix (Depends-on): Likewise.
61519         * modules/trunc-tests (Depends-on): Likewise.
61520         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
61521         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
61522         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
61523         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
61524         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
61525         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
61526         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
61527         * modules/vasnprintf-posix (Depends-on): Likewise.
61528         * modules/vasprintf-posix (Depends-on): Likewise.
61529         * modules/vfprintf-posix (Depends-on): Likewise.
61530         * modules/vsnprintf-posix (Depends-on): Likewise.
61531         * modules/vsprintf-posix (Depends-on): Likewise.
61532         * lib/frexp.c: Include isnand.h instead of isnan.h.
61533         (ISNAN): Set to isnand instead of isnan.
61534         * lib/isfinite.c: Include isnand.h instead of isnan.h.
61535         (gl_isfinited): Use isnand instead of isnan.
61536         * lib/signbitd.c: Include isnand.h instead of isnan.h.
61537         (gl_signbitd): Use isnand instead of isnan.
61538         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
61539         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
61540         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
61541         (main): Use isnand instead of isnan.
61542         * tests/test-round1.c: Include isnand.h.
61543         (main): Use isnand instead of isnan.
61544         * tests/test-round2.c: Include isnand.h instead of isnan.h.
61545         (ISNAN): Set to isnand instead of isnan.
61546         * tests/test-trunc1.c: Include isnand.h.
61547         (main): Use isnand instead of isnan.
61548         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
61549         (equal): Use isnand instead of isnan.
61550         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
61551         isnand-nolibm.
61552         * NEWS: Mention the change.
61553
61554 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
61555             Bruno Haible  <bruno@clisp.org>
61556
61557         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
61558         the GCC builtins for signbits are present and set
61559         REPLACE_SIGNBIT_USING_GCC if so.
61560         * lib/math.in.h (signbit): Define using GCC builtins if
61561         REPLACE_SIGNBIT_USING_GCC is set.
61562         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
61563         REPLACE_SIGNBIT_USING_GCC.
61564         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
61565
61566 2008-01-25  Jim Meyering  <meyering@redhat.com>
61567
61568         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
61569         * lib/poll.c: Include <config.h>, not "config.h".
61570         * tests/test-getaddrinfo.c: Likewise.
61571
61572 2008-01-25  Simon Josefsson  <simon@josefsson.org>
61573
61574         * modules/sockets-tests: New file.
61575
61576 2008-01-24  Simon Josefsson  <simon@josefsson.org>
61577
61578         * modules/sockets: New module, can be used to call WSA_Startup and
61579         WSA_Cleanup when needed.
61580
61581         * lib/sockets.h, lib/sockets.c: New files.
61582
61583         * m4/sockets.m4: New file.
61584
61585         * tests/test-sockets.c: New file.
61586
61587 2008-01-19  Bruno Haible  <bruno@clisp.org>
61588
61589         * doc/posix-headers: Renamed from doc/headers.
61590         * doc/posix-functions: Renamed from doc/functions.
61591         * doc/gnulib.texi: Update.
61592
61593 2008-01-19  Bruno Haible  <bruno@clisp.org>
61594
61595         * doc/glibc-functions/strcasestr.texi: Include contents of
61596         doc/functions/strcasestr.texi, fixing the list of platforms.
61597         * doc/functions/strcasestr.texi: Remove file.
61598
61599 2008-01-19  Bruno Haible  <bruno@clisp.org>
61600
61601         * doc/glibc-functions/memmem.texi: Include contents of
61602         doc/functions/memmem.texi.
61603         * doc/functions/memmem.texi: Remove file.
61604
61605 2008-01-18  Bruno Haible  <bruno@clisp.org>
61606
61607         * doc/glibc-functions/*.texi: New files.
61608         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
61609         to use the new files.
61610
61611 2008-01-17  Bruno Haible  <bruno@clisp.org>
61612
61613         * tests/test-gethostname.c (main): Fix printf statement.
61614
61615 2008-01-17  Simon Josefsson  <simon@josefsson.org>
61616
61617         * modules/gethostname-tests: New file.
61618
61619         * tests/test-gethostname.c: New file.
61620
61621 2008-01-17  Simon Josefsson  <simon@josefsson.org>
61622
61623         * lib/gethostname.c: Include string.h unconditionally, strncpy is
61624         used by the UNAME case.  Reported by Bruno Haible
61625         <bruno@clisp.org>.
61626
61627 2008-01-17  Eric Blake  <ebb9@byu.net>
61628
61629         Convert c-strcasestr to be more efficient.
61630         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
61631         (Depends-on): Add c-strcase, remove malloca, strnlen.
61632         * tests/test-c-strcasestr.c (main): Enhance test.
61633         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
61634
61635 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
61636
61637         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
61638         Use it in creating po/Makevars.
61639
61640 2008-01-15  Simon Josefsson  <simon@josefsson.org>
61641
61642         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
61643         Applications that requires it should initialize libgcrypt
61644         manually.
61645
61646 2008-01-16  Simon Josefsson  <simon@josefsson.org>
61647
61648         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
61649
61650 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
61651
61652         Fix problem with getdate on mingw32 reported by Simon Josefsson
61653         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
61654         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
61655         tzname", when deciding whether to declare tzname.
61656         * lib/strftime.c (tzname): Likewise.
61657
61658 2008-01-15  Bruno Haible  <bruno@clisp.org>
61659
61660         Work around a MacOS X 10.5 bug in frexpl().
61661         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
61662         * doc/functions/frexpl.texi: Document the bug.
61663         Reported by Elias Pipping <pipping@gentoo.org>.
61664
61665 2008-01-14  Eric Blake  <ebb9@byu.net>
61666
61667         Touch up previous patch.
61668         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
61669         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
61670
61671         Convert strcasestr module to use Two-Way algorithm.
61672         * modules/strcasestr-simple: New module, based on the old
61673         strcasestr, but with Two-Way rather than KMP.
61674         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
61675         * lib/string.in.h (rpl_strcasestr): Declare.
61676         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
61677         performance.
61678         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
61679         * modules/string (Makefile.am): Support strcasestr.
61680         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
61681         * modules/strcasestr-tests (Depends-on): Check for alarm.
61682         * tests/test-strcasestr.c: Augment test.
61683         * lib/str-two-way.h: Clean up stray macro.
61684         * NEWS: Document new module.
61685         * MODULES.html.sh (string handling): Likewise.
61686         * doc/functions/strcasestr.texi: New file.
61687         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
61688         here, since it is not a POSIX function.
61689
61690 2008-01-14  Colin Watson  <cjwatson@debian.org>
61691             Bruno Haible  <bruno@clisp.org>
61692
61693         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
61694         works fine; if not, set REPLACE_STRSIGNAL.
61695         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
61696         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
61697         REPLACE_STRSIGNAL.
61698         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
61699         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
61700         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
61701
61702 2008-01-14  Bruno Haible  <bruno@clisp.org>
61703
61704         * modules/strsignal (Include): Change to <string.h>.
61705
61706 2008-01-14  Colin Watson  <cjwatson@debian.org>
61707
61708         * modules/argp (Notice): Add a notice recommending to change
61709         XGETTEXT_OPTIONS.
61710         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
61711
61712 2008-01-13  Colin Watson  <cjwatson@debian.org>
61713
61714         * modules/strsignal-tests: New file.
61715         * tests/test-strsignal.c: New file.
61716
61717         * lib/strsignal.c: New file, from glibc with modifications.
61718         * lib/siglist.h: New file, from glibc with modifications.
61719         * lib/string.in.h (strsignal): New declaration.
61720         * m4/strsignal.m4: New file.
61721         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
61722         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
61723         * modules/strsignal: New file.
61724         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
61725         HAVE_DECL_STRSIGNAL.
61726
61727 2008-01-13  Bruno Haible  <bruno@clisp.org>
61728
61729         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
61730         locale encoding is not ASCII. Needed for OpenBSD 4.0.
61731         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
61732         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
61733
61734 2008-01-13  Bruno Haible  <bruno@clisp.org>
61735
61736         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
61737         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
61738         * lib/argp.h (__attribute__): Likewise.
61739         * lib/c-stack.c (__attribute__): Likewise.
61740         * lib/error.h (__attribute__): Likewise.
61741         * lib/fts.c (__attribute__): Likewise.
61742         * lib/openat.h (__attribute__): Likewise.
61743         * lib/stdio.in.h (__attribute__): Likewise.
61744         * lib/string.in.h (__attribute__): Likewise.
61745         * lib/utimens.c (__attribute__): Likewise.
61746         * lib/vasnprintf.h (__attribute__): Likewise.
61747         * lib/xalloc.h (__attribute__): Likewise.
61748         * lib/xprintf.h (__attribute__): Likewise.
61749         * lib/xstrtol.h (__attribute__): Likewise.
61750         * lib/xvasprintf.h (__attribute__): Likewise.
61751
61752 2008-01-12  Bruno Haible  <bruno@clisp.org>
61753
61754         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
61755         * doc/glibc-headers/a.out.texi: New file.
61756         * doc/glibc-headers/aliases.texi: New file.
61757         * doc/glibc-headers/alloca.texi: New file.
61758         * doc/glibc-headers/ar.texi: New file.
61759         * doc/glibc-headers/argp.texi: New file.
61760         * doc/glibc-headers/argz.texi: New file.
61761         * doc/glibc-headers/byteswap.texi: New file.
61762         * doc/glibc-headers/crypt.texi: New file.
61763         * doc/glibc-headers/endian.texi: New file.
61764         * doc/glibc-headers/envz.texi: New file.
61765         * doc/glibc-headers/err.texi: New file.
61766         * doc/glibc-headers/error.texi: New file.
61767         * doc/glibc-headers/execinfo.texi: New file.
61768         * doc/glibc-headers/fpu_control.texi: New file.
61769         * doc/glibc-headers/fstab.texi: New file.
61770         * doc/glibc-headers/fts.texi: New file.
61771         * doc/glibc-headers/getopt.texi: New file.
61772         * doc/glibc-headers/ieee754.texi: New file.
61773         * doc/glibc-headers/ifaddrs.texi: New file.
61774         * doc/glibc-headers/libintl.texi: New file.
61775         * doc/glibc-headers/mcheck.texi: New file.
61776         * doc/glibc-headers/mntent.texi: New file.
61777         * doc/glibc-headers/obstack.texi: New file.
61778         * doc/glibc-headers/paths.texi: New file.
61779         * doc/glibc-headers/printf.texi: New file.
61780         * doc/glibc-headers/pty.texi: New file.
61781         * doc/glibc-headers/resolv.texi: New file.
61782         * doc/glibc-headers/shadow.texi: New file.
61783         * doc/glibc-headers/sysexits.texi: New file.
61784         * doc/glibc-headers/ttyent.texi: New file.
61785
61786 2008-01-12  Jim Meyering  <meyering@redhat.com>
61787
61788         announce-gen: emit Gnulib's git-based version string.
61789         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
61790         New option --gnulib-version=V, where V is expected to be
61791         the output of running git describe in the gnulib directory.
61792         (get_tool_versions): Request feedback on xdelta.  I suspect it's
61793         not useful, and plan to stop publishing an xdelta file with each
61794         coreutils release.
61795
61796         * build-aux/announce-gen: Also check for lzma-compressed files.
61797
61798 2008-01-11  Bruno Haible  <bruno@clisp.org>
61799
61800         * tests/test-memmem.c (main): Increase maximum allowed time.
61801         * tests/test-strstr.c (main): Likewise.
61802
61803 2008-01-11  Bruno Haible  <bruno@clisp.org>
61804
61805         * doc/functions/memmem.texi: Add more precisions about platforms.
61806         * doc/functions/strstr.texi: Likewise.
61807
61808 2008-01-10  Eric Blake  <ebb9@byu.net>
61809
61810         * m4/strstr.m4: Delete cruft from copy-n-paste.
61811         Reported by Bruno Haible.
61812
61813 2008-01-10  Bruno Haible  <bruno@clisp.org>
61814
61815         Make c-strstr rely on strstr.
61816         * lib/c-strstr.c: Don't include str-kmp.h.
61817         (c_strstr): Define in terms of strstr.
61818         * modules/c-strstr (Files): Remove lib/str-kmp.h.
61819         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
61820
61821 2008-01-10  Bruno Haible  <bruno@clisp.org>
61822
61823         * doc/gnulib.texi (String Functions in C Locale): New section.
61824         * doc/c-ctype.texi: New file.
61825         * doc/c-strcase.texi: New file.
61826         * doc/c-strcaseeq.texi: New file.
61827         * doc/c-strcasestr.texi: New file.
61828         * doc/c-strstr.texi: New file.
61829         * doc/c-strtod.texi: New file.
61830         * doc/c-strtold.texi: New file.
61831
61832 2008-01-10  Eric Blake  <ebb9@byu.net>
61833
61834         * lib/relocatable.h: Fix a comment.
61835
61836 2008-01-10  Eric Blake  <ebb9@byu.net>
61837
61838         Share two-way algorithm.
61839         * lib/str-two-way.h: New file, merged from...
61840         * lib/memmem.c: ...here...
61841         * lib/strstr.c: ...and here.
61842         * modules/memmem (Files): Use it.
61843         * modules/strstr (Files): Likewise.
61844
61845         Avoid quadratic strstr implementations.
61846         * lib/strstr.c: New file.
61847         * m4/strstr.m4: Likewise.
61848         * modules/strstr: Likewise.
61849         * modules/strstr-tests: Likewise.
61850         * tests/test-strstr.c: Likewise.
61851         * lib/string.in.h (rpl_strstr): Declare.
61852         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
61853         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
61854         * modules/string (Makefile.am): Likewise.
61855         * MODULES.html.sh (string handling): Mention new module.
61856         * doc/functions/strstr.texi (strstr): Document the bug.
61857
61858 2008-01-10  Bruno Haible  <bruno@clisp.org>
61859
61860         * lib/relocatable.h (relocate): State whether result is freshly
61861         allocated or not.
61862         * lib/relocatable.c (relocate): Return a freshly allocated string
61863         instead of a pointer to a privately held string.
61864         Reported by Sylvain Beucler <beuc@gnu.org>.
61865
61866 2008-01-10  Colin Watson  <cjwatson@debian.org>
61867
61868         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
61869         s/S_ISNLK/S_ISLNK/.
61870
61871 2008-01-09  Bruno Haible  <bruno@clisp.org>
61872
61873         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
61874         and other files.
61875         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
61876         if it's only a guess.
61877         * modules/memmem: Simplify by depending on memmem-simple.
61878
61879 2008-01-09  Bruno Haible  <bruno@clisp.org>
61880
61881         Work around OpenBSD 4.0 tdelete() bug.
61882         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
61883         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
61884         macros and don't redefine the enum values.
61885         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
61886         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
61887         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
61888
61889 2008-01-09  Bruno Haible  <bruno@clisp.org>
61890
61891         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
61892         (main): Don't perform the tests if setlocale did not install a UTF-8
61893         locale. Needed on OpenBSD 4.0.
61894         * modules/wcwidth-tests (Depends-on): Add localcharset.
61895
61896 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61897
61898         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
61899         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
61900         * NEWS: announce this.
61901         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
61902
61903 2008-01-09  Simon Josefsson  <simon@josefsson.org>
61904         and Eric Blake  <ebb9@byu.net>
61905
61906         Add memmem-simple module.
61907         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
61908         (gl_FUNC_MEMMEM): Separate performance from presence checks.
61909         * modules/memmem-simple: New file.
61910         * modules/memmem (Description): Tweak.
61911         * MODULES.html.sh (string handling): Mention new module.
61912         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
61913         addressed by memmem-simple.
61914         * NEWS: Document the difference.
61915
61916 2008-01-09  Eric Blake  <ebb9@byu.net>
61917
61918         Give gcc some memmem optimization hints.
61919         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
61920         (strcasestr): Declare as pure.
61921         * modules/memmem (Maintainer): Claim my implementation.
61922
61923 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61924
61925         Support AIX 6.1 and higher.
61926         * build-aux/config.libpath: Likewise.
61927         * build-aux/config.rpath: Likewise.
61928
61929 2008-01-08  Jim Meyering  <meyering@redhat.com>
61930             Bruno Haible  <bruno@clisp.org>
61931
61932         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
61933         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
61934         Reported by Peter Fales in
61935         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
61936
61937 2008-01-08  Bruno Haible  <bruno@clisp.org>
61938
61939         * modules/unictype/category-of (Depends-on): Add
61940         unictype/category-none.
61941         * modules/unictype/category-and-tests (Depends-on): Add
61942         unictype/category-{L,N,Lu,Nd}.
61943         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
61944         * modules/unictype/category-or-tests (Depends-on): Add
61945         unictype/category-{L,N}.
61946         * modules/unictype/category-name-tests (Depends-on): Add
61947         unictype/category-{Z,Nl}.
61948         Reported by Simon Josefsson.
61949
61950 2008-01-08  Bruno Haible  <bruno@clisp.org>
61951
61952         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
61953         convention better.
61954         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
61955         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
61956         Reported by Peter Miller <millerp@canb.auug.org.au>.
61957
61958 2008-01-08  Eric Blake  <ebb9@byu.net>
61959
61960         Rewrite memmem to guarantee linear complexity without malloc.
61961         * lib/memmem.c (memmem): Use Two-Way rather than
61962         Knuth-Morris-Pratt, to allow O(1) space usage.
61963         (critical_factorization, two_way_short_needle)
61964         (two_way_long_needle): New functions.
61965         (knuth_morris_pratt): Delete.
61966         * modules/memmem (Depends-on): No longer need malloca or stdbool.
61967         Add stdint.
61968         * tests/test-memmem.c (main): Add tests for periodic needle and
61969         sublinear performance.
61970         * doc/functions/memmem.texi (memmem): Document other deficiencies
61971         in cygwin and older glibc.
61972
61973 2008-01-08  Bruno Haible  <bruno@clisp.org>
61974
61975         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
61976         augmentation.
61977
61978 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
61979
61980         Add a configure time option: --disable-acl.
61981         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
61982         AC_ARG_ENABLE(acl).
61983
61984 2008-01-06  Simon Josefsson  <simon@josefsson.org>
61985
61986         * tests/test-localename.c: Don't include obsolete "setenv.h".
61987
61988         * modules/localename-tests (Depends-on): Need unsetenv.
61989
61990 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61991
61992         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
61993
61994 2008-01-06  Colin Watson  <cjwatson@debian.org>
61995
61996         * users.txt: Add man-db.
61997
61998 2008-01-07  Bruno Haible  <bruno@clisp.org>
61999
62000         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
62001         previous section name.
62002
62003 2008-01-07  Bruno Haible  <bruno@clisp.org>
62004
62005         * lib/progname.c (set_program_name): Don't strip off a leading
62006         "lt-" prefix outside a .libs directory.
62007         Suggested by Paul Eggert.
62008
62009 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
62010             Bruno Haible  <bruno@clisp.org>
62011
62012         Improve memory cleanup in 'relocatable' module.
62013         * lib/relocatable.h (compute_curr_prefix): Change return type to
62014         'char *'.
62015         * lib/relocatable.c (compute_curr_prefix): Change return type to
62016         'char *'. Free curr_installdir after use.
62017         (relocate): Free curr_prefix_better after use.
62018         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
62019
62020 2008-01-01  Bruno Haible  <bruno@clisp.org>
62021
62022         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
62023         failure on older glibc systems.
62024         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62025
62026 2008-01-05  Eric Blake  <ebb9@byu.net>
62027
62028         Avoid quadratic system memmem.
62029         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
62030         Reported by Ralf Wildenhues.
62031
62032         Fix memmem test for mingw.
62033         * modules/memmem-tests (configure.ac): Check for alarm.
62034         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
62035         it.
62036         * doc/functions/memmem.texi: New file.
62037         * doc/gnulib.texi (Function Substitutes): Add memmem.
62038         Reported by Bruno Haible.
62039
62040 2008-01-04  Bruno Haible  <bruno@clisp.org>
62041
62042         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
62043         Require gl_HEADER_STRINGS_H_DEFAULTS, not
62044         gl_HEADER_STRING_H_DEFAULTS.
62045
62046 2008-01-04  Eric Blake  <ebb9@byu.net>
62047
62048         Shorten duration of memmem test.
62049         * tests/test-memmem.c (main): Use alarm to declare failure if test
62050         is taking too long.
62051         Reported by Ralf Wildenhues.
62052
62053 2007-12-21  Simon Josefsson  <simon@josefsson.org>
62054
62055         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
62056         string, needed by strerror.
62057
62058 2008-01-03  Colin Watson  <cjwatson@debian.org>
62059             Bruno Haible  <bruno@clisp.org>
62060
62061         * doc/gnulib-tool.texi (Localization): New section.
62062
62063 2008-01-02  Bruno Haible  <bruno@clisp.org>
62064
62065         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
62066         variables to 'unsigned char *' type.
62067         Reported by Paul Eggert.
62068
62069 2008-01-02  Jim Meyering  <jim@meyering.net>
62070
62071         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
62072
62073 2007-12-31  Jim Meyering  <jim@meyering.net>
62074
62075         Avoid use of private FTS type name.
62076         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
62077
62078 2007-12-30  Karl Berry  <karl@gnu.org>
62079
62080         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
62081         work around defect in Texinfo and/or the standalone Info browser.
62082
62083 2007-12-30  Bruno Haible  <bruno@clisp.org>
62084
62085         Unify 5 copies of the KMP code.
62086         * lib/str-kmp.h: New file.
62087         * lib/c-strcasestr.c: Include str-kmp.h.
62088         (knuth_morris_pratt): Remove function.
62089         (c_strcasestr): Update.
62090         * lib/c-strstr.c: Include str-kmp.h.
62091         (knuth_morris_pratt): Remove function.
62092         (c_strcasestr): Update.
62093         * lib/mbscasestr.c: Include str-kmp.h.
62094         (knuth_morris_pratt_unibyte): Remove function.
62095         * lib/mbsstr.c: Include str-kmp.h.
62096         (knuth_morris_pratt_unibyte): Remove function.
62097         * lib/strcasestr.c: Include str-kmp.h.
62098         (knuth_morris_pratt): Remove function.
62099         (strcasestr): Update.
62100         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
62101         * modules/c-strstr (Files): Likewise.
62102         * modules/mbscasestr (Files): Likewise.
62103         * modules/mbsstr (Files): Likewise.
62104         * modules/strcasestr (Files): Likewise.
62105         Suggested by Paul Eggert.
62106
62107 2007-12-30  Bruno Haible  <bruno@clisp.org>
62108
62109         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
62110         defined.
62111
62112 2007-12-30  Bruno Haible  <bruno@clisp.org>
62113
62114         * lib/xmalloca.h: Include xalloc.h.
62115         (xnmalloca): New macro.
62116
62117 2007-12-30  Bruno Haible  <bruno@clisp.org>
62118
62119         * lib/malloca.h (nmalloca): New macro.
62120         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
62121         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
62122         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
62123         knuth_morris_pratt_multibyte): Likewise.
62124         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
62125         knuth_morris_pratt_multibyte): Likewise.
62126         * lib/memmem.c (knuth_morris_pratt): Likewise.
62127         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
62128
62129 2007-12-25  Bruno Haible  <bruno@clisp.org>
62130
62131         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
62132         * lib/glob.c: Don't include openat.h.
62133         (link_exists2_p): Add back the code that deals with the
62134         !GLOB_ALTDIRFUNC case.
62135         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
62136         let it do the filename concatenation.
62137         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
62138         * modules/glob (Depends-on): Remove openat.
62139
62140 2007-12-31  Bruno Haible  <bruno@clisp.org>
62141
62142         * modules/dirfd (License): Change to LGPLv2+.
62143         Approved by Jim Meyering.
62144
62145 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62146
62147         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
62148         when multiplying M by sizeof (size_t).
62149
62150 2007-12-10  Martin Lambers  <marlam@marlam.de>
62151
62152         Override getpagesize on mingw.
62153         * lib/getpagesize.c: New file.
62154         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
62155         * modules/getpagesize (Files): Add lib/getpagesize.c.
62156         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
62157         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62158         REPLACE_GETPAGESIZE.
62159         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
62160
62161 2007-12-25  Bruno Haible  <bruno@clisp.org>
62162
62163         * modules/localcharset (Notice): New field.
62164         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
62165         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
62166
62167 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62168             Bruno Haible  <bruno@clisp.org>
62169
62170         Avoid using the syntax symbol() in formatted documentation.
62171         * MODULES.html.sh (func_module): When replacing symbol() with a
62172         hyperlink, remove the parentheses. Show an error if some remain.
62173         Recognize and render the '...' syntax.
62174         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
62175         Rework. Add paragraph about GCC's inlining.
62176         * doc/alloca.texi: Likewise.
62177         * doc/error.texi: Remove parentheses from symbol reference.
62178         * doc/gnulib-intro.texi: Likewise.
62179         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
62180         * modules/fnmatch (Description): Reword to say "the ... function".
62181         * modules/full-read (Description): Likewise.
62182         * modules/full-write (Description): Likewise.
62183         * modules/safe-read (Description): Likewise.
62184         * modules/safe-write (Description): Likewise.
62185         * modules/strchrnul (Description): Likewise.
62186         * modules/trim (Description): Likewise.
62187         * modules/error (Description): Remove parentheses from symbol
62188         references.
62189         * modules/verror (Description): Likewise.
62190         Reported by Karl Berry.
62191
62192 2007-12-25  Bruno Haible  <bruno@clisp.org>
62193
62194         Fixup after 2007-10-16 commit.
62195         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
62196
62197 2007-12-24  Bruno Haible  <bruno@clisp.org>
62198
62199         Make --enable-relocatable work with DESTDIR.
62200         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
62201         to compute installdir from destprog.
62202         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
62203         also set the RELOC_DESTDIR variable.
62204         Reported by Левашев Иван <octagram@bluebottle.com>.
62205
62206 2007-12-24  Bruno Haible  <bruno@clisp.org>
62207
62208         Fix link error due to xalloc_die().
62209         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
62210         of xreadlink.
62211         * lib/relocwrapper.c: Update comments.
62212         * build-aux/install-reloc: Remove xreadlink.c from file list.
62213         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
62214         xreadlink.c.
62215         Reported by Левашев Иван <octagram@bluebottle.com>.
62216
62217 2007-12-24  Bruno Haible  <bruno@clisp.org>
62218
62219         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
62220         * lib/setenv.h: Remove file.
62221         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
62222         lib/setenv.h.
62223         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
62224         (Depends-on): Add stdlib.
62225         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
62226         gl_FUNC_UNSETENV.
62227         (Include): Replace setenv.h with <stdlib.h>.
62228         * modules/unsetenv: New file.
62229         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
62230         * lib/unsetenv.c: Include <stdlib.h> first.
62231         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
62232         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
62233         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
62234         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
62235         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
62236         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62237         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
62238         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62239         * doc/functions/unsetenv.texi: Update.
62240         * modules/xsetenv (Depends-on): Add unsetenv.
62241         * modules/getdate (Depends-on): Likewise.
62242         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
62243         * lib/xsetenv.c: Don't include setenv.h.
62244         * lib/getdate.y: Likewise.
62245         * lib/relocwrapper.c: Likewise.
62246         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
62247         (Depends-on): Add stdlib.
62248         * NEWS: Mention the changes.
62249         Reported by Левашев Иван <octagram@bluebottle.com>.
62250
62251 2007-12-23  Bruno Haible  <bruno@clisp.org>
62252
62253         * lib/memmem.c (memmem): Use lowercase variable names. Tab
62254         indentation.
62255
62256 2007-12-23  Bruno Haible  <bruno@clisp.org>
62257
62258         * lib/c-strcasestr.c: Add more comments.
62259         * lib/c-strstr.c: Likewise.
62260         * lib/mbscasestr.c: Likewise.
62261         * lib/mbsstr.c: Likewise.
62262         * lib/strcasestr.c: Likewise.
62263         * lib/memmem.c: Likewise.
62264
62265 2007-12-23  Bruno Haible  <bruno@clisp.org>
62266
62267         * tests/test-memmem.c: Include <string.h> first.
62268
62269 2007-12-22  Bruno Haible  <bruno@clisp.org>
62270
62271         * gnulib-tool (func_create_testdir): Change $auxdir while generating
62272         the contents of $testsbase.
62273         Reported by Ralf Wildenhues.
62274
62275 2007-12-22  Bruno Haible  <bruno@clisp.org>
62276
62277         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
62278         two variables local_ldadd_before, local_ldadd_last.
62279
62280 2007-12-20  Eric Blake  <ebb9@byu.net>
62281
62282         Work around circular library issue when cross-compiling.
62283         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
62284         that progname.o does not need to pull in rpl_memcmp.
62285
62286 2007-12-19  Eric Blake  <ebb9@byu.net>
62287
62288         Fix memmem to avoid O(n^2) worst-case complexity.
62289         * lib/memmem.c (knuth_morris_pratt): New function.
62290         (memmem): Use it if first few naive iterations fail.
62291         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
62292         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
62293         * modules/memchr (License): Likewise.
62294         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
62295         malloca.
62296         * tests/test-memmem.c: Rewrite, borrowing ideas from
62297         test-mbsstr1.c; the old version wouldn't even compile!
62298         * modules/memmem-tests: New file.
62299         * lib/string.in.h (rpl_memmem): Add declaration.
62300         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
62301         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
62302         REPLACE_MEMMEM.
62303
62304 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62305
62306         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
62307         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
62308         before any system include files, and undef after them all.  This
62309         should fix a problem on VMS reported by John E. Malmberg in
62310         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
62311
62312 2007-12-17  Eric Blake  <ebb9@byu.net>
62313
62314         Revert addition of verify, for BSD/OS.
62315         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
62316         can't handle large files, for the sake of obsolete platforms.
62317         * modules/fseeko (Depends-on): Remove verify.
62318         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
62319         * doc/functions/ftello.texi (ftello): Likewise.
62320         * doc/functions/fgetpos.texi (fgetpos): Likewise.
62321         Reported by Larry Jones.
62322
62323 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
62324
62325         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
62326         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
62327
62328 2007-12-17  Jim Meyering  <meyering@redhat.com>
62329
62330         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
62331         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
62332         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
62333         * modules/getcwd (Depends-on): Add openat.
62334         Reported by Petr Salinger.
62335
62336 2007-12-17  Bruno Haible  <bruno@clisp.org>
62337
62338         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
62339         avoid a segmentation fault of the configure test on x86_64 systems.
62340
62341 2007-12-15  Jim Meyering  <meyering@redhat.com>
62342
62343         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
62344
62345 2007-12-13  Eric Blake  <ebb9@byu.net>
62346
62347         Another fseek test.
62348         * tests/test-fseek.c (main): Also test ungetc handling.
62349         * tests/test-fseeko.c (main): Likewise.
62350         * modules/fseeko (Depends-on): Add verify.
62351         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
62352         large.
62353         Reported by Larry Jones.
62354
62355         Fix fseeko on mingw.
62356         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
62357         seek.
62358
62359         Beef up fseek tests.
62360         * tests/test-fseek.c (main): Also test eof handling.
62361         * tests/test-fseeko.c (main): Likewise.
62362         Reported by Larry Jones.
62363
62364 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
62365
62366         Fix fseeko on BSD-based platforms.
62367         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
62368         successful seek.
62369
62370 2007-12-12  Eric Blake  <ebb9@byu.net>
62371
62372         Allow circular dependency of separate libtests.a
62373         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
62374         when use_libtests.
62375
62376 2007-12-11  Eric Blake  <ebb9@byu.net>
62377
62378         Fix bug with -0.0L in previous patch.
62379         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
62380         * tests/test-isnan.c (main): Also test on zeroes.
62381         * tests/test-isnanf.c (main): Likewise.
62382         * tests/test-isnanl.h (main): Likewise.
62383
62384         Detect pseudo-denormals on x86 even when cross-compiling.
62385         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
62386         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
62387         invalid bit patterns that happen to satisfy ==.
62388
62389         Avoid link failures with separate libtests.a.
62390         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
62391         last, to satisfy circular dependencies.
62392
62393 2007-12-11  Eric Blake  <ebb9@byu.net>
62394         and Bruno Haible  <bruno@clisp.org>
62395
62396         Fix OpenBSD 4.0 <float.h> handling of long double.
62397         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
62398         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
62399         * doc/headers/float.texi (float.h): Document OpenBSD bug.
62400
62401 2007-12-11  Jim Meyering  <meyering@redhat.com>
62402
62403         * users.txt: Add libvirt.
62404
62405         Support versions of autoconf prior to 2.59c.
62406         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
62407         if it is not already defined.
62408
62409 2007-12-09  Bruno Haible  <bruno@clisp.org>
62410
62411         Let 'gnulib-tool --import' collect sources needed for the tests in
62412         tests/ rather than in lib/.
62413         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
62414         argument. If true, add rules to generate libtests.a, and put libtests.a
62415         into $(LDADD). Consider source files in subdirectories and set
62416         uses_subdirs.
62417         (func_emit_initmacro_start, func_emit_initmacro_end,
62418         func_emit_initmacro_done): Pass all arguments explicitly.
62419         (func_import): Determine two module lists main_modules,
62420         testsrelated_modules. Determine use_libtests. Determine two variables
62421         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
62422         instead of just sed_transform_lib_file. Determine two variables
62423         main_files and testsrelated_files. Compute 'files' as the union of
62424         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
62425         func_add_or_update. In the generated gnulib-comp.m4, collect the
62426         object files for tests/ in different variables than those for lib/.
62427         Substitute LIBTESTS_LIBDEPS.
62428         (func_create_testdir): Combine the uses_subdirs results from
62429         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
62430
62431 2007-12-09  Bruno Haible  <bruno@clisp.org>
62432
62433         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
62434         the build-aux directory.
62435
62436 2007-12-09  Bruno Haible  <bruno@clisp.org>
62437
62438         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
62439         introduced on 2006-09-09.
62440
62441 2007-12-07  Jim Meyering  <meyering@redhat.com>
62442
62443         Let these macros work also with autoconf-2.59.
62444         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
62445         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
62446         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62447
62448 2007-12-06  Jim Meyering  <meyering@redhat.com>
62449
62450         Avoid a configure-time syntax error in gl_FUNC_ACL.
62451         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
62452         function in each branch, before testing the cache variable.
62453
62454 2007-12-04  Eric Blake  <ebb9@byu.net>
62455
62456         Make scripts executable.
62457         * build-aux/config.guess: Add execute permissions.
62458         * build-aux/config.sub: Likewise.
62459         * build-aux/gendocs.sh: Likewise.
62460
62461         Fix frexp on mingw.
62462         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
62463         cross-compiling.
62464         * doc/functions/frexp.texi (frexp): Document the bug.
62465
62466         Make cygwin fseeko check more reliable.
62467         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
62468         version numbers, rather than unrelated feature check.
62469         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
62470         * doc/functions/ftello.texi (ftello): Likewise.
62471         Reported by Bruno Haible.
62472
62473         * m4/strerror.m4: Bump version number.
62474
62475 2007-12-03  Bruno Haible  <bruno@clisp.org>
62476
62477         * doc/functions/mprotect.texi: Mention the mingw problem.
62478
62479 2007-12-03  Eric Blake  <ebb9@byu.net>
62480
62481         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
62482         REPLACE_STRERROR is initialized before this macro.
62483
62484 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
62485
62486         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
62487         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
62488         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
62489         put -lsec in even for programs other than 'ls'.  This fixes a problem
62490         for gettext reported by Bruno Haible in
62491         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
62492         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
62493         Add support for Solaris 10.  This isn't efficient, but should get the
62494         job done for now.
62495
62496 2007-12-03  James Youngman  <jay@gnu.org>
62497
62498         * doc/regexprops-generic.texi: change "an close-group" to "a
62499         close-group" and "illegal" to "not allowed".
62500
62501 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62502
62503         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
62504         pr_byname.h. Needed for the rare case when the maintainer has done
62505         "make maintainer-clean" in the source directory and then attempts a
62506         build outside the source directory.
62507         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
62508         scripts_byname.h.
62509
62510 2007-12-02  Martin Lambers <marlam@marlam.de>
62511             Bruno Haible  <bruno@clisp.org>
62512
62513         * lib/getpagesize.h: Remove file.
62514         * lib/unistd.in.h: Include declaration of getpagesize here.
62515         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
62516         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
62517         HAVE_SYS_PARAM_H.
62518         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
62519         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
62520         * modules/getpagesize (Files): Remove lib/getpagesize.h.
62521         (Depends-on): Add unistd.
62522         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62523         (Include): Use <unistd.h> instead of getpagesize.h.
62524         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
62525         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
62526         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
62527         gl_GETPAGESIZE invocation, already handled by module dependency.
62528         * lib/pagealign_alloc.c: Don't include getpagesize.h.
62529
62530 2007-12-02  Bruno Haible  <bruno@clisp.org>
62531
62532         * modules/strings-tests: New file.
62533         * tests/test-strings.c: New file.
62534
62535         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
62536         * lib/strings.in.h: New file.
62537         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
62538         * m4/strings_h.m4: New file.
62539         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
62540         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
62541         * modules/strings: New file.
62542         * modules/string (Makefile.am): Update.
62543         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
62544         Reported by Karl Berry.
62545
62546 2007-12-01  Eric Blake  <ebb9@byu.net>
62547
62548         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
62549         accommodate fix in cygwin 1.5.25.
62550
62551 2007-12-01  Jim Meyering  <meyering@redhat.com>
62552
62553         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
62554         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
62555         that would inhibit utf8-optimization of a regexp containing line-
62556         or buffer-anchors, e.g., `^', `$'.
62557
62558 2007-11-30  Bruno Haible  <bruno@clisp.org>
62559
62560         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
62561         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
62562         glthread_recursive_lock_init.
62563         * lib/lock.c (glthread_recursive_lock_init)
62564         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
62565         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
62566
62567 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
62568
62569         New function qset_acl, like set_acl but with syscall semantics.
62570         * lib/acl.h (qset_acl): New decl.
62571         * lib/acl.c (qset_acl): New function.
62572         (set_acl): Use new function.  Use more-consistent diagnostics.
62573
62574 2007-11-28  Jim Meyering  <meyering@redhat.com>
62575
62576         * modules/physmem (License): Change from GPL to LGPLv2+.
62577
62578 2007-11-26  Bruno Haible  <bruno@clisp.org>
62579
62580         * lib/vasnprintf.c (decode_long_double): Don't abort if the
62581         'long double' type has excess precision.
62582         Reported by Jim Meyering in
62583         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
62584
62585 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62586
62587         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
62588         Sync from <http://gnu.org/licenses>.
62589         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
62590         with license text from same location.
62591         * doc/maintain.texi, doc/standards.texi:  Sync from
62592         <http://savannah.gnu.org/projects/gnustandards>.
62593
62594 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
62595         and Jim Meyering  <meyering@redhat.com>
62596
62597         Adjust getdate' grammar to accept a slightly more regular language.
62598         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
62599         Before, the former was rejected.
62600         * lib/getdate.y (digits_to_date_time): New function, factored
62601         out of ...
62602         (number): ...here.  Just call digits_to_date_time.
62603         (hybrid): New non-terminal to handle an <unsigned number,
62604         signed relative offset> sequence consistently.
62605
62606 2007-11-18  Jim Meyering  <meyering@redhat.com>
62607
62608         Pull my changes from coreutils:
62609         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
62610         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
62611         use of $gnulib_tool_option_extras, so that it's separated from the
62612         preceding argument.
62613
62614         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
62615         * build-aux/bootstrap (cp_mark_as_generated): Create any required
62616         parent destination directories before copying a file into place.
62617
62618 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
62619
62620         bootstrap: work also with 4-argument variant of AC_INIT
62621         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
62622
62623 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
62624
62625         Port test-getaddrinfo to Solaris.
62626         Problem reported by Bruno Haible in
62627         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
62628         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
62629         explanation of setting 'hints'.
62630         Don't reject an implementation merely because it returns EAI_SERVICE.
62631         (EAI_SERVICE): Define to 0 if not defined.
62632
62633 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
62634
62635         The license of gnu-make and posix-shell is now "GPLed build tool".
62636         * modules/gnu-make (License): Likewise.
62637         * modules/posix-shell (License): Likewise.
62638
62639         New module posix-shell, for determining a POSIX shell
62640         or perhaps something that is close enough to a POSIX shell.
62641         * m4/posix-shell.m4: New file.
62642         * modules/posix-shell: New file.
62643
62644         * MODULES.html.sh: Mention new module.
62645
62646         New module gnu-make, for determining whether we're using GNU Make.
62647         * m4/gnu-make.m4: New file.
62648         * modules/gnu-make: New file.
62649         * MODULES.html.sh: Mention new module.
62650
62651 2007-11-14  Jim Meyering  <meyering@redhat.com>
62652
62653         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
62654         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
62655         use this macro to create a function _definition_.
62656         Remove useless "#undef ARGMATCH_DIE".
62657
62658 2007-11-14  Bruno Haible  <bruno@clisp.org>
62659
62660         * lib/config.charset: Update for OpenBSD 4.1.
62661         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
62662
62663 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
62664
62665         Document 64-bit #if problems in stdint.texi.
62666         * doc/headers/stdint.texi (stdint.h): Mention problems with
62667         64-bit-#if, and how to work around them.
62668
62669         Don't insist on 'long long int' support in the preprocessor.  It
62670         breaks too many things.  For example, PRIdMAX still uses a 'long
62671         long int' format with the latest Sun compiler, even though
62672         HAVE_LONG_LONG_INT isn't defined due to that compiler's
62673         preprocessor problem.  This causes the latest coreutils to dump
62674         core on Solaris 10 sparc with the Sun C compiler.
62675         Instead, fix the 2007-10-16 problem in a different way, by evaluating
62676         the troublesome expressions at configure-time, not at #if-time.
62677         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
62678         preprocessor.
62679         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
62680         compile-time C checks, done at 'configure'-time.
62681         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
62682         * modules/inttypes (Makefile): Substitute the new symbols that
62683         gl_INTTYPES_H now generates.
62684         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
62685
62686 2007-11-12  Bruno Haible  <bruno@clisp.org>
62687
62688         Tests for Unicode character classification functions.
62689
62690         * modules/unictype/bidicategory-byname-tests: New file.
62691         * modules/unictype/bidicategory-name-tests: New file.
62692         * modules/unictype/bidicategory-of-tests: New file.
62693         * modules/unictype/bidicategory-test-tests: New file.
62694         * modules/unictype/block-list-tests: New file.
62695         * modules/unictype/block-of-tests: New file.
62696         * modules/unictype/block-test-tests: New file.
62697         * modules/unictype/category-C-tests: New file.
62698         * modules/unictype/category-Cc-tests: New file.
62699         * modules/unictype/category-Cf-tests: New file.
62700         * modules/unictype/category-Cn-tests: New file.
62701         * modules/unictype/category-Co-tests: New file.
62702         * modules/unictype/category-Cs-tests: New file.
62703         * modules/unictype/category-L-tests: New file.
62704         * modules/unictype/category-Ll-tests: New file.
62705         * modules/unictype/category-Lm-tests: New file.
62706         * modules/unictype/category-Lo-tests: New file.
62707         * modules/unictype/category-Lt-tests: New file.
62708         * modules/unictype/category-Lu-tests: New file.
62709         * modules/unictype/category-M-tests: New file.
62710         * modules/unictype/category-Mc-tests: New file.
62711         * modules/unictype/category-Me-tests: New file.
62712         * modules/unictype/category-Mn-tests: New file.
62713         * modules/unictype/category-N-tests: New file.
62714         * modules/unictype/category-Nd-tests: New file.
62715         * modules/unictype/category-Nl-tests: New file.
62716         * modules/unictype/category-No-tests: New file.
62717         * modules/unictype/category-P-tests: New file.
62718         * modules/unictype/category-Pc-tests: New file.
62719         * modules/unictype/category-Pd-tests: New file.
62720         * modules/unictype/category-Pe-tests: New file.
62721         * modules/unictype/category-Pf-tests: New file.
62722         * modules/unictype/category-Pi-tests: New file.
62723         * modules/unictype/category-Po-tests: New file.
62724         * modules/unictype/category-Ps-tests: New file.
62725         * modules/unictype/category-S-tests: New file.
62726         * modules/unictype/category-Sc-tests: New file.
62727         * modules/unictype/category-Sk-tests: New file.
62728         * modules/unictype/category-Sm-tests: New file.
62729         * modules/unictype/category-So-tests: New file.
62730         * modules/unictype/category-Z-tests: New file.
62731         * modules/unictype/category-Zl-tests: New file.
62732         * modules/unictype/category-Zp-tests: New file.
62733         * modules/unictype/category-Zs-tests: New file.
62734         * modules/unictype/category-and-not-tests: New file.
62735         * modules/unictype/category-and-tests: New file.
62736         * modules/unictype/category-byname-tests: New file.
62737         * modules/unictype/category-name-tests: New file.
62738         * modules/unictype/category-none-tests: New file.
62739         * modules/unictype/category-of-tests: New file.
62740         * modules/unictype/category-or-tests: New file.
62741         * modules/unictype/category-test-withtable-tests: New file.
62742         * modules/unictype/combining-class-tests: New file.
62743         * modules/unictype/ctype-alnum-tests: New file.
62744         * modules/unictype/ctype-alpha-tests: New file.
62745         * modules/unictype/ctype-blank-tests: New file.
62746         * modules/unictype/ctype-cntrl-tests: New file.
62747         * modules/unictype/ctype-digit-tests: New file.
62748         * modules/unictype/ctype-graph-tests: New file.
62749         * modules/unictype/ctype-lower-tests: New file.
62750         * modules/unictype/ctype-print-tests: New file.
62751         * modules/unictype/ctype-punct-tests: New file.
62752         * modules/unictype/ctype-space-tests: New file.
62753         * modules/unictype/ctype-upper-tests: New file.
62754         * modules/unictype/ctype-xdigit-tests: New file.
62755         * modules/unictype/decimal-digit-tests: New file.
62756         * modules/unictype/digit-tests: New file.
62757         * modules/unictype/mirror-tests: New file.
62758         * modules/unictype/numeric-tests: New file.
62759         * modules/unictype/property-alphabetic-tests: New file.
62760         * modules/unictype/property-ascii-hex-digit-tests: New file.
62761         * modules/unictype/property-bidi-arabic-digit-tests: New file.
62762         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
62763         * modules/unictype/property-bidi-block-separator-tests: New file.
62764         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
62765         * modules/unictype/property-bidi-common-separator-tests: New file.
62766         * modules/unictype/property-bidi-control-tests: New file.
62767         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
62768         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
62769         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
62770         * modules/unictype/property-bidi-european-digit-tests: New file.
62771         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
62772         * modules/unictype/property-bidi-left-to-right-tests: New file.
62773         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
62774         * modules/unictype/property-bidi-other-neutral-tests: New file.
62775         * modules/unictype/property-bidi-pdf-tests: New file.
62776         * modules/unictype/property-bidi-segment-separator-tests: New file.
62777         * modules/unictype/property-bidi-whitespace-tests: New file.
62778         * modules/unictype/property-byname-tests: New file.
62779         * modules/unictype/property-combining-tests: New file.
62780         * modules/unictype/property-composite-tests: New file.
62781         * modules/unictype/property-currency-symbol-tests: New file.
62782         * modules/unictype/property-dash-tests: New file.
62783         * modules/unictype/property-decimal-digit-tests: New file.
62784         * modules/unictype/property-default-ignorable-code-point-tests: New file.
62785         * modules/unictype/property-deprecated-tests: New file.
62786         * modules/unictype/property-diacritic-tests: New file.
62787         * modules/unictype/property-extender-tests: New file.
62788         * modules/unictype/property-format-control-tests: New file.
62789         * modules/unictype/property-grapheme-base-tests: New file.
62790         * modules/unictype/property-grapheme-extend-tests: New file.
62791         * modules/unictype/property-grapheme-link-tests: New file.
62792         * modules/unictype/property-hex-digit-tests: New file.
62793         * modules/unictype/property-hyphen-tests: New file.
62794         * modules/unictype/property-id-continue-tests: New file.
62795         * modules/unictype/property-id-start-tests: New file.
62796         * modules/unictype/property-ideographic-tests: New file.
62797         * modules/unictype/property-ids-binary-operator-tests: New file.
62798         * modules/unictype/property-ids-trinary-operator-tests: New file.
62799         * modules/unictype/property-ignorable-control-tests: New file.
62800         * modules/unictype/property-iso-control-tests: New file.
62801         * modules/unictype/property-join-control-tests: New file.
62802         * modules/unictype/property-left-of-pair-tests: New file.
62803         * modules/unictype/property-line-separator-tests: New file.
62804         * modules/unictype/property-logical-order-exception-tests: New file.
62805         * modules/unictype/property-lowercase-tests: New file.
62806         * modules/unictype/property-math-tests: New file.
62807         * modules/unictype/property-non-break-tests: New file.
62808         * modules/unictype/property-not-a-character-tests: New file.
62809         * modules/unictype/property-numeric-tests: New file.
62810         * modules/unictype/property-other-alphabetic-tests: New file.
62811         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
62812         * modules/unictype/property-other-grapheme-extend-tests: New file.
62813         * modules/unictype/property-other-id-continue-tests: New file.
62814         * modules/unictype/property-other-id-start-tests: New file.
62815         * modules/unictype/property-other-lowercase-tests: New file.
62816         * modules/unictype/property-other-math-tests: New file.
62817         * modules/unictype/property-other-uppercase-tests: New file.
62818         * modules/unictype/property-paired-punctuation-tests: New file.
62819         * modules/unictype/property-paragraph-separator-tests: New file.
62820         * modules/unictype/property-pattern-syntax-tests: New file.
62821         * modules/unictype/property-pattern-white-space-tests: New file.
62822         * modules/unictype/property-private-use-tests: New file.
62823         * modules/unictype/property-punctuation-tests: New file.
62824         * modules/unictype/property-quotation-mark-tests: New file.
62825         * modules/unictype/property-radical-tests: New file.
62826         * modules/unictype/property-sentence-terminal-tests: New file.
62827         * modules/unictype/property-soft-dotted-tests: New file.
62828         * modules/unictype/property-space-tests: New file.
62829         * modules/unictype/property-terminal-punctuation-tests: New file.
62830         * modules/unictype/property-test-tests: New file.
62831         * modules/unictype/property-titlecase-tests: New file.
62832         * modules/unictype/property-unassigned-code-value-tests: New file.
62833         * modules/unictype/property-unified-ideograph-tests: New file.
62834         * modules/unictype/property-uppercase-tests: New file.
62835         * modules/unictype/property-variation-selector-tests: New file.
62836         * modules/unictype/property-white-space-tests: New file.
62837         * modules/unictype/property-xid-continue-tests: New file.
62838         * modules/unictype/property-xid-start-tests: New file.
62839         * modules/unictype/property-zero-width-tests: New file.
62840         * modules/unictype/scripts-tests: New file.
62841         * modules/unictype/syntax-c-ident-tests: New file.
62842         * modules/unictype/syntax-c-whitespace-tests: New file.
62843         * modules/unictype/syntax-java-ident-tests: New file.
62844         * modules/unictype/syntax-java-whitespace-tests: New file.
62845         * tests/unictype/test-bidi_byname.c: New file.
62846         * tests/unictype/test-bidi_name.c: New file.
62847         * tests/unictype/test-bidi_of.c: New file.
62848         * tests/unictype/test-bidi_test.c: New file.
62849         * tests/unictype/test-block_list.c: New file.
62850         * tests/unictype/test-block_of.c: New file.
62851         * tests/unictype/test-block_test.c: New file.
62852         * tests/unictype/test-categ_and.c: New file.
62853         * tests/unictype/test-categ_and_not.c: New file.
62854         * tests/unictype/test-categ_byname.c: New file.
62855         * tests/unictype/test-categ_name.c: New file.
62856         * tests/unictype/test-categ_none.c: New file.
62857         * tests/unictype/test-categ_of.c: New file.
62858         * tests/unictype/test-categ_or.c: New file.
62859         * tests/unictype/test-categ_test_withtable.c: New file.
62860         * tests/unictype/test-combining.c: New file.
62861         * tests/unictype/test-decdigit.c: New file.
62862         * tests/unictype/test-digit.c: New file.
62863         * tests/unictype/test-mirror.c: New file.
62864         * tests/unictype/test-numeric.c: New file.
62865         * tests/unictype/test-pr_byname.c: New file.
62866         * tests/unictype/test-pr_test.c: New file.
62867         * tests/unictype/test-predicate-part1.h: New file.
62868         * tests/unictype/test-predicate-part2.h: New file.
62869         * tests/unictype/test-scripts.c: New file.
62870         * tests/unictype/test-sy_c_ident.c: New file.
62871         * tests/unictype/test-sy_java_ident.c: New file.
62872
62873         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
62874         for Unicode 5.0.0.
62875         * tests/unictype/test-categ_Cc.c: Likewise.
62876         * tests/unictype/test-categ_Cf.c: Likewise.
62877         * tests/unictype/test-categ_Cn.c: Likewise.
62878         * tests/unictype/test-categ_Co.c: Likewise.
62879         * tests/unictype/test-categ_Cs.c: Likewise.
62880         * tests/unictype/test-categ_L.c: Likewise.
62881         * tests/unictype/test-categ_Ll.c: Likewise.
62882         * tests/unictype/test-categ_Lm.c: Likewise.
62883         * tests/unictype/test-categ_Lo.c: Likewise.
62884         * tests/unictype/test-categ_Lt.c: Likewise.
62885         * tests/unictype/test-categ_Lu.c: Likewise.
62886         * tests/unictype/test-categ_M.c: Likewise.
62887         * tests/unictype/test-categ_Mc.c: Likewise.
62888         * tests/unictype/test-categ_Me.c: Likewise.
62889         * tests/unictype/test-categ_Mn.c: Likewise.
62890         * tests/unictype/test-categ_N.c: Likewise.
62891         * tests/unictype/test-categ_Nd.c: Likewise.
62892         * tests/unictype/test-categ_Nl.c: Likewise.
62893         * tests/unictype/test-categ_No.c: Likewise.
62894         * tests/unictype/test-categ_P.c: Likewise.
62895         * tests/unictype/test-categ_Pc.c: Likewise.
62896         * tests/unictype/test-categ_Pd.c: Likewise.
62897         * tests/unictype/test-categ_Pe.c: Likewise.
62898         * tests/unictype/test-categ_Pf.c: Likewise.
62899         * tests/unictype/test-categ_Pi.c: Likewise.
62900         * tests/unictype/test-categ_Po.c: Likewise.
62901         * tests/unictype/test-categ_Ps.c: Likewise.
62902         * tests/unictype/test-categ_S.c: Likewise.
62903         * tests/unictype/test-categ_Sc.c: Likewise.
62904         * tests/unictype/test-categ_Sk.c: Likewise.
62905         * tests/unictype/test-categ_Sm.c: Likewise.
62906         * tests/unictype/test-categ_So.c: Likewise.
62907         * tests/unictype/test-categ_Z.c: Likewise.
62908         * tests/unictype/test-categ_Zl.c: Likewise.
62909         * tests/unictype/test-categ_Zp.c: Likewise.
62910         * tests/unictype/test-categ_Zs.c: Likewise.
62911         * tests/unictype/test-ctype_alnum.c: Likewise.
62912         * tests/unictype/test-ctype_alpha.c: Likewise.
62913         * tests/unictype/test-ctype_blank.c: Likewise.
62914         * tests/unictype/test-ctype_cntrl.c: Likewise.
62915         * tests/unictype/test-ctype_digit.c: Likewise.
62916         * tests/unictype/test-ctype_graph.c: Likewise.
62917         * tests/unictype/test-ctype_lower.c: Likewise.
62918         * tests/unictype/test-ctype_print.c: Likewise.
62919         * tests/unictype/test-ctype_punct.c: Likewise.
62920         * tests/unictype/test-ctype_space.c: Likewise.
62921         * tests/unictype/test-ctype_upper.c: Likewise.
62922         * tests/unictype/test-ctype_xdigit.c: Likewise.
62923         * tests/unictype/test-decdigit.h: Likewise.
62924         * tests/unictype/test-digit.h: Likewise.
62925         * tests/unictype/test-numeric.h: Likewise.
62926         * tests/unictype/test-pr_alphabetic.c: Likewise.
62927         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
62928         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
62929         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
62930         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
62931         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
62932         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
62933         * tests/unictype/test-pr_bidi_control.c: Likewise.
62934         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
62935         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
62936         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
62937         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
62938         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
62939         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
62940         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
62941         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
62942         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
62943         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
62944         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
62945         * tests/unictype/test-pr_combining.c: Likewise.
62946         * tests/unictype/test-pr_composite.c: Likewise.
62947         * tests/unictype/test-pr_currency_symbol.c: Likewise.
62948         * tests/unictype/test-pr_dash.c: Likewise.
62949         * tests/unictype/test-pr_decimal_digit.c: Likewise.
62950         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
62951         * tests/unictype/test-pr_deprecated.c: Likewise.
62952         * tests/unictype/test-pr_diacritic.c: Likewise.
62953         * tests/unictype/test-pr_extender.c: Likewise.
62954         * tests/unictype/test-pr_format_control.c: Likewise.
62955         * tests/unictype/test-pr_grapheme_base.c: Likewise.
62956         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
62957         * tests/unictype/test-pr_grapheme_link.c: Likewise.
62958         * tests/unictype/test-pr_hex_digit.c: Likewise.
62959         * tests/unictype/test-pr_hyphen.c: Likewise.
62960         * tests/unictype/test-pr_id_continue.c: Likewise.
62961         * tests/unictype/test-pr_id_start.c: Likewise.
62962         * tests/unictype/test-pr_ideographic.c: Likewise.
62963         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
62964         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
62965         * tests/unictype/test-pr_ignorable_control.c: Likewise.
62966         * tests/unictype/test-pr_iso_control.c: Likewise.
62967         * tests/unictype/test-pr_join_control.c: Likewise.
62968         * tests/unictype/test-pr_left_of_pair.c: Likewise.
62969         * tests/unictype/test-pr_line_separator.c: Likewise.
62970         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
62971         * tests/unictype/test-pr_lowercase.c: Likewise.
62972         * tests/unictype/test-pr_math.c: Likewise.
62973         * tests/unictype/test-pr_non_break.c: Likewise.
62974         * tests/unictype/test-pr_not_a_character.c: Likewise.
62975         * tests/unictype/test-pr_numeric.c: Likewise.
62976         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
62977         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
62978         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
62979         * tests/unictype/test-pr_other_id_continue.c: Likewise.
62980         * tests/unictype/test-pr_other_id_start.c: Likewise.
62981         * tests/unictype/test-pr_other_lowercase.c: Likewise.
62982         * tests/unictype/test-pr_other_math.c: Likewise.
62983         * tests/unictype/test-pr_other_uppercase.c: Likewise.
62984         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
62985         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
62986         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
62987         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
62988         * tests/unictype/test-pr_private_use.c: Likewise.
62989         * tests/unictype/test-pr_punctuation.c: Likewise.
62990         * tests/unictype/test-pr_quotation_mark.c: Likewise.
62991         * tests/unictype/test-pr_radical.c: Likewise.
62992         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
62993         * tests/unictype/test-pr_soft_dotted.c: Likewise.
62994         * tests/unictype/test-pr_space.c: Likewise.
62995         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
62996         * tests/unictype/test-pr_titlecase.c: Likewise.
62997         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
62998         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
62999         * tests/unictype/test-pr_uppercase.c: Likewise.
63000         * tests/unictype/test-pr_variation_selector.c: Likewise.
63001         * tests/unictype/test-pr_white_space.c: Likewise.
63002         * tests/unictype/test-pr_xid_continue.c: Likewise.
63003         * tests/unictype/test-pr_xid_start.c: Likewise.
63004         * tests/unictype/test-pr_zero_width.c: Likewise.
63005         * tests/unictype/test-sy_c_whitespace.c: Likewise.
63006         * tests/unictype/test-sy_java_whitespace.c: Likewise.
63007
63008 2007-11-12  Bruno Haible  <bruno@clisp.org>
63009
63010         Unicode character classification functions.
63011         * lib/unictype.h: New file.
63012         * modules/unictype/base: New file.
63013         * modules/unictype/category-L: New file.
63014         * modules/unictype/category-Lu: New file.
63015         * modules/unictype/category-Ll: New file.
63016         * modules/unictype/category-Lt: New file.
63017         * modules/unictype/category-Lm: New file.
63018         * modules/unictype/category-Lo: New file.
63019         * modules/unictype/category-M: New file.
63020         * modules/unictype/category-Mn: New file.
63021         * modules/unictype/category-Mc: New file.
63022         * modules/unictype/category-Me: New file.
63023         * modules/unictype/category-N: New file.
63024         * modules/unictype/category-Nd: New file.
63025         * modules/unictype/category-Nl: New file.
63026         * modules/unictype/category-No: New file.
63027         * modules/unictype/category-P: New file.
63028         * modules/unictype/category-Pc: New file.
63029         * modules/unictype/category-Pd: New file.
63030         * modules/unictype/category-Ps: New file.
63031         * modules/unictype/category-Pe: New file.
63032         * modules/unictype/category-Pi: New file.
63033         * modules/unictype/category-Pf: New file.
63034         * modules/unictype/category-Po: New file.
63035         * modules/unictype/category-S: New file.
63036         * modules/unictype/category-Sm: New file.
63037         * modules/unictype/category-Sc: New file.
63038         * modules/unictype/category-Sk: New file.
63039         * modules/unictype/category-So: New file.
63040         * modules/unictype/category-Z: New file.
63041         * modules/unictype/category-Zs: New file.
63042         * modules/unictype/category-Zl: New file.
63043         * modules/unictype/category-Zp: New file.
63044         * modules/unictype/category-C: New file.
63045         * modules/unictype/category-Cc: New file.
63046         * modules/unictype/category-Cf: New file.
63047         * modules/unictype/category-Cs: New file.
63048         * modules/unictype/category-Co: New file.
63049         * modules/unictype/category-Cn: New file.
63050         * modules/unictype/category-or: New file.
63051         * modules/unictype/category-of: New file.
63052         * modules/unictype/category-test: New file.
63053         * modules/unictype/category-test-withtable: New file.
63054         * modules/unictype/category-byname: New file.
63055         * modules/unictype/category-none: New file.
63056         * modules/unictype/category-and: New file.
63057         * modules/unictype/category-and-not: New file.
63058         * modules/unictype/category-name: New file.
63059         * modules/unictype/combining-class: New file.
63060         * modules/unictype/category-all: New file.
63061         * modules/unictype/bidicategory-all: New file.
63062         * modules/unictype/bidicategory-byname: New file.
63063         * modules/unictype/bidicategory-name: New file.
63064         * modules/unictype/bidicategory-of: New file.
63065         * modules/unictype/bidicategory-test: New file.
63066         * modules/unictype/decimal-digit: New file.
63067         * modules/unictype/digit: New file.
63068         * modules/unictype/numeric: New file.
63069         * modules/unictype/mirror: New file.
63070         * modules/unictype/property-white-space: New file.
63071         * modules/unictype/property-alphabetic: New file.
63072         * modules/unictype/property-other-alphabetic: New file.
63073         * modules/unictype/property-not-a-character: New file.
63074         * modules/unictype/property-default-ignorable-code-point: New file.
63075         * modules/unictype/property-other-default-ignorable-code-point: New
63076         file.
63077         * modules/unictype/property-deprecated: New file.
63078         * modules/unictype/property-logical-order-exception: New file.
63079         * modules/unictype/property-variation-selector: New file.
63080         * modules/unictype/property-private-use: New file.
63081         * modules/unictype/property-unassigned-code-value: New file.
63082         * modules/unictype/property-uppercase: New file.
63083         * modules/unictype/property-other-uppercase: New file.
63084         * modules/unictype/property-lowercase: New file.
63085         * modules/unictype/property-other-lowercase: New file.
63086         * modules/unictype/property-titlecase: New file.
63087         * modules/unictype/property-soft-dotted: New file.
63088         * modules/unictype/property-id-start: New file.
63089         * modules/unictype/property-other-id-start: New file.
63090         * modules/unictype/property-id-continue: New file.
63091         * modules/unictype/property-other-id-continue: New file.
63092         * modules/unictype/property-xid-start: New file.
63093         * modules/unictype/property-xid-continue: New file.
63094         * modules/unictype/property-pattern-white-space: New file.
63095         * modules/unictype/property-pattern-syntax: New file.
63096         * modules/unictype/property-join-control: New file.
63097         * modules/unictype/property-grapheme-base: New file.
63098         * modules/unictype/property-grapheme-extend: New file.
63099         * modules/unictype/property-other-grapheme-extend: New file.
63100         * modules/unictype/property-grapheme-link: New file.
63101         * modules/unictype/property-bidi-control: New file.
63102         * modules/unictype/property-bidi-left-to-right: New file.
63103         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
63104         * modules/unictype/property-bidi-arabic-right-to-left: New file.
63105         * modules/unictype/property-bidi-european-digit: New file.
63106         * modules/unictype/property-bidi-eur-num-separator: New file.
63107         * modules/unictype/property-bidi-eur-num-terminator: New file.
63108         * modules/unictype/property-bidi-arabic-digit: New file.
63109         * modules/unictype/property-bidi-common-separator: New file.
63110         * modules/unictype/property-bidi-block-separator: New file.
63111         * modules/unictype/property-bidi-segment-separator: New file.
63112         * modules/unictype/property-bidi-whitespace: New file.
63113         * modules/unictype/property-bidi-non-spacing-mark: New file.
63114         * modules/unictype/property-bidi-boundary-neutral: New file.
63115         * modules/unictype/property-bidi-pdf: New file.
63116         * modules/unictype/property-bidi-embedding-or-override: New file.
63117         * modules/unictype/property-bidi-other-neutral: New file.
63118         * modules/unictype/property-hex-digit: New file.
63119         * modules/unictype/property-ascii-hex-digit: New file.
63120         * modules/unictype/property-ideographic: New file.
63121         * modules/unictype/property-unified-ideograph: New file.
63122         * modules/unictype/property-radical: New file.
63123         * modules/unictype/property-ids-binary-operator: New file.
63124         * modules/unictype/property-ids-trinary-operator: New file.
63125         * modules/unictype/property-zero-width: New file.
63126         * modules/unictype/property-space: New file.
63127         * modules/unictype/property-non-break: New file.
63128         * modules/unictype/property-iso-control: New file.
63129         * modules/unictype/property-format-control: New file.
63130         * modules/unictype/property-dash: New file.
63131         * modules/unictype/property-hyphen: New file.
63132         * modules/unictype/property-punctuation: New file.
63133         * modules/unictype/property-line-separator: New file.
63134         * modules/unictype/property-paragraph-separator: New file.
63135         * modules/unictype/property-quotation-mark: New file.
63136         * modules/unictype/property-sentence-terminal: New file.
63137         * modules/unictype/property-terminal-punctuation: New file.
63138         * modules/unictype/property-currency-symbol: New file.
63139         * modules/unictype/property-math: New file.
63140         * modules/unictype/property-other-math: New file.
63141         * modules/unictype/property-paired-punctuation: New file.
63142         * modules/unictype/property-left-of-pair: New file.
63143         * modules/unictype/property-combining: New file.
63144         * modules/unictype/property-composite: New file.
63145         * modules/unictype/property-decimal-digit: New file.
63146         * modules/unictype/property-numeric: New file.
63147         * modules/unictype/property-diacritic: New file.
63148         * modules/unictype/property-extender: New file.
63149         * modules/unictype/property-ignorable-control: New file.
63150         * modules/unictype/property-test: New file.
63151         * modules/unictype/property-byname: New file.
63152         * modules/unictype/property-all: New file.
63153         * modules/unictype/scripts: New file.
63154         * modules/unictype/scripts-all: New file.
63155         * modules/unictype/block-of: New file.
63156         * modules/unictype/block-test: New file.
63157         * modules/unictype/block-list: New file.
63158         * modules/unictype/block-all: New file.
63159         * modules/unictype/syntax-c-whitespace: New file.
63160         * modules/unictype/syntax-java-whitespace: New file.
63161         * modules/unictype/syntax-c-ident: New file.
63162         * modules/unictype/syntax-java-ident: New file.
63163         * modules/unictype/ctype-alnum: New file.
63164         * modules/unictype/ctype-alpha: New file.
63165         * modules/unictype/ctype-cntrl: New file.
63166         * modules/unictype/ctype-digit: New file.
63167         * modules/unictype/ctype-graph: New file.
63168         * modules/unictype/ctype-lower: New file.
63169         * modules/unictype/ctype-print: New file.
63170         * modules/unictype/ctype-punct: New file.
63171         * modules/unictype/ctype-space: New file.
63172         * modules/unictype/ctype-upper: New file.
63173         * modules/unictype/ctype-xdigit: New file.
63174         * modules/unictype/ctype-blank: New file.
63175         * lib/unictype/bidi_byname.c: New file.
63176         * lib/unictype/bidi_name.c: New file.
63177         * lib/unictype/bidi_of.c: New file.
63178         * lib/unictype/bidi_test.c: New file.
63179         * lib/unictype/bitmap.h: New file.
63180         * lib/unictype/block_test.c: New file.
63181         * lib/unictype/blocks.c: New file.
63182         * lib/unictype/categ_C.c: New file.
63183         * lib/unictype/categ_Cc.c: New file.
63184         * lib/unictype/categ_Cf.c: New file.
63185         * lib/unictype/categ_Cn.c: New file.
63186         * lib/unictype/categ_Co.c: New file.
63187         * lib/unictype/categ_Cs.c: New file.
63188         * lib/unictype/categ_L.c: New file.
63189         * lib/unictype/categ_Ll.c: New file.
63190         * lib/unictype/categ_Lm.c: New file.
63191         * lib/unictype/categ_Lo.c: New file.
63192         * lib/unictype/categ_Lt.c: New file.
63193         * lib/unictype/categ_Lu.c: New file.
63194         * lib/unictype/categ_M.c: New file.
63195         * lib/unictype/categ_Mc.c: New file.
63196         * lib/unictype/categ_Me.c: New file.
63197         * lib/unictype/categ_Mn.c: New file.
63198         * lib/unictype/categ_N.c: New file.
63199         * lib/unictype/categ_Nd.c: New file.
63200         * lib/unictype/categ_Nl.c: New file.
63201         * lib/unictype/categ_No.c: New file.
63202         * lib/unictype/categ_P.c: New file.
63203         * lib/unictype/categ_Pc.c: New file.
63204         * lib/unictype/categ_Pd.c: New file.
63205         * lib/unictype/categ_Pe.c: New file.
63206         * lib/unictype/categ_Pf.c: New file.
63207         * lib/unictype/categ_Pi.c: New file.
63208         * lib/unictype/categ_Po.c: New file.
63209         * lib/unictype/categ_Ps.c: New file.
63210         * lib/unictype/categ_S.c: New file.
63211         * lib/unictype/categ_Sc.c: New file.
63212         * lib/unictype/categ_Sk.c: New file.
63213         * lib/unictype/categ_Sm.c: New file.
63214         * lib/unictype/categ_So.c: New file.
63215         * lib/unictype/categ_Z.c: New file.
63216         * lib/unictype/categ_Zl.c: New file.
63217         * lib/unictype/categ_Zp.c: New file.
63218         * lib/unictype/categ_Zs.c: New file.
63219         * lib/unictype/categ_and.c: New file.
63220         * lib/unictype/categ_and_not.c: New file.
63221         * lib/unictype/categ_byname.c: New file.
63222         * lib/unictype/categ_name.c: New file.
63223         * lib/unictype/categ_none.c: New file.
63224         * lib/unictype/categ_of.c: New file.
63225         * lib/unictype/categ_or.c: New file.
63226         * lib/unictype/categ_test.c: New file.
63227         * lib/unictype/combining.c: New file.
63228         * lib/unictype/ctype_alnum.c: New file.
63229         * lib/unictype/ctype_alpha.c: New file.
63230         * lib/unictype/ctype_blank.c: New file.
63231         * lib/unictype/ctype_cntrl.c: New file.
63232         * lib/unictype/ctype_digit.c: New file.
63233         * lib/unictype/ctype_graph.c: New file.
63234         * lib/unictype/ctype_lower.c: New file.
63235         * lib/unictype/ctype_print.c: New file.
63236         * lib/unictype/ctype_punct.c: New file.
63237         * lib/unictype/ctype_space.c: New file.
63238         * lib/unictype/ctype_upper.c: New file.
63239         * lib/unictype/ctype_xdigit.c: New file.
63240         * lib/unictype/decdigit.c: New file.
63241         * lib/unictype/digit.c: New file.
63242         * lib/unictype/identsyntaxmap.h: New file.
63243         * lib/unictype/mirror.c: New file.
63244         * lib/unictype/numeric.c: New file.
63245         * lib/unictype/pr_alphabetic.c: New file.
63246         * lib/unictype/pr_ascii_hex_digit.c: New file.
63247         * lib/unictype/pr_bidi_arabic_digit.c: New file.
63248         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
63249         * lib/unictype/pr_bidi_block_separator.c: New file.
63250         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
63251         * lib/unictype/pr_bidi_common_separator.c: New file.
63252         * lib/unictype/pr_bidi_control.c: New file.
63253         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
63254         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
63255         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
63256         * lib/unictype/pr_bidi_european_digit.c: New file.
63257         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
63258         * lib/unictype/pr_bidi_left_to_right.c: New file.
63259         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
63260         * lib/unictype/pr_bidi_other_neutral.c: New file.
63261         * lib/unictype/pr_bidi_pdf.c: New file.
63262         * lib/unictype/pr_bidi_segment_separator.c: New file.
63263         * lib/unictype/pr_bidi_whitespace.c: New file.
63264         * lib/unictype/pr_byname.c: New file.
63265         * lib/unictype/pr_byname.gperf: New file.
63266         * lib/unictype/pr_combining.c: New file.
63267         * lib/unictype/pr_composite.c: New file.
63268         * lib/unictype/pr_currency_symbol.c: New file.
63269         * lib/unictype/pr_dash.c: New file.
63270         * lib/unictype/pr_decimal_digit.c: New file.
63271         * lib/unictype/pr_default_ignorable_code_point.c: New file.
63272         * lib/unictype/pr_deprecated.c: New file.
63273         * lib/unictype/pr_diacritic.c: New file.
63274         * lib/unictype/pr_extender.c: New file.
63275         * lib/unictype/pr_format_control.c: New file.
63276         * lib/unictype/pr_grapheme_base.c: New file.
63277         * lib/unictype/pr_grapheme_extend.c: New file.
63278         * lib/unictype/pr_grapheme_link.c: New file.
63279         * lib/unictype/pr_hex_digit.c: New file.
63280         * lib/unictype/pr_hyphen.c: New file.
63281         * lib/unictype/pr_id_continue.c: New file.
63282         * lib/unictype/pr_id_start.c: New file.
63283         * lib/unictype/pr_ideographic.c: New file.
63284         * lib/unictype/pr_ids_binary_operator.c: New file.
63285         * lib/unictype/pr_ids_trinary_operator.c: New file.
63286         * lib/unictype/pr_ignorable_control.c: New file.
63287         * lib/unictype/pr_iso_control.c: New file.
63288         * lib/unictype/pr_join_control.c: New file.
63289         * lib/unictype/pr_left_of_pair.c: New file.
63290         * lib/unictype/pr_line_separator.c: New file.
63291         * lib/unictype/pr_logical_order_exception.c: New file.
63292         * lib/unictype/pr_lowercase.c: New file.
63293         * lib/unictype/pr_math.c: New file.
63294         * lib/unictype/pr_non_break.c: New file.
63295         * lib/unictype/pr_not_a_character.c: New file.
63296         * lib/unictype/pr_numeric.c: New file.
63297         * lib/unictype/pr_other_alphabetic.c: New file.
63298         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
63299         * lib/unictype/pr_other_grapheme_extend.c: New file.
63300         * lib/unictype/pr_other_id_continue.c: New file.
63301         * lib/unictype/pr_other_id_start.c: New file.
63302         * lib/unictype/pr_other_lowercase.c: New file.
63303         * lib/unictype/pr_other_math.c: New file.
63304         * lib/unictype/pr_other_uppercase.c: New file.
63305         * lib/unictype/pr_paired_punctuation.c: New file.
63306         * lib/unictype/pr_paragraph_separator.c: New file.
63307         * lib/unictype/pr_pattern_syntax.c: New file.
63308         * lib/unictype/pr_pattern_white_space.c: New file.
63309         * lib/unictype/pr_private_use.c: New file.
63310         * lib/unictype/pr_punctuation.c: New file.
63311         * lib/unictype/pr_quotation_mark.c: New file.
63312         * lib/unictype/pr_radical.c: New file.
63313         * lib/unictype/pr_sentence_terminal.c: New file.
63314         * lib/unictype/pr_soft_dotted.c: New file.
63315         * lib/unictype/pr_space.c: New file.
63316         * lib/unictype/pr_terminal_punctuation.c: New file.
63317         * lib/unictype/pr_test.c: New file.
63318         * lib/unictype/pr_titlecase.c: New file.
63319         * lib/unictype/pr_unassigned_code_value.c: New file.
63320         * lib/unictype/pr_unified_ideograph.c: New file.
63321         * lib/unictype/pr_uppercase.c: New file.
63322         * lib/unictype/pr_variation_selector.c: New file.
63323         * lib/unictype/pr_white_space.c: New file.
63324         * lib/unictype/pr_xid_continue.c: New file.
63325         * lib/unictype/pr_xid_start.c: New file.
63326         * lib/unictype/pr_zero_width.c: New file.
63327         * lib/unictype/scripts.c: New file.
63328         * lib/unictype/sy_c_ident.c: New file.
63329         * lib/unictype/sy_c_whitespace.c: New file.
63330         * lib/unictype/sy_java_ident.c: New file.
63331         * lib/unictype/sy_java_whitespace.c: New file.
63332
63333         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
63334         Unicode 5.0.0.
63335         * lib/unictype/blocks.h: Likewise.
63336         * lib/unictype/categ_C.h: Likewise.
63337         * lib/unictype/categ_Cc.h: Likewise.
63338         * lib/unictype/categ_Cf.h: Likewise.
63339         * lib/unictype/categ_Cn.h: Likewise.
63340         * lib/unictype/categ_Co.h: Likewise.
63341         * lib/unictype/categ_Cs.h: Likewise.
63342         * lib/unictype/categ_L.h: Likewise.
63343         * lib/unictype/categ_Ll.h: Likewise.
63344         * lib/unictype/categ_Lm.h: Likewise.
63345         * lib/unictype/categ_Lo.h: Likewise.
63346         * lib/unictype/categ_Lt.h: Likewise.
63347         * lib/unictype/categ_Lu.h: Likewise.
63348         * lib/unictype/categ_M.h: Likewise.
63349         * lib/unictype/categ_Mc.h: Likewise.
63350         * lib/unictype/categ_Me.h: Likewise.
63351         * lib/unictype/categ_Mn.h: Likewise.
63352         * lib/unictype/categ_N.h: Likewise.
63353         * lib/unictype/categ_Nd.h: Likewise.
63354         * lib/unictype/categ_Nl.h: Likewise.
63355         * lib/unictype/categ_No.h: Likewise.
63356         * lib/unictype/categ_P.h: Likewise.
63357         * lib/unictype/categ_Pc.h: Likewise.
63358         * lib/unictype/categ_Pd.h: Likewise.
63359         * lib/unictype/categ_Pe.h: Likewise.
63360         * lib/unictype/categ_Pf.h: Likewise.
63361         * lib/unictype/categ_Pi.h: Likewise.
63362         * lib/unictype/categ_Po.h: Likewise.
63363         * lib/unictype/categ_Ps.h: Likewise.
63364         * lib/unictype/categ_S.h: Likewise.
63365         * lib/unictype/categ_Sc.h: Likewise.
63366         * lib/unictype/categ_Sk.h: Likewise.
63367         * lib/unictype/categ_Sm.h: Likewise.
63368         * lib/unictype/categ_So.h: Likewise.
63369         * lib/unictype/categ_Z.h: Likewise.
63370         * lib/unictype/categ_Zl.h: Likewise.
63371         * lib/unictype/categ_Zp.h: Likewise.
63372         * lib/unictype/categ_Zs.h: Likewise.
63373         * lib/unictype/categ_of.h: Likewise.
63374         * lib/unictype/combining.h: Likewise.
63375         * lib/unictype/ctype_alnum.h: Likewise.
63376         * lib/unictype/ctype_alpha.h: Likewise.
63377         * lib/unictype/ctype_blank.h: Likewise.
63378         * lib/unictype/ctype_cntrl.h: Likewise.
63379         * lib/unictype/ctype_digit.h: Likewise.
63380         * lib/unictype/ctype_graph.h: Likewise.
63381         * lib/unictype/ctype_lower.h: Likewise.
63382         * lib/unictype/ctype_print.h: Likewise.
63383         * lib/unictype/ctype_punct.h: Likewise.
63384         * lib/unictype/ctype_space.h: Likewise.
63385         * lib/unictype/ctype_upper.h: Likewise.
63386         * lib/unictype/ctype_xdigit.h: Likewise.
63387         * lib/unictype/decdigit.h: Likewise.
63388         * lib/unictype/digit.h: Likewise.
63389         * lib/unictype/mirror.h: Likewise.
63390         * lib/unictype/numeric.h: Likewise.
63391         * lib/unictype/pr_alphabetic.h: Likewise.
63392         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
63393         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
63394         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
63395         * lib/unictype/pr_bidi_block_separator.h: Likewise.
63396         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
63397         * lib/unictype/pr_bidi_common_separator.h: Likewise.
63398         * lib/unictype/pr_bidi_control.h: Likewise.
63399         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
63400         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
63401         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
63402         * lib/unictype/pr_bidi_european_digit.h: Likewise.
63403         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
63404         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
63405         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
63406         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
63407         * lib/unictype/pr_bidi_pdf.h: Likewise.
63408         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
63409         * lib/unictype/pr_bidi_whitespace.h: Likewise.
63410         * lib/unictype/pr_combining.h: Likewise.
63411         * lib/unictype/pr_composite.h: Likewise.
63412         * lib/unictype/pr_currency_symbol.h: Likewise.
63413         * lib/unictype/pr_dash.h: Likewise.
63414         * lib/unictype/pr_decimal_digit.h: Likewise.
63415         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
63416         * lib/unictype/pr_deprecated.h: Likewise.
63417         * lib/unictype/pr_diacritic.h: Likewise.
63418         * lib/unictype/pr_extender.h: Likewise.
63419         * lib/unictype/pr_format_control.h: Likewise.
63420         * lib/unictype/pr_grapheme_base.h: Likewise.
63421         * lib/unictype/pr_grapheme_extend.h: Likewise.
63422         * lib/unictype/pr_grapheme_link.h: Likewise.
63423         * lib/unictype/pr_hex_digit.h: Likewise.
63424         * lib/unictype/pr_hyphen.h: Likewise.
63425         * lib/unictype/pr_id_continue.h: Likewise.
63426         * lib/unictype/pr_id_start.h: Likewise.
63427         * lib/unictype/pr_ideographic.h: Likewise.
63428         * lib/unictype/pr_ids_binary_operator.h: Likewise.
63429         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
63430         * lib/unictype/pr_ignorable_control.h: Likewise.
63431         * lib/unictype/pr_iso_control.h: Likewise.
63432         * lib/unictype/pr_join_control.h: Likewise.
63433         * lib/unictype/pr_left_of_pair.h: Likewise.
63434         * lib/unictype/pr_line_separator.h: Likewise.
63435         * lib/unictype/pr_logical_order_exception.h: Likewise.
63436         * lib/unictype/pr_lowercase.h: Likewise.
63437         * lib/unictype/pr_math.h: Likewise.
63438         * lib/unictype/pr_non_break.h: Likewise.
63439         * lib/unictype/pr_not_a_character.h: Likewise.
63440         * lib/unictype/pr_numeric.h: Likewise.
63441         * lib/unictype/pr_other_alphabetic.h: Likewise.
63442         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
63443         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
63444         * lib/unictype/pr_other_id_continue.h: Likewise.
63445         * lib/unictype/pr_other_id_start.h: Likewise.
63446         * lib/unictype/pr_other_lowercase.h: Likewise.
63447         * lib/unictype/pr_other_math.h: Likewise.
63448         * lib/unictype/pr_other_uppercase.h: Likewise.
63449         * lib/unictype/pr_paired_punctuation.h: Likewise.
63450         * lib/unictype/pr_paragraph_separator.h: Likewise.
63451         * lib/unictype/pr_pattern_syntax.h: Likewise.
63452         * lib/unictype/pr_pattern_white_space.h: Likewise.
63453         * lib/unictype/pr_private_use.h: Likewise.
63454         * lib/unictype/pr_punctuation.h: Likewise.
63455         * lib/unictype/pr_quotation_mark.h: Likewise.
63456         * lib/unictype/pr_radical.h: Likewise.
63457         * lib/unictype/pr_sentence_terminal.h: Likewise.
63458         * lib/unictype/pr_soft_dotted.h: Likewise.
63459         * lib/unictype/pr_space.h: Likewise.
63460         * lib/unictype/pr_terminal_punctuation.h: Likewise.
63461         * lib/unictype/pr_titlecase.h: Likewise.
63462         * lib/unictype/pr_unassigned_code_value.h: Likewise.
63463         * lib/unictype/pr_unified_ideograph.h: Likewise.
63464         * lib/unictype/pr_uppercase.h: Likewise.
63465         * lib/unictype/pr_variation_selector.h: Likewise.
63466         * lib/unictype/pr_white_space.h: Likewise.
63467         * lib/unictype/pr_xid_continue.h: Likewise.
63468         * lib/unictype/pr_xid_start.h: Likewise.
63469         * lib/unictype/pr_zero_width.h: Likewise.
63470         * lib/unictype/scripts.h: Likewise.
63471         * lib/unictype/scripts_byname.gperf: Likewise.
63472         * lib/unictype/sy_c_ident.h: Likewise.
63473         * lib/unictype/sy_c_whitespace.h: Likewise.
63474         * lib/unictype/sy_java_ident.h: Likewise.
63475         * lib/unictype/sy_java_whitespace.h: Likewise.
63476
63477         * lib/unictype/Makefile: New file.
63478         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
63479         glibc.
63480         * lib/unictype/3level.h: New file, copied from glibc.
63481         * lib/unictype/3levelbit.h: New file.
63482
63483 2007-11-11  Bruno Haible  <bruno@clisp.org>
63484
63485         * modules/gperf: New file.
63486         * modules/iconv_open (Depends-on): Add it.
63487         (Makefile.am): Remove the GPERF definition.
63488
63489 2007-11-11  Bruno Haible  <bruno@clisp.org>
63490
63491         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
63492         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
63493
63494 2007-11-11  Bruno Haible  <bruno@clisp.org>
63495
63496         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
63497         (usage): Remove function.
63498
63499 2007-11-11  Bruno Haible  <bruno@clisp.org>
63500
63501         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
63502         gl_FUNC_CEILF_LIBS.
63503         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
63504         gl_FUNC_CEIL_LIBS.
63505         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
63506         gl_FUNC_CEILL_LIBS.
63507         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
63508         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
63509         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
63510
63511 2007-11-11  Bruno Haible  <bruno@clisp.org>
63512
63513         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
63514         roundf were declared but do not exist on functions.
63515         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
63516         roundl were declared but do not exist on functions.
63517         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
63518         HAVE_FLOORL_AND_CEILL, respectively.
63519         Needed for Sun C on Solaris 10.
63520
63521 2007-11-11  Bruno Haible  <bruno@clisp.org>
63522
63523         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
63524         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
63525         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
63526         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
63527         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
63528         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
63529         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
63530         HAVE_DECL_ROUNDF.
63531         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
63532         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
63533         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
63534         of HAVE_DECL_ROUND*.
63535         * modules/math (Makefile.am): Update.
63536
63537 2007-11-10  Bruno Haible  <bruno@clisp.org>
63538
63539         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
63540         ptrdiff_t as m4/intl.m4.
63541
63542 2007-11-10  Jim Meyering  <meyering@redhat.com>
63543
63544         Avoid link failure for the argmatch test.
63545         * tests/test-argmatch.c (usage): Define function to avoid a link
63546         failure: argmatch_die requires a usage function.
63547
63548 2007-11-09  Bruno Haible  <bruno@clisp.org>
63549
63550         * doc/functions/snprintf.texi: Mention BeOS deficiency.
63551         * doc/functions/vsnprintf.texi: Likewise.
63552         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
63553         with a size argument < 2.
63554
63555 2007-11-09  Bruno Haible  <bruno@clisp.org>
63556
63557         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
63558         buffer. Fixes an inefficiency introduced on 2007-11-03.
63559
63560 2007-11-09  Bruno Haible  <bruno@clisp.org>
63561
63562         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
63563         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
63564
63565 2007-11-08  Jim Meyering  <meyering@redhat.com>
63566
63567         Change cache variable name prefix "jm_" to "gl_" everywhere.
63568         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
63569         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
63570         * m4/uptime.m4: s/gl_/jm_/
63571
63572 2007-11-07  Bruno Haible  <bruno@clisp.org>
63573
63574         Update to GNU gettext 0.17.
63575         * m4/intl.m4: Update to GNU gettext 0.17.
63576         * m4/po.m4: Likewise.
63577         * modules/gettext (Files): Remove m4/ulonglong.m4.
63578         (configure.ac): Require gettext infrastructure from version 0.17.
63579
63580 2007-11-06  Bruno Haible  <bruno@clisp.org>
63581
63582         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
63583         symbolic values are not defined in a public header.
63584         * lib/freadable.c (freadable) [QNX]: Likewise.
63585         * lib/freadahead.c (freadahead) [QNX]: Likewise.
63586         * lib/freading.c (freading) [QNX]: Likewise.
63587         * lib/fseterr.c (fseterr) [QNX]: Likewise.
63588         * lib/fwritable.c (fwritable) [QNX]: Likewise.
63589         * lib/fwriting.c (fwriting) [QNX]: Likewise.
63590         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
63591         Reported by Alain Magloire.
63592
63593         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
63594
63595 2007-11-05  Bruno Haible  <bruno@clisp.org>
63596
63597         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
63598         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
63599         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
63600         Reported by Eric Blake.
63601
63602 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63603             Bruno Haible  <bruno@clisp.org>
63604
63605         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
63606         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
63607         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
63608         (malloc): Undefine also before including <stdlib.h>.
63609         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
63610         Needed on OSF/1 4.0.
63611
63612 2007-11-05  Jim Meyering  <meyering@redhat.com>
63613
63614         git-version-gen: sync from coreutils.
63615         * build-aux/git-version-gen: Add comments.
63616         Change the first '-' to '.' in the snapshot version string,
63617         e.g., 6.9-377-08144 -> 6.9.377-08144
63618         Remove first parameter.
63619         Don't declare a version "-dirty" merely because a time
63620         stamp has changed.
63621
63622 2007-11-04  Bruno Haible  <bruno@clisp.org>
63623
63624         * lib/lock.h: Protect all macro definitions containing an 'if'
63625         statement through a "do { ... } while (0)".
63626         * lib/tls.h: Likewise.
63627
63628 2007-11-04  Bruno Haible  <bruno@clisp.org>
63629
63630         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
63631
63632 2007-11-04  Bruno Haible  <bruno@clisp.org>
63633
63634         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
63635         * modules/fprintf-posix (Depends-on): Add nocrash.
63636         * modules/snprintf-posix (Depends-on): Likewise.
63637         * modules/sprintf-posix (Depends-on): Likewise.
63638         * modules/vasnprintf-posix (Depends-on): Likewise.
63639         * modules/vasprintf-posix (Depends-on): Likewise.
63640         * modules/vfprintf-posix (Depends-on): Likewise.
63641         * modules/vsnprintf-posix (Depends-on): Likewise.
63642         * modules/vsprintf-posix (Depends-on): Likewise.
63643         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
63644         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
63645         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
63646         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
63647         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
63648         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
63649         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
63650
63651 2007-11-04  Bruno Haible  <bruno@clisp.org>
63652
63653         * modules/nocrash: New file.
63654         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
63655         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
63656
63657 2007-11-04  Bruno Haible  <bruno@clisp.org>
63658
63659         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
63660         precision handling.
63661         * tests/test-vasprintf-posix.c (test_function): Likewise.
63662         * tests/test-snprintf-posix.h (test_function): Likewise.
63663         * tests/test-sprintf-posix.h (test_function): Likewise.
63664
63665         Fix *printf behaviour for large precisions on mingw and BeOS.
63666         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
63667         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
63668         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
63669         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
63670         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63671         gl_PRINTF_PRECISION and test its result. Invoke
63672         gl_PREREQ_VASNPRINTF_PRECISION.
63673         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63674         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63675         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63676         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63677         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63678         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63679         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63680         * doc/functions/fprintf.texi: Update.
63681         * doc/functions/printf.texi: Update.
63682         * doc/functions/snprintf.texi: Update.
63683         * doc/functions/sprintf.texi: Update.
63684         * doc/functions/vfprintf.texi: Update.
63685         * doc/functions/vprintf.texi: Update.
63686         * doc/functions/vsnprintf.texi: Update.
63687         * doc/functions/vsprintf.texi: Update.
63688
63689 2007-11-04  Bruno Haible  <bruno@clisp.org>
63690
63691         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
63692
63693 2007-11-04  Bruno Haible  <bruno@clisp.org>
63694
63695         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
63696         Reported by Sylvain Beucler <beuc@gnu.org>.
63697
63698 2007-11-03  Bruno Haible  <bruno@clisp.org>
63699
63700         * tests/test-fprintf-posix2.sh: New file.
63701         * tests/test-fprintf-posix2.c: New file.
63702         * modules/fprintf-posix-tests (Files): Add them.
63703         (TESTS): Add test-fprintf-posix2.sh.
63704         (configure.ac): Check for getrlimit and setrlimit.
63705         (check_PROGRAMS): Add test-fprintf-posix2.
63706
63707         * tests/test-printf-posix2.sh: New file.
63708         * tests/test-printf-posix2.c: New file.
63709         * modules/printf-posix-tests (Files): Add them.
63710         (TESTS): Add test-printf-posix2.sh.
63711         (configure.ac): Check for getrlimit and setrlimit.
63712         (check_PROGRAMS): Add test-printf-posix2.
63713
63714         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
63715         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
63716         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
63717         (decode_double): New function, copied from decode_long_double.
63718         (scale10_round_decimal_decoded): New function, extracted from
63719         scale10_round_decimal_long_double.
63720         (scale10_round_decimal_long_double): Use it.
63721         (scale10_round_decimal_double): New function.
63722         (floorlog10): New function.
63723         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
63724         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
63725         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
63726         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63727         gl_PRINTF_ENOMEM and test its result. Invoke
63728         gl_PREREQ_VASNPRINTF_ENOMEM.
63729         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63730         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63731         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63732         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63733         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63734         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63735         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63736         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
63737         * modules/snprintf-posix (Depends-on): Likewise.
63738         * modules/sprintf-posix (Depends-on): Likewise.
63739         * modules/vasnprintf-posix (Depends-on): Likewise.
63740         * modules/vasprintf-posix (Depends-on): Likewise.
63741         * modules/vfprintf-posix (Depends-on): Likewise.
63742         * modules/vsnprintf-posix (Depends-on): Likewise.
63743         * modules/vsprintf-posix (Depends-on): Likewise.
63744         * doc/functions/fprintf.texi: Update.
63745         * doc/functions/printf.texi: Update.
63746         * doc/functions/snprintf.texi: Update.
63747         * doc/functions/sprintf.texi: Update.
63748         * doc/functions/vfprintf.texi: Update.
63749         * doc/functions/vprintf.texi: Update.
63750         * doc/functions/vsnprintf.texi: Update.
63751         * doc/functions/vsprintf.texi: Update.
63752
63753 2007-11-03  Bruno Haible  <bruno@clisp.org>
63754
63755         * modules/frexp-nolibm-tests: New file.
63756
63757         * modules/frexp-nolibm: New file.
63758         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
63759
63760 2007-11-03  Bruno Haible  <bruno@clisp.org>
63761
63762         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
63763         value is C99 compliant.
63764         Needed for OSF/1 5.1.
63765
63766 2007-11-03  Bruno Haible  <bruno@clisp.org>
63767
63768         Fix out-of-memory handling of vasnprintf.
63769         * lib/printf-parse.c: Include <errno.h>.
63770         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
63771         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
63772         is already set.
63773
63774 2007-11-02  Eric Blake  <ebb9@byu.net>
63775
63776         Fix tests on cygwin.
63777         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
63778
63779 2007-11-01  Bruno Haible  <bruno@clisp.org>
63780
63781         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
63782         warning.
63783         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
63784         needed for POSIX compatibility.
63785
63786 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
63787
63788         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
63789         for compatibility with GNU.
63790
63791 2007-11-01  Bruno Haible  <bruno@clisp.org>
63792
63793         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
63794         (putenv): Renamed from rpl_putenv. Change argument type from
63795         'const char *' to 'char *'.
63796         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
63797         of defining putenv in config.h, just set REPLACE_PUTENV.
63798         * modules/putenv (Depends-on): Add stdlib.
63799         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
63800         (Include): Use <stdlib.h>.
63801         * lib/stdlib.in.h (putenv): New declaration.
63802         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
63803         REPLACE_PUTENV.
63804         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
63805         REPLACE_PUTENV.
63806         Needed for MacOS X 10.5.0.
63807         Reported by Peter O'Gorman <peter@pogma.com>.
63808
63809 2007-11-01  Jim Meyering  <meyering@redhat.com>
63810
63811         Treat an empty date string exactly like "0".
63812         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
63813         if the remaining date string (to be parsed) is empty, use "0".
63814         Reported by Mischa Molhoek and discussed in this thread:
63815         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
63816
63817 2007-10-31  Bruno Haible  <bruno@clisp.org>
63818
63819         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
63820         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
63821         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
63822         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
63823         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
63824         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
63825
63826 2007-10-31  Bruno Haible  <bruno@clisp.org>
63827
63828         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
63829         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
63830         (AC_TYPE_LONG_LONG_INT): Use it.
63831         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
63832         it as well.
63833         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
63834         to m4/longlong.m4.
63835         * modules/stdint (Files): Remove m4/ulonglong.m4.
63836         * modules/strtoull (Files): Use m4/longlong.m4 instead of
63837         m4/ulonglong.m4.
63838         * modules/strtoumax (Files): Likewise.
63839
63840 2007-10-30  Bruno Haible  <bruno@clisp.org>
63841
63842         * modules/xvasprintf-posix: New file.
63843         Suggested by Eric Blake.
63844
63845 2007-10-30  Bruno Haible  <bruno@clisp.org>
63846
63847         * modules/xprintf-posix-tests: New file.
63848         * tests/test-xprintf-posix.sh: New file.
63849         * tests/test-xprintf-posix.c: New file.
63850         * tests/test-xfprintf-posix.c: New file.
63851
63852         * modules/xprintf-posix: New file.
63853
63854 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63855
63856         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
63857         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
63858         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
63859
63860 2007-10-29  Bruno Haible  <bruno@clisp.org>
63861
63862         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
63863         contain the special marker '_cv_'.
63864         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
63865         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
63866         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
63867         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
63868         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
63869         Reported by Ralf Wildenhues.
63870
63871 2007-10-29  Bruno Haible  <bruno@clisp.org>
63872
63873         * gnulib-tool (func_import): When --lgpl is not specified, set
63874         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
63875         GPLv3.
63876         Reported by Simon Josefsson.
63877
63878 2007-10-28  Bruno Haible  <bruno@clisp.org>
63879
63880         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
63881         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
63882         HAVE_DECL_ISFINITE.
63883         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
63884         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
63885         HAVE_DECL_ISFINITE.
63886
63887 2007-10-28  Bruno Haible  <bruno@clisp.org>
63888
63889         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
63890         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
63891
63892 2007-10-28  Bruno Haible  <bruno@clisp.org>
63893
63894         Fix link errors with Sun C 5.0 on Solaris 10.
63895         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
63896         function is declared but not present in the compiler's libm.
63897         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
63898         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
63899         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
63900         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
63901         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
63902         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
63903         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
63904         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
63905         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
63906         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
63907         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
63908         HAVE_DECL_FLOORL.
63909
63910 2007-10-28  Bruno Haible  <bruno@clisp.org>
63911
63912         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
63913         gl_FUNC_FLOORL. Cache the result.
63914         (gl_FUNC_FLOORL): Use it.
63915         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
63916         gl_FUNC_CEILL. Cache the result.
63917         (gl_FUNC_CEILL): Use it.
63918
63919         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
63920         gl_FUNC_FLOOR. Cache the result.
63921         (gl_FUNC_FLOOR): Use it.
63922         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
63923         gl_FUNC_CEIL. Cache the result.
63924         (gl_FUNC_CEIL): Use it.
63925
63926         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
63927         gl_FUNC_FLOORF. Cache the result.
63928         (gl_FUNC_FLOORF): Use it.
63929         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
63930         gl_FUNC_CEILF. Cache the result.
63931         (gl_FUNC_CEILF): Use it.
63932
63933 2007-10-28  Bruno Haible  <bruno@clisp.org>
63934
63935         * gnulib-tool: Allow specifying the LGPL version number through
63936         --lgpl=2 or --lgpl=3.
63937         (func_usage): Document --lgpl with argument.
63938         Handle --lgpl=... arguments.
63939         (func_import): Recognize also gl_LGPL calls with an argument. When
63940         --lgpl=2 is used and the module's license is just LGPL, report an
63941         error. Set sed_transform_lib_file according to the lgpl variable. In
63942         the generated files, use --lgpl or gl_LGPL invocations with argument,
63943         if necessary.
63944         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
63945         an LGPv2+ license.
63946         * doc/gnulib-tool.texi (Modified imports): Update explanation of
63947         gl_LGPL macro.
63948
63949 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63950             Bruno Haible  <bruno@clisp.org>
63951
63952         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
63953         (u16_uctomb_aux): Likewise.
63954         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
63955         !HAVE_INLINE.
63956         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
63957
63958 2007-10-28  Bruno Haible  <bruno@clisp.org>
63959
63960         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
63961         Invoke AM_GETTEXT_OPTION if it exists.
63962         * modules/vasprintf: Likewise.
63963         * modules/verror: Likewise.
63964         * modules/xprintf: Likewise.
63965         * modules/xvasprintf: Likewise.
63966
63967 2007-10-27  Ben Pfaff  <blp@gnu.org>
63968
63969         * lib/math.in.h: Define isfinite macro and prototypes for
63970         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
63971         implementations.
63972         * m4/math_h.m4: New substitutions for isfinite module.
63973         * lib/isfinite.c: New file.
63974         * m4/isfinite.m4: New file.
63975         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
63976         * modules/isfinite: New file.
63977         * modules/isfinite-tests: New file.
63978         * tests/tests-isfinite.c: New file.
63979         * doc/functions/isfinite.texi: Mention isfinite module.
63980         * MODULES.html.sh: Mention new module.
63981
63982 2007-10-27  Ben Pfaff  <blp@gnu.org>
63983
63984         Ralf Wildenhues reported that Tru64 4.0D declares the round
63985         functions but does not have definitions.
63986         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
63987         cannot be found in any library, set the output variable to
63988         "missing" instead of "".
63989         * m4/round.m4: Also use our substitute if we cannot find round in
63990         any library, even if it is declared.
63991         * m4/roundf.m4: Likewise for roundf.
63992         * m4/roundl.m4: Likewise for roundl.
63993         * lib/math.in.h: Undefine roundf, round, roundl before defining
63994         their replacements, to allow for hypothetical systems where these
63995         may be defined as macros but not available in libraries.
63996
63997 2007-10-27  Bruno Haible  <bruno@clisp.org>
63998
63999         * doc/gnulib.texi: Invoke @firstparagraphindent.
64000         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
64001         changes in gnulib.
64002         (Source changes): New section.
64003
64004 2007-10-26  Bruno Haible  <bruno@clisp.org>
64005
64006         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
64007         borrowed from autoconf.
64008
64009 2007-10-26  Bruno Haible  <bruno@clisp.org>
64010
64011         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
64012         strerror returned the empty string. Needed on HP-UX 11.00.
64013
64014 2007-10-24  Micah Cowan  <micah@cowan.name>
64015
64016         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
64017         * build-aux/bootstrap: Remove support for now-unnecessary option,
64018         --cvs-user, and envvars CVS_USER, CVS_RSH.
64019
64020 2007-10-24  Jim Meyering  <meyering@redhat.com>
64021
64022         Avoid diagnostics from sha1sum when there is no cached checksum.
64023         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
64024         if the po.s1 file hasn't been created yet.
64025
64026         * build-aux/bootstrap: Sync from coreutils:
64027         2007-10-24  Jim Meyering  <meyering@redhat.com>
64028         Get gnulib from the git repository, not from an obsolete cvs one.
64029         * build-aux/bootstrap: Suggestion from Micah Cowan.
64030         2007-10-04  Jim Meyering  <jim@meyering.net>
64031         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
64032         (update_po_files): Work also when there are no .po files in po/.
64033
64034 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64035
64036         * README: Append ".git" to git and cg examples.
64037         Problem reported by Benoit Sigoure.
64038
64039 2007-10-23  Micah Cowan  <micah@cowan.name>
64040
64041         * users.txt: Add wget.
64042
64043 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64044
64045         Fix linking of some unistdio tests on FreeBSD.
64046         * modules/unistdio/u16-vsnprintf-tests
64047         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
64048         * modules/unistdio/u16-vsprintf-tests
64049         (test_u16_vsnprintf1_LDADD): Likewise.
64050         * modules/unistdio/u32-vsnprintf-tests
64051         (test_u32_vsnprintf1_LDADD): Likewise.
64052         * modules/unistdio/u32-vsprintf-tests
64053         (test_u32_vsprintf1_LDADD): Likewise.
64054         * modules/unistdio/u8-vsnprintf-tests
64055         (test_u8_vsnprintf1_LDADD): Likewise.
64056         * modules/unistdio/u8-vsprintf-tests
64057         (test_u8_vsprintf1_LDADD): Likewise.
64058         * modules/unistdio/ulc-vsnprintf-tests
64059         (test_ulc_vsnprintf1_LDADD): Likewise.
64060         * modules/unistdio/ulc-vsprintf-tests
64061         (test_ulc_vsprintf1_LDADD): Likewise.
64062
64063         Fix linking of some uniconv tests on FreeBSD.
64064         * modules/uniconv/u16-conv-from-enc-tests
64065         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
64066         * modules/uniconv/u16-conv-to-enc-tests
64067         (test_u16_conv_to_enc_LDADD): Likewise.
64068         * modules/uniconv/u16-strconv-from-enc-tests
64069         (test_u16_strconv_from_enc_LDADD): Likewise.
64070         * modules/uniconv/u16-strconv-to-enc-tests
64071         (test_u16_strconv_to_enc_LDADD): Likewise.
64072         * modules/uniconv/u32-conv-from-enc-tests
64073         (test_u32_conv_from_enc_LDADD): Likewise.
64074         * modules/uniconv/u32-conv-to-enc-tests
64075         (test_u32_conv_to_enc_LDADD): Likewise.
64076         * modules/uniconv/u32-strconv-from-enc-tests
64077         (test_u32_strconv_from_enc_LDADD): Likewise.
64078         * modules/uniconv/u32-strconv-to-enc-tests
64079         (test_u32_strconv_to_enc_LDADD): Likewise.
64080         * modules/uniconv/u8-conv-from-enc-tests
64081         (test_u8_conv_from_enc_LDADD): Likewise.
64082         * modules/uniconv/u8-conv-to-enc-tests
64083         (test_u8_conv_to_enc_LDADD): Likewise.
64084         * modules/uniconv/u8-strconv-from-enc-tests
64085         (test_u8_strconv_from_enc_LDADD): Likewise.
64086         * modules/uniconv/u8-strconv-to-enc-tests
64087         (test_u8_strconv_to_enc_LDADD): Likewise.
64088
64089 2007-10-22  Bruno Haible  <bruno@clisp.org>
64090
64091         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
64092         size.
64093
64094 2007-10-22  Eric Blake  <ebb9@byu.net>
64095
64096         Tweak x*printf documentation.
64097         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
64098         variable name and comments.
64099         Suggested by Bruno Haible.
64100
64101 2007-10-22  Bruno Haible  <bruno@clisp.org>
64102
64103         * lib/acl.c (copy_acl): Fix file name in comment.
64104
64105 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64106
64107         Fix Tru64 problem with stdbool.h.
64108         * lib/stdbool.in.h (false, true):
64109         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
64110         Don't declare as an enum in this situation; it runs afoul of Tru64.
64111         Problem reported by Steven M. Schweda in
64112         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
64113
64114 2007-10-22  Eric Blake  <ebb9@byu.net>
64115
64116         Also wrap vf?printf.
64117         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
64118         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
64119         (xvprintf, xvfprintf): New functions.
64120
64121 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64122
64123         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
64124         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
64125
64126         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
64127         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
64128
64129 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64130
64131         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
64132         by Bruno Haible.
64133
64134 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64135
64136         * lib/getloadavg.c
64137         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
64138         Undef `sys' after including sys/table.h, for Tru64 4.0D.
64139
64140         * tests/test-i-ring.c: Work for C89.
64141
64142 2007-10-22  Bruno Haible  <bruno@clisp.org>
64143
64144         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
64145         -1u, in preprocessor expression, so that we don't test for the bug
64146         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
64147         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
64148
64149 2007-10-22  Eric Blake  <ebb9@byu.net>
64150
64151         * tests/test-yesno.sh: Silence stderr during test.
64152
64153 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64154
64155         * modules/crypto/gc-camellia: New file.
64156
64157         * m4/gc-camellia.m4: New file.
64158
64159         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
64160
64161         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
64162
64163 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64164
64165         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
64166         --help to stdout.  Reported by sms@antinode.org (Steven
64167         M. Schweda).
64168
64169 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64170
64171         * users.txt: Fix link to libksba.
64172
64173 2007-10-21  Ben Pfaff  <blp@gnu.org>
64174
64175         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
64176         round.c roundf implementation that depends on floorf and ceilf to
64177         be tested unconditionally.
64178
64179 2007-10-21  Ben Pfaff  <blp@gnu.org>
64180
64181         * m4/check-libm-func.m4: Removed.
64182         * m4/check-math-lib.m4: New file.
64183         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
64184         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
64185         definition and lack of AC_LIBOBJ([roundf]).
64186         * m4/roundl.m4: Ditto, and similarly for roundl.
64187         * modules/round: Reference new m4 file.
64188         * modules/roundf: Ditto.
64189         * modules/roundl: Ditto.
64190         * tests/test-round2.c (main): Use ROUND instead of round.
64191         Bug report from Bruno Haible.
64192
64193 2007-10-21  Bruno Haible  <bruno@clisp.org>
64194
64195         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
64196         context.
64197
64198 2007-10-21  Bruno Haible  <bruno@clisp.org>
64199
64200         * tests/test-wcwidth.c (main): Allow negative result for some control
64201         characters.
64202
64203         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
64204         Needed on OSF/1 5.1.
64205
64206 2007-10-21  Bruno Haible  <bruno@clisp.org>
64207
64208         * tests/test-floorf1.c: Include isnanf.h.
64209         (main): Use isnanf() instead of isnan().
64210         * tests/test-ceilf1.c: Include isnanf.h.
64211         (main): Use isnanf() instead of isnan().
64212         * tests/test-truncf1.c: Include isnanf.h.
64213         (main): Use isnanf() instead of isnan().
64214         * tests/test-roundf1.c: Include isnanf.h.
64215         (main): Use isnanf() instead of isnan().
64216
64217 2007-10-21  Eric Blake  <ebb9@byu.net>
64218
64219         * users.txt: Update URL for m4.
64220
64221 2007-10-21  Bruno Haible  <bruno@clisp.org>
64222
64223         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
64224
64225 2007-10-21  Bruno Haible  <bruno@clisp.org>
64226
64227         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
64228         Git's management files if the CVS files are not present.
64229
64230 2007-10-20  Bruno Haible  <bruno@clisp.org>
64231
64232         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
64233         gcc-3.4.x.
64234
64235 2007-10-20  Ben Pfaff  <blp@gnu.org>
64236
64237         * lib/math.in.h: Declare round, roundf, roundl if we are providing
64238         implementations.
64239         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
64240         * lib/round.c: New file.
64241         * lib/roundf.c: New file.
64242         * lib/roundl.c: New file.
64243         * m4/round.m4: New file.
64244         * m4/roundf.m4: New file.
64245         * m4/roundl.m4: New file.
64246         * m4/check-libm-func-m4: New file.
64247         * modules/math: Replace round, roundf, roundl related @VARS@ in
64248         math.in.h.
64249         * modules/round: New file.
64250         * modules/round-tests: New file.
64251         * modules/roundf: New file.
64252         * modules/roundf-tests: New file.
64253         * modules/roundl: New file.
64254         * modules/roundl-tests: New file.
64255         * tests/test-round1.c: New file.
64256         * tests/test-round2.c: New file.
64257         * tests/test-roundf1.c: New file.
64258         * tests/test-roundf2.c: New file.
64259         * tests/test-roundl.c: New file.
64260         * doc/functions/round.texi: Mention round module.
64261         * doc/functions/roundf.texi: Mention roundf module.
64262         * doc/functions/roundl.texi: Mention roundl module.
64263         * MODULES.html.sh: Mention new modules.
64264         Thanks to Bruno Haible for suggestions.
64265
64266 2007-10-20  Jim Meyering  <meyering@redhat.com>
64267
64268         * lib/xprintf.c: Include <config.h> unconditionally.
64269
64270         Change xprintf's license to GPL.
64271         * modules/xprintf (License): s/LGPL/GPL/, since this module
64272         depends on modules (exit and exitfail) which are GPL.
64273         Suggestion from Bruno Haible.
64274
64275         xprintf fixes.
64276         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
64277         Use a clearer diagnostic.
64278         Patch from Bruno Haible.
64279
64280 2007-10-20  Bruno Haible  <bruno@clisp.org>
64281
64282         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
64283         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
64284         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64285
64286 2007-10-20  Bruno Haible  <bruno@clisp.org>
64287
64288         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
64289         precision in the comparison result > x - 1 or similar.
64290         * tests/test-ceilf2.c (correct_result_p): Likewise.
64291         * tests/test-truncf2.c (correct_result_p): Likewise.
64292         * tests/test-trunc2.c (correct_result_p): Likewise.
64293         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64294
64295 2007-10-20  Bruno Haible  <bruno@clisp.org>
64296
64297         * modules/ceil: New file.
64298         * m4/ceil.m4: New file.
64299         * doc/functions/ceil.texi: Mention the 'ceil' module.
64300
64301 2007-10-20  Bruno Haible  <bruno@clisp.org>
64302
64303         * modules/floor: New file.
64304         * m4/floor.m4: New file.
64305         * doc/functions/floor.texi: Mention the 'floor' module.
64306
64307 2007-10-20  Bruno Haible  <bruno@clisp.org>
64308
64309         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
64310         of %a.
64311         * modules/floorf-tests (Depends-on): Likewise.
64312         * modules/truncf-tests (Depends-on): Likewise.
64313         * modules/trunc-tests (Depends-on): Likewise.
64314         Reported by Ben Pfaff.
64315
64316 2007-10-19  Jim Meyering  <meyering@redhat.com>
64317
64318         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
64319         Don't bother testing specific errno values.  Just test ferror.
64320
64321         New module: xprintf
64322         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
64323
64324 2007-10-19  Bruno Haible  <bruno@clisp.org>
64325
64326         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
64327         syntax.
64328         * modules/javaexec (Makefile.am): Likewise.
64329         * modules/relocatable-prog (Makefile.am): Likewise.
64330         Suggested by Jim Meyering.
64331
64332 2007-10-18  Bruno Haible  <bruno@clisp.org>
64333
64334         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
64335         Reported by Jim Meyering.
64336
64337 2007-10-18  Eric Blake  <ebb9@byu.net>
64338
64339         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
64340
64341 2007-10-18  Bruno Haible  <bruno@clisp.org>
64342
64343         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
64344         the format string into writable memory. Needed in Fortify conditions.
64345
64346 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
64347             Bruno Haible  <bruno@clisp.org>
64348
64349         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
64350         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
64351         * modules/trim (Depends-on): Add mbchar.
64352         (configure.ac): Add gl_FUNC_MBRTOWC.
64353         (Makefile.am): Augment lib_SOURCES.
64354
64355 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
64356
64357         Modify glob.c to use fstatat and dirfd, to simplify it.
64358         Suggested by Eric Blake.
64359         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
64360         Don't include <stdbool.h>; not used.
64361         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
64362         (link_exists_p): Simplify implementation, since we can now assume
64363         dirfd and fstatat.
64364         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
64365
64366 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64367
64368         * gnulib-tool (func_get_dependencies): Fix sed script to
64369         match only tests.
64370
64371 2007-10-17  Bruno Haible  <bruno@clisp.org>
64372
64373         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
64374         allow locale names without encoding suffix.
64375         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
64376         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64377
64378 2007-10-16  Bruno Haible  <bruno@clisp.org>
64379
64380         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
64381         * lib/getgroups.c (getgroups): Likewise.
64382         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
64383
64384 2007-10-16  Bruno Haible  <bruno@clisp.org>
64385
64386         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
64387         * modules/malloc-posix (License): Likewise.
64388         * modules/realloc-posix (License): Likewise.
64389         * modules/calloc-posix (License): Likewise.
64390         * modules/intprops (License): Change from GPL to LGPL, with
64391         Paul Eggert's approval.
64392
64393 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64394
64395         Merge glibc changes into lib/glob.c.
64396
64397         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
64398         2007-10-15 04:59:03 UTC.  Here are the changes:
64399
64400         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
64401
64402         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
64403
64404         * lib/glob.c: Add some branch prediction throughout.
64405
64406         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
64407
64408         [BZ #5103]
64409         * lib/glob.c (glob): Recognize patterns starting \/.
64410
64411         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
64412
64413         [BZ #3996]
64414         * lib/glob.c (attribute_hidden): Define if not defined.
64415         (glob): Unescape dirname, filename or username when needed and not
64416         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
64417         is NULL.  Handle unescaped [ in pattern without closing ].
64418         Don't pass GLOB_CHECK down to recursive glob for directories.
64419         (__glob_pattern_type): New function.
64420         (__glob_pattern_p): Implement using __glob_pattern_type.
64421         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
64422         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
64423         Remove unreachable code.
64424
64425         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
64426
64427         * lib/glob.c (glob_in_dir): Add some comments and asserts to
64428         explain why there are no leaks.
64429
64430         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
64431
64432         [BZ #3253]
64433         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
64434         time, rather allocate increasingly bigger arrays of pointers, if
64435         possible with alloca, if too large with malloc.
64436
64437 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64438
64439         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
64440         Problem reported by H.Merijn Brand in
64441         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
64442         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
64443         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
64444
64445 2007-10-15  Bruno Haible  <bruno@clisp.org>
64446
64447         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
64448         with explicit rpl_ prefix.
64449         * lib/fopen.c (fopen): Likewise.
64450         * lib/freopen.c (freopen): Likewise.
64451         * lib/iconv.c (iconv): Likewise.
64452         * lib/iconv_close.c (iconv_close): Likewise.
64453
64454 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64455
64456         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
64457
64458 2007-10-15  Bruno Haible  <bruno@clisp.org>
64459
64460         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
64461         <stddef.h> instead of <stdlib.h> since we only need NULL.
64462         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64463
64464 2007-10-15  Bruno Haible  <bruno@clisp.org>
64465
64466         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
64467         Replace paragraph talking about LIBOBJS.
64468         Reported by Colin Watson <cjwatson@debian.org>.
64469
64470 2007-10-15  Bruno Haible  <bruno@clisp.org>
64471
64472         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
64473         <stdlib.h> before using NULL.
64474
64475 2007-10-15  Simon Josefsson  <simon@josefsson.org>
64476
64477         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
64478         Reported by Albert Chin <china@thewrittenword.com>.
64479
64480 2007-10-14  Bruno Haible  <bruno@clisp.org>
64481
64482         * modules/iconv_open-utf-tests: New file.
64483         * tests/test-iconv-utf.c: New file.
64484
64485         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
64486         * modules/iconv_open-utf: New file.
64487         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
64488         (iconv, iconv_close): New declarations.
64489         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
64490         be defined.
64491         (iconv_open): Add special handling of conversion between UTF-8 and
64492         UTF-{16,32}{BE,LE}.
64493         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
64494         * lib/iconv_close.c: New file.
64495         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
64496         gl_FUNC_ICONV_OPEN.
64497         (gl_FUNC_ICONV_OPEN): Use it.
64498         (gl_FUNC_ICONV_OPEN_UTF): New macro.
64499         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
64500         and REPLACE_ICONV_UTF.
64501         * modules/iconv_open (Depends-on): Add c-strcase.
64502         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
64503         ICONV_CONST.
64504         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
64505
64506 2007-10-13  Albert Chin  <china@thewrittenword.com>
64507             Bruno Haible  <bruno@clisp.org>
64508
64509         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
64510         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
64511
64512 2007-10-13  Bruno Haible  <bruno@clisp.org>
64513
64514         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
64515         defined, use the ISO C99 inline semantics.
64516         * lib/argp.h (ARGP_EI): Likewise.
64517
64518 2007-10-13  Bruno Haible  <bruno@clisp.org>
64519
64520         Handle 'inline' change in gcc 4.3.0.
64521         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
64522         argp_fmtstream_write, argp_fmtstream_set_lmargin,
64523         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
64524         argp_fmtstream_point): Disable 'extern' declaration if the function
64525         definition is going to be provided inline.
64526         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
64527         semantics, not the ISO C99 inline semantics.
64528         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
64529         'extern' declaration if the function definition is going to be provided
64530         inline.
64531         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
64532         the GNU C inline semantics, not the ISO C99 inline semantics. With
64533         GCC 4.2, avoid a warning.
64534
64535 2007-10-13  Bruno Haible  <bruno@clisp.org>
64536
64537         * lib/freading.h (freading): Enable the use of __freading for
64538         glibc >= 2.7.
64539         * lib/freading.c (freading): Likewise.
64540
64541 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
64542
64543         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
64544         "warning: C99 inline functions are not supported; using GNU89".
64545
64546 2007-10-12  Bruno Haible  <bruno@clisp.org>
64547
64548         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
64549         of 2.
64550         * tests/test-ceilf2.c: New file.
64551         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
64552
64553         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
64554         * modules/ceilf-tests: Update.
64555
64556 2007-10-12  Bruno Haible  <bruno@clisp.org>
64557
64558         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
64559         of 2.
64560         * tests/test-floorf2.c: New file.
64561         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
64562
64563         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
64564         * modules/floorf-tests: Update.
64565
64566 2007-10-12  Bruno Haible  <bruno@clisp.org>
64567
64568         * tests/test-trunc2.c: New file.
64569         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
64570
64571         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
64572         * modules/trunc-tests: Update.
64573
64574 2007-10-12  Bruno Haible  <bruno@clisp.org>
64575
64576         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
64577         of 2.
64578         * tests/test-truncf2.c: New file.
64579         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
64580
64581         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
64582         * modules/truncf-tests: Update.
64583
64584 2007-10-11  Eric Blake  <ebb9@byu.net>
64585
64586         Don't claim strerror is broken on Interix.
64587         * doc/functions/strerror.texi (strerror): Known broken systems are
64588         now Solaris 8, and not Interix.
64589         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
64590         Interix on cross-compile.
64591         Reported by Martin Koeppe in
64592         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
64593
64594 2007-10-11  Bruno Haible  <bruno@clisp.org>
64595
64596         * modules/i-ring-tests: New file.
64597         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
64598         instead of assert.
64599
64600 2007-10-11  Bruno Haible  <bruno@clisp.org>
64601
64602         * modules/filenamecat-tests: New file.
64603         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
64604         * lib/filenamecat.c: Remove test code.
64605
64606 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
64607
64608         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
64609
64610         * lib/strerror.c: Include <string.h> always, to test interface,
64611         and to remove the need for the dummy.
64612         Include intprops.h to compute width instead of doing it ourselves
64613         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
64614         (strerror): Define it to return NULL if there's no system strerror.
64615         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
64616         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
64617         ancient pre-strerror Unix systems well any more.  Saying "unknown
64618         system error" is enough.
64619         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
64620         simpler strerror.c implementation.
64621         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
64622         Simplify the tests to reflect the simpler strerror implementation.
64623         * modules/strerror (Depends-on): Add intprops.
64624
64625 2007-10-09  Eric Blake  <ebb9@byu.net>
64626
64627         Silence test-fpending.
64628         * modules/fpending-tests (Files): Add wrapper script.
64629         * tests/test-fpending.sh: New file.
64630
64631 2007-10-09  Bruno Haible  <bruno@clisp.org>
64632
64633         * MODULES.html.sh (func_module): Don't create a hyperlink for
64634         function names like 'printf_frexp'.
64635         (Misc): Add crc, memxor.
64636         (Characteristics of floating types): New section.
64637         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
64638         isnanf-nolibm, signbit, trunc, truncf, truncl.
64639         (Enhancements for ISO C 99 functions): New subsection Input/output.
64640         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
64641         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
64642         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
64643         (Compatibility checks for POSIX:2001 functions): Add clock-time.
64644         (Enhancements for POSIX:2001 functions): Add chdir-long.
64645         (File system functions): Add areadlink, chdir-safer, read-file.
64646         Remove cycle-check.
64647         (File system as inode set): New section.
64648         (Date and time): Add gethrxtime.
64649         (Multithreading): Add openmp.
64650         (Internationalization functions): Add localename.
64651         (Unicode string functions): Add unistr/u*-mbsnlen.
64652         (Support for maintaining and releasing projects): Add git-version-gen.
64653         (Lone files): Remove directories.
64654
64655 2007-10-08  Ben Pfaff  <blp@gnu.org>
64656
64657         * lib/xmalloca.h: Fix typo in comment.
64658
64659 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64660
64661         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
64662         when avoiding problems with integer overflow.  Use a portable test
64663         instead.
64664
64665 2007-10-08  Simon Josefsson  <simon@josefsson.org>
64666
64667         * modules/dummy (License): Change to LGPLv2+.
64668         * modules/float (License): Likewise
64669         * modules/realloc (License): Likewise
64670         * modules/stdlib (License): Likewise
64671
64672 2007-10-07  Bruno Haible  <bruno@clisp.org>
64673
64674         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
64675         * floor.c (TWO_MANT_DIG): Likewise.
64676         * ceil.c (TWO_MANT_DIG): Likewise.
64677         Reported by Ben Pfaff.
64678
64679 2007-10-07  Bruno Haible  <bruno@clisp.org>
64680
64681         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
64682         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
64683         * lib/frexp.c (FUNC): Likewise.
64684         * lib/printf-frexp.h (printf_frexp): Likewise.
64685         * lib/printf-frexpl.h (printf_frexpl): Likewise.
64686         * lib/printf-frexp.c (FUNC): Likewise.
64687         Suggested by Jim Meyering.
64688
64689 2007-10-07  Jim Meyering  <meyering@redhat.com>
64690
64691         Make xnanosleep's integer overflow test more robust.
64692         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
64693         so that gcc-4.3.0 doesn't optimize away this test for overflow.
64694
64695 2007-10-07  Bruno Haible  <bruno@clisp.org>
64696
64697         * NEWS: Mention the license change.
64698
64699         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
64700         abbreviations in the modules files.
64701
64702         Change copyright notice from GPLv2+ to GPLv3+.
64703         * README: Change copyright notice.
64704         * MODULES.html.sh: Likewise.
64705         * build-aux/bootstrap.conf: Likewise.
64706         * build-aux/config.libpath: Likewise.
64707         * build-aux/csharpcomp.sh.in: Likewise.
64708         * build-aux/csharpexec.sh.in: Likewise.
64709         * build-aux/install-reloc: Likewise.
64710         * build-aux/javacomp.sh.in: Likewise.
64711         * build-aux/javaexec.sh.in: Likewise.
64712         * build-aux/ldd.sh.in: Likewise.
64713         * build-aux/reloc-ldflags: Likewise.
64714         * build-aux/relocatable.sh.in: Likewise.
64715         * build-aux/x-to-1.in: Likewise.
64716         * check-module: Likewise.
64717         * config/srclistvars.sh: Likewise.
64718         * gnulib-tool: Likewise.
64719         * lib/acl-internal.h: Likewise.
64720         * lib/acl.c: Likewise.
64721         * lib/acl.h: Likewise.
64722         * lib/acl_entries.c: Likewise.
64723         * lib/areadlink-with-size.c: Likewise.
64724         * lib/areadlink.c: Likewise.
64725         * lib/areadlink.h: Likewise.
64726         * lib/argmatch.c: Likewise.
64727         * lib/argmatch.h: Likewise.
64728         * lib/argp-ba.c: Likewise.
64729         * lib/argp-eexst.c: Likewise.
64730         * lib/argp-fmtstream.c: Likewise.
64731         * lib/argp-fmtstream.h: Likewise.
64732         * lib/argp-fs-xinl.c: Likewise.
64733         * lib/argp-help.c: Likewise.
64734         * lib/argp-namefrob.h: Likewise.
64735         * lib/argp-parse.c: Likewise.
64736         * lib/argp-pin.c: Likewise.
64737         * lib/argp-pv.c: Likewise.
64738         * lib/argp-pvh.c: Likewise.
64739         * lib/argp-xinl.c: Likewise.
64740         * lib/argp.h: Likewise.
64741         * lib/at-func.c: Likewise.
64742         * lib/atanl.c: Likewise.
64743         * lib/backupfile.c: Likewise.
64744         * lib/backupfile.h: Likewise.
64745         * lib/basename.c: Likewise.
64746         * lib/binary-io.h: Likewise.
64747         * lib/byteswap.in.h: Likewise.
64748         * lib/c-stack.c: Likewise.
64749         * lib/c-stack.h: Likewise.
64750         * lib/c-strcasestr.c: Likewise.
64751         * lib/c-strcasestr.h: Likewise.
64752         * lib/c-strstr.c: Likewise.
64753         * lib/c-strstr.h: Likewise.
64754         * lib/c-strtod.c: Likewise.
64755         * lib/calloc.c: Likewise.
64756         * lib/canon-host.c: Likewise.
64757         * lib/canon-host.h: Likewise.
64758         * lib/canonicalize-lgpl.c: Likewise.
64759         * lib/canonicalize.c: Likewise.
64760         * lib/canonicalize.h: Likewise.
64761         * lib/ceil.c: Likewise.
64762         * lib/ceilf.c: Likewise.
64763         * lib/ceill.c: Likewise.
64764         * lib/chdir-long.c: Likewise.
64765         * lib/chdir-long.h: Likewise.
64766         * lib/chdir-safer.c: Likewise.
64767         * lib/chdir-safer.h: Likewise.
64768         * lib/chown.c: Likewise.
64769         * lib/classpath.c: Likewise.
64770         * lib/classpath.h: Likewise.
64771         * lib/clean-temp.c: Likewise.
64772         * lib/clean-temp.h: Likewise.
64773         * lib/cloexec.c: Likewise.
64774         * lib/close-stream.c: Likewise.
64775         * lib/closein.c: Likewise.
64776         * lib/closein.h: Likewise.
64777         * lib/closeout.c: Likewise.
64778         * lib/closeout.h: Likewise.
64779         * lib/concat-filename.c: Likewise.
64780         * lib/copy-file.c: Likewise.
64781         * lib/copy-file.h: Likewise.
64782         * lib/count-one-bits.h: Likewise.
64783         * lib/crc.c: Likewise.
64784         * lib/crc.h: Likewise.
64785         * lib/creat-safer.c: Likewise.
64786         * lib/csharpcomp.c: Likewise.
64787         * lib/csharpcomp.h: Likewise.
64788         * lib/csharpexec.c: Likewise.
64789         * lib/csharpexec.h: Likewise.
64790         * lib/cycle-check.c: Likewise.
64791         * lib/cycle-check.h: Likewise.
64792         * lib/diacrit.c: Likewise.
64793         * lib/diacrit.h: Likewise.
64794         * lib/diffseq.h: Likewise.
64795         * lib/dirchownmod.c: Likewise.
64796         * lib/dirent.in.h: Likewise.
64797         * lib/dirfd.c: Likewise.
64798         * lib/dirfd.h: Likewise.
64799         * lib/dirname.c: Likewise.
64800         * lib/dirname.h: Likewise.
64801         * lib/dummy.c: Likewise.
64802         * lib/dup-safer.c: Likewise.
64803         * lib/dup2.c: Likewise.
64804         * lib/eealloc.h: Likewise.
64805         * lib/error.c: Likewise.
64806         * lib/error.h: Likewise.
64807         * lib/euidaccess.c: Likewise.
64808         * lib/exclude.c: Likewise.
64809         * lib/exclude.h: Likewise.
64810         * lib/execute.c: Likewise.
64811         * lib/execute.h: Likewise.
64812         * lib/exitfail.c: Likewise.
64813         * lib/exitfail.h: Likewise.
64814         * lib/expl.c: Likewise.
64815         * lib/fatal-signal.c: Likewise.
64816         * lib/fatal-signal.h: Likewise.
64817         * lib/fbufmode.c: Likewise.
64818         * lib/fbufmode.h: Likewise.
64819         * lib/fchdir.c: Likewise.
64820         * lib/fchmodat.c: Likewise.
64821         * lib/fchownat.c: Likewise.
64822         * lib/fcntl--.h: Likewise.
64823         * lib/fcntl-safer.h: Likewise.
64824         * lib/fcntl.in.h: Likewise.
64825         * lib/fd-safer.c: Likewise.
64826         * lib/fflush.c: Likewise.
64827         * lib/file-has-acl.c: Likewise.
64828         * lib/file-set.c: Likewise.
64829         * lib/file-type.c: Likewise.
64830         * lib/file-type.h: Likewise.
64831         * lib/fileblocks.c: Likewise.
64832         * lib/filemode.c: Likewise.
64833         * lib/filemode.h: Likewise.
64834         * lib/filename.h: Likewise.
64835         * lib/filenamecat.c: Likewise.
64836         * lib/filenamecat.h: Likewise.
64837         * lib/findprog.c: Likewise.
64838         * lib/findprog.h: Likewise.
64839         * lib/float.in.h: Likewise.
64840         * lib/floor.c: Likewise.
64841         * lib/floorf.c: Likewise.
64842         * lib/floorl.c: Likewise.
64843         * lib/fopen-safer.c: Likewise.
64844         * lib/fopen.c: Likewise.
64845         * lib/fpending.c: Likewise.
64846         * lib/fpending.h: Likewise.
64847         * lib/fprintf.c: Likewise.
64848         * lib/fprintftime.h: Likewise.
64849         * lib/fpucw.h: Likewise.
64850         * lib/fpurge.c: Likewise.
64851         * lib/fpurge.h: Likewise.
64852         * lib/freadable.c: Likewise.
64853         * lib/freadable.h: Likewise.
64854         * lib/freadahead.c: Likewise.
64855         * lib/freadahead.h: Likewise.
64856         * lib/freading.c: Likewise.
64857         * lib/freading.h: Likewise.
64858         * lib/free.c: Likewise.
64859         * lib/freopen.c: Likewise.
64860         * lib/frexp.c: Likewise.
64861         * lib/frexpl.c: Likewise.
64862         * lib/fseek.c: Likewise.
64863         * lib/fseterr.c: Likewise.
64864         * lib/fseterr.h: Likewise.
64865         * lib/fstatat.c: Likewise.
64866         * lib/fstrcmp.c: Likewise.
64867         * lib/fstrcmp.h: Likewise.
64868         * lib/fsusage.c: Likewise.
64869         * lib/fsusage.h: Likewise.
64870         * lib/ftell.c: Likewise.
64871         * lib/ftello.c: Likewise.
64872         * lib/fts-cycle.c: Likewise.
64873         * lib/fts.c: Likewise.
64874         * lib/fts_.h: Likewise.
64875         * lib/full-read.c: Likewise.
64876         * lib/full-read.h: Likewise.
64877         * lib/full-write.c: Likewise.
64878         * lib/full-write.h: Likewise.
64879         * lib/fwritable.c: Likewise.
64880         * lib/fwritable.h: Likewise.
64881         * lib/fwriteerror.c: Likewise.
64882         * lib/fwriteerror.h: Likewise.
64883         * lib/fwriting.c: Likewise.
64884         * lib/fwriting.h: Likewise.
64885         * lib/gcd.c: Likewise.
64886         * lib/gcd.h: Likewise.
64887         * lib/getcwd.c: Likewise.
64888         * lib/getdate.h: Likewise.
64889         * lib/getdate.y: Likewise.
64890         * lib/getdomainname.c: Likewise.
64891         * lib/getdomainname.h: Likewise.
64892         * lib/getgroups.c: Likewise.
64893         * lib/gethostname.c: Likewise.
64894         * lib/gethrxtime.c: Likewise.
64895         * lib/gethrxtime.h: Likewise.
64896         * lib/getloadavg.c: Likewise.
64897         * lib/getndelim2.c: Likewise.
64898         * lib/getndelim2.h: Likewise.
64899         * lib/getnline.c: Likewise.
64900         * lib/getnline.h: Likewise.
64901         * lib/getopt.c: Likewise.
64902         * lib/getopt.in.h: Likewise.
64903         * lib/getopt1.c: Likewise.
64904         * lib/getopt_int.h: Likewise.
64905         * lib/getpagesize.h: Likewise.
64906         * lib/getsubopt.c: Likewise.
64907         * lib/gettime.c: Likewise.
64908         * lib/getugroups.c: Likewise.
64909         * lib/getugroups.h: Likewise.
64910         * lib/getusershell.c: Likewise.
64911         * lib/gl_anyavltree_list1.h: Likewise.
64912         * lib/gl_anyavltree_list2.h: Likewise.
64913         * lib/gl_anyhash_list1.h: Likewise.
64914         * lib/gl_anyhash_list2.h: Likewise.
64915         * lib/gl_anylinked_list1.h: Likewise.
64916         * lib/gl_anylinked_list2.h: Likewise.
64917         * lib/gl_anyrbtree_list1.h: Likewise.
64918         * lib/gl_anyrbtree_list2.h: Likewise.
64919         * lib/gl_anytree_list1.h: Likewise.
64920         * lib/gl_anytree_list2.h: Likewise.
64921         * lib/gl_anytree_oset.h: Likewise.
64922         * lib/gl_anytreehash_list1.h: Likewise.
64923         * lib/gl_anytreehash_list2.h: Likewise.
64924         * lib/gl_array_list.c: Likewise.
64925         * lib/gl_array_list.h: Likewise.
64926         * lib/gl_array_oset.c: Likewise.
64927         * lib/gl_array_oset.h: Likewise.
64928         * lib/gl_avltree_list.c: Likewise.
64929         * lib/gl_avltree_list.h: Likewise.
64930         * lib/gl_avltree_oset.c: Likewise.
64931         * lib/gl_avltree_oset.h: Likewise.
64932         * lib/gl_avltreehash_list.c: Likewise.
64933         * lib/gl_avltreehash_list.h: Likewise.
64934         * lib/gl_carray_list.c: Likewise.
64935         * lib/gl_carray_list.h: Likewise.
64936         * lib/gl_linked_list.c: Likewise.
64937         * lib/gl_linked_list.h: Likewise.
64938         * lib/gl_linkedhash_list.c: Likewise.
64939         * lib/gl_linkedhash_list.h: Likewise.
64940         * lib/gl_list.c: Likewise.
64941         * lib/gl_list.h: Likewise.
64942         * lib/gl_oset.c: Likewise.
64943         * lib/gl_oset.h: Likewise.
64944         * lib/gl_rbtree_list.c: Likewise.
64945         * lib/gl_rbtree_list.h: Likewise.
64946         * lib/gl_rbtree_oset.c: Likewise.
64947         * lib/gl_rbtree_oset.h: Likewise.
64948         * lib/gl_rbtreehash_list.c: Likewise.
64949         * lib/gl_rbtreehash_list.h: Likewise.
64950         * lib/gl_sublist.c: Likewise.
64951         * lib/gl_sublist.h: Likewise.
64952         * lib/group-member.c: Likewise.
64953         * lib/group-member.h: Likewise.
64954         * lib/hard-locale.c: Likewise.
64955         * lib/hard-locale.h: Likewise.
64956         * lib/hash-pjw.c: Likewise.
64957         * lib/hash-pjw.h: Likewise.
64958         * lib/hash-triple.c: Likewise.
64959         * lib/hash.c: Likewise.
64960         * lib/hash.h: Likewise.
64961         * lib/human.c: Likewise.
64962         * lib/human.h: Likewise.
64963         * lib/i-ring.c: Likewise.
64964         * lib/i-ring.h: Likewise.
64965         * lib/idcache.c: Likewise.
64966         * lib/imaxabs.c: Likewise.
64967         * lib/imaxdiv.c: Likewise.
64968         * lib/inet_pton.c: Likewise.
64969         * lib/inet_pton.h: Likewise.
64970         * lib/intprops.h: Likewise.
64971         * lib/inttostr.c: Likewise.
64972         * lib/inttostr.h: Likewise.
64973         * lib/inttypes.in.h: Likewise.
64974         * lib/isapipe.c: Likewise.
64975         * lib/isdir.c: Likewise.
64976         * lib/isnan.c: Likewise.
64977         * lib/isnan.h: Likewise.
64978         * lib/isnanf.c: Likewise.
64979         * lib/isnanf.h: Likewise.
64980         * lib/isnanl-nolibm.h: Likewise.
64981         * lib/isnanl.c: Likewise.
64982         * lib/isnanl.h: Likewise.
64983         * lib/javacomp.c: Likewise.
64984         * lib/javacomp.h: Likewise.
64985         * lib/javaexec.c: Likewise.
64986         * lib/javaexec.h: Likewise.
64987         * lib/javaversion.c: Likewise.
64988         * lib/javaversion.h: Likewise.
64989         * lib/javaversion.java: Likewise.
64990         * lib/lbrkprop.h: Likewise.
64991         * lib/lchmod.h: Likewise.
64992         * lib/lchown.c: Likewise.
64993         * lib/ldexpl.c: Likewise.
64994         * lib/linebreak.c: Likewise.
64995         * lib/linebreak.h: Likewise.
64996         * lib/linebuffer.c: Likewise.
64997         * lib/linebuffer.h: Likewise.
64998         * lib/locale.in.h: Likewise.
64999         * lib/logl.c: Likewise.
65000         * lib/long-options.c: Likewise.
65001         * lib/long-options.h: Likewise.
65002         * lib/lstat.c: Likewise.
65003         * lib/lstat.h: Likewise.
65004         * lib/math.in.h: Likewise.
65005         * lib/mbchar.c: Likewise.
65006         * lib/mbchar.h: Likewise.
65007         * lib/mbfile.h: Likewise.
65008         * lib/mbiter.h: Likewise.
65009         * lib/mbscasecmp.c: Likewise.
65010         * lib/mbscasestr.c: Likewise.
65011         * lib/mbschr.c: Likewise.
65012         * lib/mbscspn.c: Likewise.
65013         * lib/mbslen.c: Likewise.
65014         * lib/mbsncasecmp.c: Likewise.
65015         * lib/mbsnlen.c: Likewise.
65016         * lib/mbspbrk.c: Likewise.
65017         * lib/mbspcasecmp.c: Likewise.
65018         * lib/mbsrchr.c: Likewise.
65019         * lib/mbssep.c: Likewise.
65020         * lib/mbsspn.c: Likewise.
65021         * lib/mbsstr.c: Likewise.
65022         * lib/mbstok_r.c: Likewise.
65023         * lib/mbswidth.c: Likewise.
65024         * lib/mbswidth.h: Likewise.
65025         * lib/mbuiter.h: Likewise.
65026         * lib/memcasecmp.c: Likewise.
65027         * lib/memcasecmp.h: Likewise.
65028         * lib/memchr.c: Likewise.
65029         * lib/memcmp.c: Likewise.
65030         * lib/memcoll.c: Likewise.
65031         * lib/memcoll.h: Likewise.
65032         * lib/memcpy.c: Likewise.
65033         * lib/memrchr.c: Likewise.
65034         * lib/mkancesdirs.c: Likewise.
65035         * lib/mkdir-p.c: Likewise.
65036         * lib/mkdir-p.h: Likewise.
65037         * lib/mkdir.c: Likewise.
65038         * lib/mkdirat.c: Likewise.
65039         * lib/mkdtemp.c: Likewise.
65040         * lib/mkstemp-safer.c: Likewise.
65041         * lib/mkstemp.c: Likewise.
65042         * lib/modechange.c: Likewise.
65043         * lib/modechange.h: Likewise.
65044         * lib/mountlist.c: Likewise.
65045         * lib/mountlist.h: Likewise.
65046         * lib/mpsort.c: Likewise.
65047         * lib/nanosleep.c: Likewise.
65048         * lib/obstack.c: Likewise.
65049         * lib/obstack.h: Likewise.
65050         * lib/open-safer.c: Likewise.
65051         * lib/open.c: Likewise.
65052         * lib/openat-die.c: Likewise.
65053         * lib/openat-priv.h: Likewise.
65054         * lib/openat-proc.c: Likewise.
65055         * lib/openat.c: Likewise.
65056         * lib/openat.h: Likewise.
65057         * lib/pagealign_alloc.c: Likewise.
65058         * lib/pagealign_alloc.h: Likewise.
65059         * lib/physmem.c: Likewise.
65060         * lib/physmem.h: Likewise.
65061         * lib/pipe-safer.c: Likewise.
65062         * lib/pipe.c: Likewise.
65063         * lib/pipe.h: Likewise.
65064         * lib/posixtm.c: Likewise.
65065         * lib/posixtm.h: Likewise.
65066         * lib/posixver.c: Likewise.
65067         * lib/printf-frexp.c: Likewise.
65068         * lib/printf-frexp.h: Likewise.
65069         * lib/printf-frexpl.c: Likewise.
65070         * lib/printf-frexpl.h: Likewise.
65071         * lib/printf.c: Likewise.
65072         * lib/progname.c: Likewise.
65073         * lib/progname.h: Likewise.
65074         * lib/progreloc.c: Likewise.
65075         * lib/putenv.c: Likewise.
65076         * lib/quote.c: Likewise.
65077         * lib/quote.h: Likewise.
65078         * lib/quotearg.c: Likewise.
65079         * lib/quotearg.h: Likewise.
65080         * lib/raise.c: Likewise.
65081         * lib/readline.c: Likewise.
65082         * lib/readline.h: Likewise.
65083         * lib/readlink.c: Likewise.
65084         * lib/readtokens.c: Likewise.
65085         * lib/readtokens.h: Likewise.
65086         * lib/readtokens0.c: Likewise.
65087         * lib/readtokens0.h: Likewise.
65088         * lib/readutmp.c: Likewise.
65089         * lib/readutmp.h: Likewise.
65090         * lib/realloc.c: Likewise.
65091         * lib/relocwrapper.c: Likewise.
65092         * lib/rename-dest-slash.c: Likewise.
65093         * lib/rename.c: Likewise.
65094         * lib/rmdir.c: Likewise.
65095         * lib/rpmatch.c: Likewise.
65096         * lib/safe-read.c: Likewise.
65097         * lib/safe-read.h: Likewise.
65098         * lib/safe-write.c: Likewise.
65099         * lib/safe-write.h: Likewise.
65100         * lib/same-inode.h: Likewise.
65101         * lib/same.c: Likewise.
65102         * lib/same.h: Likewise.
65103         * lib/save-cwd.c: Likewise.
65104         * lib/save-cwd.h: Likewise.
65105         * lib/savedir.c: Likewise.
65106         * lib/savedir.h: Likewise.
65107         * lib/savewd.c: Likewise.
65108         * lib/savewd.h: Likewise.
65109         * lib/search.in.h: Likewise.
65110         * lib/setenv.c: Likewise.
65111         * lib/setenv.h: Likewise.
65112         * lib/settime.c: Likewise.
65113         * lib/sh-quote.c: Likewise.
65114         * lib/sh-quote.h: Likewise.
65115         * lib/sig2str.c: Likewise.
65116         * lib/sig2str.h: Likewise.
65117         * lib/signal.in.h: Likewise.
65118         * lib/signbitd.c: Likewise.
65119         * lib/signbitf.c: Likewise.
65120         * lib/signbitl.c: Likewise.
65121         * lib/sigprocmask.c: Likewise.
65122         * lib/sincosl.c: Likewise.
65123         * lib/sleep.c: Likewise.
65124         * lib/sprintf.c: Likewise.
65125         * lib/sqrtl.c: Likewise.
65126         * lib/stat-time.h: Likewise.
65127         * lib/stdio--.h: Likewise.
65128         * lib/stdio-safer.h: Likewise.
65129         * lib/stdlib--.h: Likewise.
65130         * lib/stdlib-safer.h: Likewise.
65131         * lib/stdlib.in.h: Likewise.
65132         * lib/stpcpy.c: Likewise.
65133         * lib/stpncpy.c: Likewise.
65134         * lib/strchrnul.c: Likewise.
65135         * lib/strcspn.c: Likewise.
65136         * lib/strerror.c: Likewise.
65137         * lib/strftime.c: Likewise.
65138         * lib/strftime.h: Likewise.
65139         * lib/striconveh.c: Likewise.
65140         * lib/striconveh.h: Likewise.
65141         * lib/striconveha.c: Likewise.
65142         * lib/striconveha.h: Likewise.
65143         * lib/stripslash.c: Likewise.
65144         * lib/strnlen1.c: Likewise.
65145         * lib/strnlen1.h: Likewise.
65146         * lib/strtod.c: Likewise.
65147         * lib/strtoimax.c: Likewise.
65148         * lib/strtok_r.c: Likewise.
65149         * lib/strtol.c: Likewise.
65150         * lib/strtoll.c: Likewise.
65151         * lib/strtoul.c: Likewise.
65152         * lib/strtoull.c: Likewise.
65153         * lib/sysexits.in.h: Likewise.
65154         * lib/tempname.c: Likewise.
65155         * lib/tempname.h: Likewise.
65156         * lib/timespec.h: Likewise.
65157         * lib/tls.c: Likewise.
65158         * lib/tls.h: Likewise.
65159         * lib/tmpdir.c: Likewise.
65160         * lib/tmpdir.h: Likewise.
65161         * lib/tmpfile-safer.c: Likewise.
65162         * lib/tmpfile.c: Likewise.
65163         * lib/trigl.c: Likewise.
65164         * lib/trigl.h: Likewise.
65165         * lib/trim.c: Likewise.
65166         * lib/trim.h: Likewise.
65167         * lib/trunc.c: Likewise.
65168         * lib/truncf.c: Likewise.
65169         * lib/truncl.c: Likewise.
65170         * lib/tsearch.c: Likewise.
65171         * lib/unicodeio.c: Likewise.
65172         * lib/unicodeio.h: Likewise.
65173         * lib/unistd--.h: Likewise.
65174         * lib/unistd-safer.h: Likewise.
65175         * lib/unistdio/ulc-fprintf.c: Likewise.
65176         * lib/unistdio/ulc-vfprintf.c: Likewise.
65177         * lib/unlinkdir.c: Likewise.
65178         * lib/unlinkdir.h: Likewise.
65179         * lib/unlocked-io.h: Likewise.
65180         * lib/unsetenv.c: Likewise.
65181         * lib/userspec.c: Likewise.
65182         * lib/utime.c: Likewise.
65183         * lib/utimecmp.c: Likewise.
65184         * lib/utimecmp.h: Likewise.
65185         * lib/utimens.c: Likewise.
65186         * lib/verify.h: Likewise.
65187         * lib/verror.c: Likewise.
65188         * lib/verror.h: Likewise.
65189         * lib/version-etc-fsf.c: Likewise.
65190         * lib/version-etc.c: Likewise.
65191         * lib/version-etc.h: Likewise.
65192         * lib/vfprintf.c: Likewise.
65193         * lib/vprintf.c: Likewise.
65194         * lib/vsprintf.c: Likewise.
65195         * lib/w32spawn.h: Likewise.
65196         * lib/wait-process.c: Likewise.
65197         * lib/wait-process.h: Likewise.
65198         * lib/wcwidth.c: Likewise.
65199         * lib/write-any-file.c: Likewise.
65200         * lib/xalloc-die.c: Likewise.
65201         * lib/xalloc.h: Likewise.
65202         * lib/xasprintf.c: Likewise.
65203         * lib/xgetcwd.c: Likewise.
65204         * lib/xgetcwd.h: Likewise.
65205         * lib/xgetdomainname.c: Likewise.
65206         * lib/xgetdomainname.h: Likewise.
65207         * lib/xgethostname.c: Likewise.
65208         * lib/xmalloc.c: Likewise.
65209         * lib/xmalloca.c: Likewise.
65210         * lib/xmalloca.h: Likewise.
65211         * lib/xmemcoll.c: Likewise.
65212         * lib/xnanosleep.c: Likewise.
65213         * lib/xreadlink.c: Likewise.
65214         * lib/xreadlink.h: Likewise.
65215         * lib/xsetenv.c: Likewise.
65216         * lib/xsetenv.h: Likewise.
65217         * lib/xstriconv.c: Likewise.
65218         * lib/xstriconv.h: Likewise.
65219         * lib/xstrndup.c: Likewise.
65220         * lib/xstrndup.h: Likewise.
65221         * lib/xstrtod.c: Likewise.
65222         * lib/xstrtod.h: Likewise.
65223         * lib/xstrtol-error.c: Likewise.
65224         * lib/xstrtol.c: Likewise.
65225         * lib/xstrtol.h: Likewise.
65226         * lib/xtime.h: Likewise.
65227         * lib/xvasprintf.c: Likewise.
65228         * lib/xvasprintf.h: Likewise.
65229         * lib/yesno.c: Likewise.
65230         * lib/yesno.h: Likewise.
65231         * posix-modules: Likewise.
65232         * tests/test-alloca-opt.c: Likewise.
65233         * tests/test-arcfour.c: Likewise.
65234         * tests/test-arctwo.c: Likewise.
65235         * tests/test-argmatch.c: Likewise.
65236         * tests/test-argp-2.sh: Likewise.
65237         * tests/test-argp.c: Likewise.
65238         * tests/test-arpa_inet.c: Likewise.
65239         * tests/test-array_list.c: Likewise.
65240         * tests/test-array_oset.c: Likewise.
65241         * tests/test-atexit.c: Likewise.
65242         * tests/test-avltree_list.c: Likewise.
65243         * tests/test-avltree_oset.c: Likewise.
65244         * tests/test-avltreehash_list.c: Likewise.
65245         * tests/test-base64.c: Likewise.
65246         * tests/test-binary-io.c: Likewise.
65247         * tests/test-byteswap.c: Likewise.
65248         * tests/test-c-ctype.c: Likewise.
65249         * tests/test-c-strcasecmp.c: Likewise.
65250         * tests/test-c-strcasestr.c: Likewise.
65251         * tests/test-c-strncasecmp.c: Likewise.
65252         * tests/test-c-strstr.c: Likewise.
65253         * tests/test-canonicalize-lgpl.c: Likewise.
65254         * tests/test-canonicalize.c: Likewise.
65255         * tests/test-carray_list.c: Likewise.
65256         * tests/test-ceilf.c: Likewise.
65257         * tests/test-ceill.c: Likewise.
65258         * tests/test-count-one-bits.c: Likewise.
65259         * tests/test-crc.c: Likewise.
65260         * tests/test-dirname.c: Likewise.
65261         * tests/test-fbufmode.c: Likewise.
65262         * tests/test-fcntl.c: Likewise.
65263         * tests/test-fflush.c: Likewise.
65264         * tests/test-floorf.c: Likewise.
65265         * tests/test-floorl.c: Likewise.
65266         * tests/test-fopen.c: Likewise.
65267         * tests/test-fprintf-posix.c: Likewise.
65268         * tests/test-fprintf-posix.h: Likewise.
65269         * tests/test-fpurge.c: Likewise.
65270         * tests/test-freadable.c: Likewise.
65271         * tests/test-freadahead.c: Likewise.
65272         * tests/test-freading.c: Likewise.
65273         * tests/test-freopen.c: Likewise.
65274         * tests/test-frexp.c: Likewise.
65275         * tests/test-frexpl.c: Likewise.
65276         * tests/test-fseek.c: Likewise.
65277         * tests/test-fseeko.c: Likewise.
65278         * tests/test-fseterr.c: Likewise.
65279         * tests/test-fstrcmp.c: Likewise.
65280         * tests/test-ftell.c: Likewise.
65281         * tests/test-ftello.c: Likewise.
65282         * tests/test-fwritable.c: Likewise.
65283         * tests/test-fwriting.c: Likewise.
65284         * tests/test-getaddrinfo.c: Likewise.
65285         * tests/test-getpass.c: Likewise.
65286         * tests/test-gettimeofday.c: Likewise.
65287         * tests/test-hmac-md5.c: Likewise.
65288         * tests/test-hmac-sha1.c: Likewise.
65289         * tests/test-iconv.c: Likewise.
65290         * tests/test-iconvme.c: Likewise.
65291         * tests/test-inttypes.c: Likewise.
65292         * tests/test-isnan.c: Likewise.
65293         * tests/test-isnanf.c: Likewise.
65294         * tests/test-isnanl-nolibm.c: Likewise.
65295         * tests/test-isnanl.c: Likewise.
65296         * tests/test-isnanl.h: Likewise.
65297         * tests/test-ldexpl.c: Likewise.
65298         * tests/test-linked_list.c: Likewise.
65299         * tests/test-linkedhash_list.c: Likewise.
65300         * tests/test-locale.c: Likewise.
65301         * tests/test-localename.c: Likewise.
65302         * tests/test-lock.c: Likewise.
65303         * tests/test-lseek.c: Likewise.
65304         * tests/test-malloca.c: Likewise.
65305         * tests/test-math.c: Likewise.
65306         * tests/test-mbscasecmp.c: Likewise.
65307         * tests/test-mbscasestr1.c: Likewise.
65308         * tests/test-mbscasestr2.c: Likewise.
65309         * tests/test-mbscasestr3.c: Likewise.
65310         * tests/test-mbscasestr4.c: Likewise.
65311         * tests/test-mbschr.c: Likewise.
65312         * tests/test-mbscspn.c: Likewise.
65313         * tests/test-mbsncasecmp.c: Likewise.
65314         * tests/test-mbspbrk.c: Likewise.
65315         * tests/test-mbspcasecmp.c: Likewise.
65316         * tests/test-mbsrchr.c: Likewise.
65317         * tests/test-mbsspn.c: Likewise.
65318         * tests/test-mbsstr1.c: Likewise.
65319         * tests/test-mbsstr2.c: Likewise.
65320         * tests/test-mbsstr3.c: Likewise.
65321         * tests/test-md5.c: Likewise.
65322         * tests/test-memmem.c: Likewise.
65323         * tests/test-netinet_in.c: Likewise.
65324         * tests/test-open.c: Likewise.
65325         * tests/test-printf-frexp.c: Likewise.
65326         * tests/test-printf-frexpl.c: Likewise.
65327         * tests/test-printf-posix.c: Likewise.
65328         * tests/test-printf-posix.h: Likewise.
65329         * tests/test-rbtree_list.c: Likewise.
65330         * tests/test-rbtree_oset.c: Likewise.
65331         * tests/test-rbtreehash_list.c: Likewise.
65332         * tests/test-read-file.c: Likewise.
65333         * tests/test-rijndael.c: Likewise.
65334         * tests/test-search.c: Likewise.
65335         * tests/test-signbit.c: Likewise.
65336         * tests/test-sleep.c: Likewise.
65337         * tests/test-snprintf-posix.c: Likewise.
65338         * tests/test-snprintf-posix.h: Likewise.
65339         * tests/test-snprintf.c: Likewise.
65340         * tests/test-sprintf-posix.c: Likewise.
65341         * tests/test-sprintf-posix.h: Likewise.
65342         * tests/test-stat-time.c: Likewise.
65343         * tests/test-stdbool.c: Likewise.
65344         * tests/test-stdint.c: Likewise.
65345         * tests/test-stdio.c: Likewise.
65346         * tests/test-stdlib.c: Likewise.
65347         * tests/test-stpncpy.c: Likewise.
65348         * tests/test-strcasestr.c: Likewise.
65349         * tests/test-striconv.c: Likewise.
65350         * tests/test-striconveh.c: Likewise.
65351         * tests/test-striconveha.c: Likewise.
65352         * tests/test-string.c: Likewise.
65353         * tests/test-sys_select.c: Likewise.
65354         * tests/test-sys_socket.c: Likewise.
65355         * tests/test-sys_stat.c: Likewise.
65356         * tests/test-sys_time.c: Likewise.
65357         * tests/test-sysexits.c: Likewise.
65358         * tests/test-time.c: Likewise.
65359         * tests/test-tls.c: Likewise.
65360         * tests/test-trunc.c: Likewise.
65361         * tests/test-truncf.c: Likewise.
65362         * tests/test-truncl.c: Likewise.
65363         * tests/test-unistd.c: Likewise.
65364         * tests/test-vasnprintf-posix.c: Likewise.
65365         * tests/test-vasnprintf-posix2.c: Likewise.
65366         * tests/test-vasnprintf.c: Likewise.
65367         * tests/test-vasprintf-posix.c: Likewise.
65368         * tests/test-vasprintf.c: Likewise.
65369         * tests/test-verify.c: Likewise.
65370         * tests/test-vfprintf-posix.c: Likewise.
65371         * tests/test-vprintf-posix.c: Likewise.
65372         * tests/test-vsnprintf-posix.c: Likewise.
65373         * tests/test-vsnprintf.c: Likewise.
65374         * tests/test-vsprintf-posix.c: Likewise.
65375         * tests/test-wchar.c: Likewise.
65376         * tests/test-wctype.c: Likewise.
65377         * tests/test-wcwidth.c: Likewise.
65378         * tests/test-xstrtol.c: Likewise.
65379         * tests/test-xvasprintf.c: Likewise.
65380         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
65381         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
65382         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
65383         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
65384         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
65385         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
65386         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
65387         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
65388         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
65389         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
65390         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
65391         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
65392         * tests/uniname/test-uninames.c: Likewise.
65393         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
65394         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
65395         * tests/unistdio/test-u16-printf1.h: Likewise.
65396         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
65397         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
65398         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
65399         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
65400         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
65401         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
65402         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
65403         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
65404         * tests/unistdio/test-u32-printf1.h: Likewise.
65405         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
65406         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
65407         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
65408         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
65409         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
65410         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
65411         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
65412         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
65413         * tests/unistdio/test-u8-printf1.h: Likewise.
65414         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
65415         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
65416         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
65417         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
65418         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
65419         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
65420         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
65421         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
65422         * tests/unistdio/test-ulc-printf1.h: Likewise.
65423         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
65424         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
65425         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
65426         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
65427         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
65428         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
65429         * tests/uniwidth/test-u16-strwidth.c: Likewise.
65430         * tests/uniwidth/test-u16-width.c: Likewise.
65431         * tests/uniwidth/test-u32-strwidth.c: Likewise.
65432         * tests/uniwidth/test-u32-width.c: Likewise.
65433         * tests/uniwidth/test-u8-strwidth.c: Likewise.
65434         * tests/uniwidth/test-u8-width.c: Likewise.
65435         * tests/uniwidth/test-uc_width.c: Likewise.
65436         * config/srclist-update: Likewise.
65437         (fixlicense): Update to GPLv3+.
65438
65439         Change copyright notice from LGPLv2.1+ to LGPLv3+.
65440         * tests/test-tsearch.c: Change copyright notice.
65441
65442         Change copyright notice from LGPLv2.0+ to LGPLv3+.
65443         * lib/c-strcaseeq.h: Change copyright notice.
65444         * lib/streq.h: Likewise.
65445         * lib/uniconv.h: Likewise.
65446         * lib/uniconv/u-conv-from-enc.h: Likewise.
65447         * lib/uniconv/u-conv-to-enc.h: Likewise.
65448         * lib/uniconv/u-strconv-from-enc.h: Likewise.
65449         * lib/uniconv/u-strconv-to-enc.h: Likewise.
65450         * lib/uniconv/u16-conv-from-enc.c: Likewise.
65451         * lib/uniconv/u16-conv-to-enc.c: Likewise.
65452         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
65453         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
65454         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
65455         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
65456         * lib/uniconv/u32-conv-from-enc.c: Likewise.
65457         * lib/uniconv/u32-conv-to-enc.c: Likewise.
65458         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
65459         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
65460         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
65461         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
65462         * lib/uniconv/u8-conv-from-enc.c: Likewise.
65463         * lib/uniconv/u8-conv-to-enc.c: Likewise.
65464         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
65465         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
65466         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
65467         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
65468         * lib/uniname.h: Likewise.
65469         * lib/uniname/uniname.c: Likewise.
65470         * lib/unistdio.h: Likewise.
65471         * lib/unistdio/u-asnprintf.h: Likewise.
65472         * lib/unistdio/u-asprintf.h: Likewise.
65473         * lib/unistdio/u-printf-args.c: Likewise.
65474         * lib/unistdio/u-printf-args.h: Likewise.
65475         * lib/unistdio/u-printf-parse.h: Likewise.
65476         * lib/unistdio/u-snprintf.h: Likewise.
65477         * lib/unistdio/u-sprintf.h: Likewise.
65478         * lib/unistdio/u-vasprintf.h: Likewise.
65479         * lib/unistdio/u-vsnprintf.h: Likewise.
65480         * lib/unistdio/u-vsprintf.h: Likewise.
65481         * lib/unistdio/u16-asnprintf.c: Likewise.
65482         * lib/unistdio/u16-asprintf.c: Likewise.
65483         * lib/unistdio/u16-printf-parse.c: Likewise.
65484         * lib/unistdio/u16-snprintf.c: Likewise.
65485         * lib/unistdio/u16-sprintf.c: Likewise.
65486         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
65487         * lib/unistdio/u16-u16-asprintf.c: Likewise.
65488         * lib/unistdio/u16-u16-snprintf.c: Likewise.
65489         * lib/unistdio/u16-u16-sprintf.c: Likewise.
65490         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
65491         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
65492         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
65493         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
65494         * lib/unistdio/u16-vasnprintf.c: Likewise.
65495         * lib/unistdio/u16-vasprintf.c: Likewise.
65496         * lib/unistdio/u16-vsnprintf.c: Likewise.
65497         * lib/unistdio/u16-vsprintf.c: Likewise.
65498         * lib/unistdio/u32-asnprintf.c: Likewise.
65499         * lib/unistdio/u32-asprintf.c: Likewise.
65500         * lib/unistdio/u32-printf-parse.c: Likewise.
65501         * lib/unistdio/u32-snprintf.c: Likewise.
65502         * lib/unistdio/u32-sprintf.c: Likewise.
65503         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
65504         * lib/unistdio/u32-u32-asprintf.c: Likewise.
65505         * lib/unistdio/u32-u32-snprintf.c: Likewise.
65506         * lib/unistdio/u32-u32-sprintf.c: Likewise.
65507         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
65508         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
65509         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
65510         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
65511         * lib/unistdio/u32-vasnprintf.c: Likewise.
65512         * lib/unistdio/u32-vasprintf.c: Likewise.
65513         * lib/unistdio/u32-vsnprintf.c: Likewise.
65514         * lib/unistdio/u32-vsprintf.c: Likewise.
65515         * lib/unistdio/u8-asnprintf.c: Likewise.
65516         * lib/unistdio/u8-asprintf.c: Likewise.
65517         * lib/unistdio/u8-printf-parse.c: Likewise.
65518         * lib/unistdio/u8-snprintf.c: Likewise.
65519         * lib/unistdio/u8-sprintf.c: Likewise.
65520         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
65521         * lib/unistdio/u8-u8-asprintf.c: Likewise.
65522         * lib/unistdio/u8-u8-snprintf.c: Likewise.
65523         * lib/unistdio/u8-u8-sprintf.c: Likewise.
65524         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
65525         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
65526         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
65527         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
65528         * lib/unistdio/u8-vasnprintf.c: Likewise.
65529         * lib/unistdio/u8-vasprintf.c: Likewise.
65530         * lib/unistdio/u8-vsnprintf.c: Likewise.
65531         * lib/unistdio/u8-vsprintf.c: Likewise.
65532         * lib/unistdio/ulc-asnprintf.c: Likewise.
65533         * lib/unistdio/ulc-asprintf.c: Likewise.
65534         * lib/unistdio/ulc-printf-parse.c: Likewise.
65535         * lib/unistdio/ulc-snprintf.c: Likewise.
65536         * lib/unistdio/ulc-sprintf.c: Likewise.
65537         * lib/unistdio/ulc-vasnprintf.c: Likewise.
65538         * lib/unistdio/ulc-vasprintf.c: Likewise.
65539         * lib/unistdio/ulc-vsnprintf.c: Likewise.
65540         * lib/unistdio/ulc-vsprintf.c: Likewise.
65541         * lib/unistr.h: Likewise.
65542         * lib/unistr/u-cpy-alloc.h: Likewise.
65543         * lib/unistr/u-cpy.h: Likewise.
65544         * lib/unistr/u-endswith.h: Likewise.
65545         * lib/unistr/u-move.h: Likewise.
65546         * lib/unistr/u-set.h: Likewise.
65547         * lib/unistr/u-startswith.h: Likewise.
65548         * lib/unistr/u-stpcpy.h: Likewise.
65549         * lib/unistr/u-stpncpy.h: Likewise.
65550         * lib/unistr/u-strcat.h: Likewise.
65551         * lib/unistr/u-strcpy.h: Likewise.
65552         * lib/unistr/u-strcspn.h: Likewise.
65553         * lib/unistr/u-strdup.h: Likewise.
65554         * lib/unistr/u-strlen.h: Likewise.
65555         * lib/unistr/u-strncat.h: Likewise.
65556         * lib/unistr/u-strncpy.h: Likewise.
65557         * lib/unistr/u-strnlen.h: Likewise.
65558         * lib/unistr/u-strpbrk.h: Likewise.
65559         * lib/unistr/u-strspn.h: Likewise.
65560         * lib/unistr/u-strstr.h: Likewise.
65561         * lib/unistr/u-strtok.h: Likewise.
65562         * lib/unistr/u16-check.c: Likewise.
65563         * lib/unistr/u16-chr.c: Likewise.
65564         * lib/unistr/u16-cmp.c: Likewise.
65565         * lib/unistr/u16-cpy-alloc.c: Likewise.
65566         * lib/unistr/u16-cpy.c: Likewise.
65567         * lib/unistr/u16-endswith.c: Likewise.
65568         * lib/unistr/u16-mblen.c: Likewise.
65569         * lib/unistr/u16-mbsnlen.c: Likewise.
65570         * lib/unistr/u16-mbtouc-aux.c: Likewise.
65571         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
65572         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
65573         * lib/unistr/u16-mbtouc.c: Likewise.
65574         * lib/unistr/u16-mbtoucr.c: Likewise.
65575         * lib/unistr/u16-move.c: Likewise.
65576         * lib/unistr/u16-next.c: Likewise.
65577         * lib/unistr/u16-prev.c: Likewise.
65578         * lib/unistr/u16-set.c: Likewise.
65579         * lib/unistr/u16-startswith.c: Likewise.
65580         * lib/unistr/u16-stpcpy.c: Likewise.
65581         * lib/unistr/u16-stpncpy.c: Likewise.
65582         * lib/unistr/u16-strcat.c: Likewise.
65583         * lib/unistr/u16-strchr.c: Likewise.
65584         * lib/unistr/u16-strcmp.c: Likewise.
65585         * lib/unistr/u16-strcpy.c: Likewise.
65586         * lib/unistr/u16-strcspn.c: Likewise.
65587         * lib/unistr/u16-strdup.c: Likewise.
65588         * lib/unistr/u16-strlen.c: Likewise.
65589         * lib/unistr/u16-strmblen.c: Likewise.
65590         * lib/unistr/u16-strmbtouc.c: Likewise.
65591         * lib/unistr/u16-strncat.c: Likewise.
65592         * lib/unistr/u16-strncmp.c: Likewise.
65593         * lib/unistr/u16-strncpy.c: Likewise.
65594         * lib/unistr/u16-strnlen.c: Likewise.
65595         * lib/unistr/u16-strpbrk.c: Likewise.
65596         * lib/unistr/u16-strrchr.c: Likewise.
65597         * lib/unistr/u16-strspn.c: Likewise.
65598         * lib/unistr/u16-strstr.c: Likewise.
65599         * lib/unistr/u16-strtok.c: Likewise.
65600         * lib/unistr/u16-to-u32.c: Likewise.
65601         * lib/unistr/u16-to-u8.c: Likewise.
65602         * lib/unistr/u16-uctomb-aux.c: Likewise.
65603         * lib/unistr/u16-uctomb.c: Likewise.
65604         * lib/unistr/u32-check.c: Likewise.
65605         * lib/unistr/u32-chr.c: Likewise.
65606         * lib/unistr/u32-cmp.c: Likewise.
65607         * lib/unistr/u32-cpy-alloc.c: Likewise.
65608         * lib/unistr/u32-cpy.c: Likewise.
65609         * lib/unistr/u32-endswith.c: Likewise.
65610         * lib/unistr/u32-mblen.c: Likewise.
65611         * lib/unistr/u32-mbsnlen.c: Likewise.
65612         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
65613         * lib/unistr/u32-mbtouc.c: Likewise.
65614         * lib/unistr/u32-mbtoucr.c: Likewise.
65615         * lib/unistr/u32-move.c: Likewise.
65616         * lib/unistr/u32-next.c: Likewise.
65617         * lib/unistr/u32-prev.c: Likewise.
65618         * lib/unistr/u32-set.c: Likewise.
65619         * lib/unistr/u32-startswith.c: Likewise.
65620         * lib/unistr/u32-stpcpy.c: Likewise.
65621         * lib/unistr/u32-stpncpy.c: Likewise.
65622         * lib/unistr/u32-strcat.c: Likewise.
65623         * lib/unistr/u32-strchr.c: Likewise.
65624         * lib/unistr/u32-strcmp.c: Likewise.
65625         * lib/unistr/u32-strcpy.c: Likewise.
65626         * lib/unistr/u32-strcspn.c: Likewise.
65627         * lib/unistr/u32-strdup.c: Likewise.
65628         * lib/unistr/u32-strlen.c: Likewise.
65629         * lib/unistr/u32-strmblen.c: Likewise.
65630         * lib/unistr/u32-strmbtouc.c: Likewise.
65631         * lib/unistr/u32-strncat.c: Likewise.
65632         * lib/unistr/u32-strncmp.c: Likewise.
65633         * lib/unistr/u32-strncpy.c: Likewise.
65634         * lib/unistr/u32-strnlen.c: Likewise.
65635         * lib/unistr/u32-strpbrk.c: Likewise.
65636         * lib/unistr/u32-strrchr.c: Likewise.
65637         * lib/unistr/u32-strspn.c: Likewise.
65638         * lib/unistr/u32-strstr.c: Likewise.
65639         * lib/unistr/u32-strtok.c: Likewise.
65640         * lib/unistr/u32-to-u16.c: Likewise.
65641         * lib/unistr/u32-to-u8.c: Likewise.
65642         * lib/unistr/u32-uctomb.c: Likewise.
65643         * lib/unistr/u8-check.c: Likewise.
65644         * lib/unistr/u8-chr.c: Likewise.
65645         * lib/unistr/u8-cmp.c: Likewise.
65646         * lib/unistr/u8-cpy-alloc.c: Likewise.
65647         * lib/unistr/u8-cpy.c: Likewise.
65648         * lib/unistr/u8-endswith.c: Likewise.
65649         * lib/unistr/u8-mblen.c: Likewise.
65650         * lib/unistr/u8-mbsnlen.c: Likewise.
65651         * lib/unistr/u8-mbtouc-aux.c: Likewise.
65652         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
65653         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
65654         * lib/unistr/u8-mbtouc.c: Likewise.
65655         * lib/unistr/u8-mbtoucr.c: Likewise.
65656         * lib/unistr/u8-move.c: Likewise.
65657         * lib/unistr/u8-next.c: Likewise.
65658         * lib/unistr/u8-prev.c: Likewise.
65659         * lib/unistr/u8-set.c: Likewise.
65660         * lib/unistr/u8-startswith.c: Likewise.
65661         * lib/unistr/u8-stpcpy.c: Likewise.
65662         * lib/unistr/u8-stpncpy.c: Likewise.
65663         * lib/unistr/u8-strcat.c: Likewise.
65664         * lib/unistr/u8-strchr.c: Likewise.
65665         * lib/unistr/u8-strcmp.c: Likewise.
65666         * lib/unistr/u8-strcpy.c: Likewise.
65667         * lib/unistr/u8-strcspn.c: Likewise.
65668         * lib/unistr/u8-strdup.c: Likewise.
65669         * lib/unistr/u8-strlen.c: Likewise.
65670         * lib/unistr/u8-strmblen.c: Likewise.
65671         * lib/unistr/u8-strmbtouc.c: Likewise.
65672         * lib/unistr/u8-strncat.c: Likewise.
65673         * lib/unistr/u8-strncmp.c: Likewise.
65674         * lib/unistr/u8-strncpy.c: Likewise.
65675         * lib/unistr/u8-strnlen.c: Likewise.
65676         * lib/unistr/u8-strpbrk.c: Likewise.
65677         * lib/unistr/u8-strrchr.c: Likewise.
65678         * lib/unistr/u8-strspn.c: Likewise.
65679         * lib/unistr/u8-strstr.c: Likewise.
65680         * lib/unistr/u8-strtok.c: Likewise.
65681         * lib/unistr/u8-to-u16.c: Likewise.
65682         * lib/unistr/u8-to-u32.c: Likewise.
65683         * lib/unistr/u8-uctomb-aux.c: Likewise.
65684         * lib/unistr/u8-uctomb.c: Likewise.
65685         * lib/unitypes.h: Likewise.
65686         * lib/uniwidth.h: Likewise.
65687         * lib/uniwidth/cjk.h: Likewise.
65688         * lib/uniwidth/u16-strwidth.c: Likewise.
65689         * lib/uniwidth/u16-width.c: Likewise.
65690         * lib/uniwidth/u32-strwidth.c: Likewise.
65691         * lib/uniwidth/u32-width.c: Likewise.
65692         * lib/uniwidth/u8-strwidth.c: Likewise.
65693         * lib/uniwidth/u8-width.c: Likewise.
65694         * lib/uniwidth/width.c: Likewise.
65695
65696 2007-10-07  Bruno Haible  <bruno@clisp.org>
65697
65698         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
65699         The file is still under LGPL (see modules/inttypes).
65700
65701 2007-10-06  Bruno Haible  <bruno@clisp.org>
65702
65703         * modules/trunc (Dependencies): Add 'extensions'.
65704         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
65705         Reported by Ben Pfaff <blp@gnu.org>.
65706
65707 2007-10-06  Bruno Haible  <bruno@clisp.org>
65708
65709         * modules/freopen-tests: New file.
65710         * tests/test-freopen.c: New file.
65711
65712         * modules/fopen-tests: New file.
65713         * tests/test-fopen.c: New file.
65714
65715         * modules/fopen: New file.
65716         * lib/fopen.c: New file.
65717         * m4/fopen.m4: New file.
65718         * modules/freopen: New file.
65719         * lib/freopen.c: New file.
65720         * m4/freopen.m4: New file.
65721         * lib/stdio.in.h (fopen, freopen): New declarations.
65722         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
65723         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
65724         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
65725         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
65726         * doc/functions/fopen.texi: Mention the 'fopen' module.
65727         * doc/functions/freopen.texi: Mention the 'freopen' module.
65728
65729 2007-10-06  Bruno Haible  <bruno@clisp.org>
65730
65731         * modules/open-tests: New file.
65732         * tests/test-open.c: New file.
65733
65734         * modules/open: New file.
65735         * lib/open.c: New file.
65736         * m4/open.m4: New file.
65737         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
65738         lib/open.c does.
65739         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
65740         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
65741         macros.
65742         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
65743         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
65744         REPLACE_OPEN.
65745         * doc/functions/open.texi: Mention the 'open' module.
65746
65747 2007-10-04  Bruno Haible  <bruno@clisp.org>
65748
65749         * modules/ceill-tests: New file.
65750         * tests/test-ceill.c: New file.
65751
65752         * modules/ceill: New file.
65753         * lib/ceill.c: Replace entire file.
65754         * m4/ceill.m4: New file.
65755         * lib/math.in.h (ceill): Replace declaration.
65756         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
65757         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
65758         * doc/functions/ceill.texi: Mention the 'ceill' module.
65759         * modules/mathl (Files): Remove lib/ceill.c.
65760         (Depends-on): Add ceill.
65761
65762 2007-10-04  Bruno Haible  <bruno@clisp.org>
65763
65764         * modules/ceilf-tests: New file.
65765         * tests/test-ceilf.c: New file.
65766
65767         * modules/ceilf: New file.
65768         * lib/ceil.c: New file.
65769         * lib/ceilf.c: New file.
65770         * m4/ceilf.m4: New file.
65771         * lib/math.in.h (ceilf): New declaration.
65772         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
65773         HAVE_DECL_CEILF.
65774         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
65775         HAVE_DECL_CEILF.
65776         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
65777
65778 2007-10-04  Bruno Haible  <bruno@clisp.org>
65779
65780         * modules/floorl-tests: New file.
65781         * tests/test-floorl.c: New file.
65782
65783         * modules/floorl: New file.
65784         * lib/floorl.c: Replace entire file.
65785         * m4/floorl.m4: New file.
65786         * lib/math.in.h (floorl): Replace declaration.
65787         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
65788         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
65789         * doc/functions/floorl.texi: Mention the 'floorl' module.
65790         * modules/mathl (Files): Remove lib/floorl.c.
65791         (Depends-on): Add floorl.
65792
65793 2007-10-04  Bruno Haible  <bruno@clisp.org>
65794
65795         * modules/floorf-tests: New file.
65796         * tests/test-floorf.c: New file.
65797
65798         * modules/floorf: New file.
65799         * lib/floor.c: New file.
65800         * lib/floorf.c: New file.
65801         * m4/floorf.m4: New file.
65802         * lib/math.in.h (floorf): New declaration.
65803         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
65804         HAVE_DECL_FLOORF.
65805         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
65806         HAVE_DECL_FLOORF.
65807         * doc/functions/floorf.texi: Mention the 'floorf' module.
65808
65809 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
65810             Bruno Haible  <bruno@clisp.org>
65811
65812         Advertise for the Git server instead of the CVS server.
65813         * doc/gnulib-intro.texi (Steady Development): Mention the Git
65814         repository instead of the CVS one.
65815         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
65816         about all VCS systems generically.
65817         * doc/gnulib.texi (Introduction): Capitalize `Git'.
65818
65819 2007-10-04  Bruno Haible  <bruno@clisp.org>
65820
65821         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
65822         means.
65823         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
65824
65825 2007-10-04  Bruno Haible  <bruno@clisp.org>
65826
65827         * modules/truncl-tests: New file.
65828         * tests/test-truncl.c: New file.
65829
65830         * modules/truncl: New file.
65831         * lib/truncl.c: New file.
65832         * m4/truncl.m4: New file.
65833         * lib/math.in.h (truncl): New declaration.
65834         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
65835         HAVE_DECL_TRUNCL.
65836         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
65837         HAVE_DECL_TRUNCL.
65838         * doc/functions/truncl.texi: Mention the 'truncl' module.
65839
65840 2007-10-04  Bruno Haible  <bruno@clisp.org>
65841
65842         * modules/truncf-tests: New file.
65843         * tests/test-truncf.c: New file.
65844
65845         * modules/truncf: New file.
65846         * lib/trunc.c: Make paramerizable through USE_* macros.
65847         * lib/truncf.c: New file.
65848         * m4/truncf.m4: New file.
65849         * lib/math.in.h (truncf): New declaration.
65850         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
65851         HAVE_DECL_TRUNCF.
65852         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
65853         HAVE_DECL_TRUNCF.
65854         * doc/functions/truncf.texi: Mention the 'truncf' module.
65855
65856 2007-10-03  Bruno Haible  <bruno@clisp.org>
65857
65858         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
65859         augmentation also for tests modules.
65860         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
65861         * modules/atexit-tests (Makefile.am): Likewise.
65862         * modules/binary-io-tests (Makefile.am): Likewise.
65863         * modules/c-strcase-tests (Makefile.am): Likewise.
65864         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
65865         * modules/canonicalize-tests (Makefile.am): Likewise.
65866         * modules/closein-tests (Makefile.am): Likewise.
65867         * modules/fprintf-posix-tests (Makefile.am): Likewise.
65868         * modules/freadahead-tests (Makefile.am): Likewise.
65869         * modules/fseek-tests (Makefile.am): Likewise.
65870         * modules/fseeko-tests (Makefile.am): Likewise.
65871         * modules/ftell-tests (Makefile.am): Likewise.
65872         * modules/ftello-tests (Makefile.am): Likewise.
65873         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
65874         * modules/isnanl-tests (Makefile.am): Likewise.
65875         * modules/lseek-tests (Makefile.am): Likewise.
65876         * modules/mbscasecmp-tests (Makefile.am): Likewise.
65877         * modules/mbscasestr-tests (Makefile.am): Likewise.
65878         * modules/mbschr-tests (Makefile.am): Likewise.
65879         * modules/mbscspn-tests (Makefile.am): Likewise.
65880         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
65881         * modules/mbspbrk-tests (Makefile.am): Likewise.
65882         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
65883         * modules/mbsrchr-tests (Makefile.am): Likewise.
65884         * modules/mbsspn-tests (Makefile.am): Likewise.
65885         * modules/mbsstr-tests (Makefile.am): Likewise.
65886         * modules/printf-posix-tests (Makefile.am): Likewise.
65887         * modules/snprintf-posix-tests (Makefile.am): Likewise.
65888         * modules/sprintf-posix-tests (Makefile.am): Likewise.
65889         * modules/tsearch-tests (Makefile.am): Likewise.
65890         * modules/uniname/uniname-tests (Makefile.am): Likewise.
65891         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
65892         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
65893         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
65894         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
65895         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
65896         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
65897         * modules/vprintf-posix-tests (Makefile.am): Likewise.
65898         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
65899         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
65900         * modules/xstrtoimax-tests (Makefile.am): Likewise.
65901         * modules/xstrtol-tests (Makefile.am): Likewise.
65902         * modules/xstrtoumax-tests (Makefile.am): Likewise.
65903         * modules/yesno-tests (Makefile.am): Likewise.
65904
65905 2007-10-03  Bruno Haible  <bruno@clisp.org>
65906
65907         * modules/trunc-tests: New file.
65908         * tests/test-trunc.c: New file.
65909
65910         * modules/trunc: New file.
65911         * lib/trunc.c: New file.
65912         * m4/trunc.m4: New file.
65913         * lib/math.in.h (trunc): New declaration.
65914         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
65915         HAVE_DECL_TRUNC.
65916         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
65917         HAVE_DECL_TRUNC.
65918         * doc/functions/trunc.texi: Mention the 'trunc' module.
65919
65920 2007-10-03  Bruno Haible  <bruno@clisp.org>
65921
65922         * tests/test-fpending.c: New file, mostly copied
65923         from coreutils/lib/t-fpending.c.
65924         * modules/fpending-tests: New file.
65925
65926 2007-10-03  Bruno Haible  <bruno@clisp.org>
65927
65928         Port the stdio extensions to QNX (untested).
65929         * lib/fseterr.c (fseterr): Add support for QNX.
65930         * lib/fbufmode.c (fbufmode): Likewise.
65931         * lib/freadable.c (freadable): Likewise.
65932         * lib/fwritable.c (fwritable): Likewise.
65933         * lib/freading.c (freading): Likewise.
65934         * lib/fwriting.c (fwriting): Likewise.
65935         * lib/freadahead.c (freadahed): Likewise.
65936         * lib/fpurge.c (fpurge): Likewise.
65937         * lib/fseeko.c (rpl_fseeko): Likewise.
65938
65939 2007-10-03  Bruno Haible  <bruno@clisp.org>
65940             Jim Meyering  <jim@meyering.net>
65941             Eric Blake  <ebb9@byu.net>
65942
65943         * doc/relocatable.texi: Use @command instead of @program.
65944
65945 2007-10-02  Jim Meyering  <jim@meyering.net>
65946
65947         Perform one more "_.h" -> ".in.h" substitution.
65948         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
65949         instead of unistd_.h here, too.
65950
65951 2007-10-01  Bruno Haible  <bruno@clisp.org>
65952
65953         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
65954         Needed for the alloca-opt module.
65955
65956 2007-09-30  Bruno Haible  <bruno@clisp.org>
65957
65958         * lib/alloca.in.h: Renamed from lib/alloca_.h.
65959         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
65960         alloca_.h.
65961         * lib/argz.in.h: Renamed from lib/argz_.h.
65962         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
65963         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
65964         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
65965         byteswap_.h.
65966         * lib/dirent.in.h: Renamed from lib/dirent_.h.
65967         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
65968         dirent_.h.
65969         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
65970         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
65971         fcntl_.h.
65972         * lib/float.in.h: Renamed from lib/float_.h.
65973         * modules/float (Files, Makefile.am): Use float.in.h instead of
65974         float_.h.
65975         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
65976         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
65977         fnmatch_.h.
65978         * lib/getopt.in.h: Renamed from lib/getopt_.h.
65979         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
65980         getopt_.h.
65981         * lib/glob.in.h: Renamed from lib/glob_.h.
65982         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
65983         * lib/iconv.in.h: Renamed from lib/iconv_.h.
65984         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
65985         iconv_.h.
65986         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
65987         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
65988         inttypes_.h.
65989         * lib/locale.in.h: Renamed from lib/locale_.h.
65990         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
65991         locale_.h.
65992         * lib/math.in.h: Renamed from lib/math_.h.
65993         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
65994         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
65995         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
65996         of netinet_in_.h. Add dependency.
65997         * lib/poll.in.h: Renamed from lib/poll_.h.
65998         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
65999         * lib/search.in.h: Renamed from lib/search_.h.
66000         * modules/search (Files, Makefile.am): Use search.in.h instead of
66001         search_.h.
66002         * lib/signal.in.h: Renamed from lib/signal_.h.
66003         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
66004         _signal.h.
66005         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
66006         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
66007         stdbool_.h.
66008         * lib/stdint.in.h: Renamed from lib/stdint_.h.
66009         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
66010         stdint_.h.
66011         * lib/stdio.in.h: Renamed from lib/stdio_.h.
66012         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
66013         stdio_.h.
66014         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
66015         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
66016         stdlib_.h.
66017         * lib/string.in.h: Renamed from lib/string_.h.
66018         * modules/string (Files, Makefile.am): Use string.in.h instead of
66019         string_.h.
66020         * doc/gnulib-tool.texi (Initial import): Update.
66021         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
66022         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
66023         of sys_select_.h. Add dependency.
66024         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
66025         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
66026         of sys_socket_.h.
66027         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
66028         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
66029         sys_stat_.h.
66030         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
66031         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
66032         sys_time_.h.
66033         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
66034         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
66035         sysexits_.h.
66036         * lib/time.in.h: Renamed from lib/time_.h.
66037         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
66038         * lib/unistd.in.h: Renamed from lib/unistd_.h.
66039         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
66040         unistd_.h.
66041         * lib/wchar.in.h: Renamed from lib/wchar_.h.
66042         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
66043         wchar_.h.
66044         * lib/wctype.in.h: Renamed from lib/wctype_.h.
66045         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
66046         wctype_.h.
66047         * build-aux/bootstrap (slurp): Update.
66048         * lib/.cppi-disable: Update.
66049
66050 2007-09-30  Bruno Haible  <bruno@clisp.org>
66051
66052         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
66053         Needed on BeOS.
66054
66055 2007-09-30  Bruno Haible  <bruno@clisp.org>
66056
66057         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
66058
66059 2007-09-29  Bruno Haible  <bruno@clisp.org>
66060
66061         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
66062
66063 2007-09-29  Bruno Haible  <bruno@clisp.org>
66064
66065         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
66066         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
66067         * build-aux/install-reloc: Compile also areadlink.c.
66068         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
66069
66070 2007-09-29  Bruno Haible  <bruno@clisp.org>
66071
66072         * gnulib-tool (func_emit_initmacro_done): Indentation.
66073
66074 2007-09-29  Bruno Haible  <bruno@clisp.org>
66075
66076         * README: Add CVS checkout update instructions.
66077         Info from Bob Proulx <bob@proulx.com>.
66078
66079 2007-09-28  Eric Blake  <ebb9@byu.net>
66080
66081         Provide move-if-change.
66082         * build-aux/move-if-change: New file, based on best practice
66083         rather than any canonical upstream location.
66084
66085 2007-09-28  Jim Meyering  <jim@meyering.net>
66086
66087         Fix canonicalize loop-detection corner case.
66088         Do not attempt to stat the symlink values stored via seen_triple.
66089         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
66090         on linux-2.6.18, (but not 2.6.22).
66091         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
66092         triple_compare.  The former compares dev,ino,filename, while the latter
66093         would actually stat dirname(filename) when dev and ino were equal.
66094         * lib/hash-triple.c: Install <string.h>.
66095         (STREQ): Define.
66096         (triple_compare_ino_str): New function.
66097         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
66098
66099 2007-09-28  Eric Blake  <ebb9@byu.net>
66100
66101         Enforce that AC_REPLACE_FUNCS files exist.
66102         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
66103         override check for typos.
66104
66105         Fix test-closein on Solaris 10.
66106         * tests/test-closein.c (main): Don't assume stdin can be inherited
66107         closed on all systems.
66108         * tests/test-closein.sh: Likewise.
66109         Reported by Piotr Tarnowski.
66110
66111 2007-09-28  Jim Meyering  <jim@meyering.net>
66112
66113         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
66114
66115 2007-09-27  Jim Meyering  <jim@meyering.net>
66116
66117         canonicalize: Avoid a false-positive cycle failure.
66118         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
66119         Sort.  Remove cycle-check.
66120         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
66121         not cycle-check.h.
66122         (seen_triple): New function.
66123         (canonicalize_filename_mode): Use it instead of cycle-check.
66124         * tests/test-canonicalize.c: Add a test for this bug.
66125         * tests/test-canonicalize.sh: Set up and run the test.
66126
66127         New module, file-set, from coreutils.
66128         * modules/file-set: Define it.
66129         * lib/file-set.c, lib/file-set.h: Implement.
66130
66131         New module, hash-triple, from coreutils.
66132         * modules/hash-triple: Define it.
66133         * lib/hash-triple.c, lib/hash-triple.h: Implement.
66134
66135 2007-09-25  Eric Blake  <ebb9@byu.net>
66136
66137         Fix strerror on Interix.
66138         * lib/string_.h (strerror): Declare replacement.
66139         * doc/functions/strerror.texi (strerror): Document the Interix
66140         shortcoming.
66141         * modules/string (Makefile.am): Support new hooks.
66142         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
66143         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
66144         gl_FUNC_STRERROR_SEPARATE.
66145         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
66146         * lib/strerror.c (rpl_strerror): Provide replacement.
66147         * modules/strerror (Depends-on): Add string.
66148         (configure.ac): Detect use of module.
66149         * tests/test-strerror.c: New file.
66150         * modules/strerror-tests: New test module.
66151         * modules/argp (Depends-on): Add strerror.
66152         * modules/error (Depends-on): Likewise.
66153         Reported by Martin Koeppe.
66154
66155 2007-09-24  Bruno Haible  <bruno@clisp.org>
66156
66157         * README: Update git instructions.
66158
66159 2007-09-24  Eric Blake  <ebb9@byu.net>
66160
66161         Revert fpending breakage from 2007-09-08.
66162         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
66163         __fpending.c.
66164
66165 2007-09-24  Jim Meyering  <jim@meyering.net>
66166
66167         filenamecat.c: Add a test.
66168         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
66169         showing how the function works when DIR is the empty string.
66170
66171 2007-09-21  Simon Josefsson  <simon@josefsson.org>
66172
66173         * tests/test-canonicalize.sh: Turn on executable bit.
66174
66175 2007-09-19  Eric Blake  <ebb9@byu.net>
66176
66177         * README: Update CVS instructions.
66178
66179 2007-09-18  Bruno Haible  <bruno@clisp.org>
66180
66181         * modules/areadlink: New file.
66182         * lib/areadlink.h (areadlink): New declaration.
66183         * lib/areadlink.c: New file, based on lib/xreadlink.c.
66184
66185 2007-09-17  Jim Meyering  <jim@meyering.net>
66186
66187         * lib/savewd.c (ESTALE) [!defined]: Define.
66188         Reported to be required on Interix by Martin Koeppe.
66189
66190 2007-09-17  Bruno Haible  <bruno@clisp.org>
66191
66192         * gnulib-tool (func_version): Use $version.
66193
66194 2007-09-16  Bruno Haible  <bruno@clisp.org>
66195
66196         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
66197         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
66198         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
66199         Reported by Greg Schafer <gschafer@zip.com.au>.
66200
66201 2007-09-15  Bruno Haible  <bruno@clisp.org>
66202
66203         * gnulib-tool (sed): Try a little harder to make bash understand the
66204         alias.
66205         Reported by Bruce Korb <bruce.korb@gmail.com>.
66206
66207 2007-09-13  Eric Blake  <ebb9@byu.net>
66208
66209         * ChangeLog: Remove conflict markers.
66210
66211 2007-09-13  Simon Josefsson  <simon@josefsson.org>
66212
66213         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
66214         Reported by Bruno Haible <bruno@clisp.org>.
66215
66216 2007-09-12  Bruno Haible  <bruno@clisp.org>
66217
66218         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
66219         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
66220         is not defined.
66221
66222 2007-09-12  Eric Blake  <ebb9@byu.net>
66223
66224         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
66225         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
66226         Autoconf definition.
66227         * modules/euidaccess (Depends-on): Add extensions, for
66228         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
66229         * modules/fnmatch (Depends-on): Likewise.
66230         * modules/getaddrinfo (Depends-on): Likewise.
66231         * modules/getdelim (Depends-on): Likewise.
66232         * modules/getline (Depends-on): Likewise.
66233         * modules/getsubopt (Depends-on): Likewise.
66234         * modules/gettext (Depends-on): Likewise.
66235         * modules/group-member (Depends-on): Likewise.
66236         * modules/mbchar (Depends-on): Likewise.
66237         * modules/memmem (Depends-on): Likewise.
66238         * modules/mempcpy (Depends-on): Likewise.
66239         * modules/memrchr (Depends-on): Likewise.
66240         * modules/pagealign_alloc (Depends-on): Likewise.
66241         * modules/readutmp (Depends-on): Likewise.
66242         * modules/stpcpy (Depends-on): Likewise.
66243         * modules/stpncpy (Depends-on): Likewise.
66244         * modules/strchrnul (Depends-on): Likewise.
66245         * modules/strndup (Depends-on): Likewise.
66246         * modules/strsep (Depends-on): Likewise.
66247         * modules/strverscmp (Depends-on): Likewise.
66248         * modules/vasprintf (Depends-on): Likewise.
66249         * modules/wcwidth (Depends-on): Likewise.
66250         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
66251         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
66252         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
66253         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
66254         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
66255         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66256         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
66257         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66258         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
66259         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
66260         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66261         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66262         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66263         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
66264         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
66265         * m4/readutmp.m4 (gl_READUTMP): Likewise.
66266         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66267         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66268         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66269         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66270         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66271         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66272         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66273         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
66274         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
66275         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66276         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
66277         so that lock.m4 can be used in gettext without extensions module.
66278
66279 2007-09-11  Bruno Haible  <bruno@clisp.org>
66280
66281         * m4/isc-posix.m4: Remove file.
66282         Suggested by Eric Blake.
66283
66284 2007-09-11  Eric Blake  <ebb9@byu.net>
66285
66286         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
66287
66288 2007-09-10  Bruno Haible  <bruno@clisp.org>
66289
66290         * posix-modules: Fix typo in error message.
66291         Reported by Matt <mkraai@beckman.com>.
66292
66293 2007-09-09  Bruno Haible  <bruno@clisp.org>
66294
66295         * doc/functions/getdelim.texi: Update list of platforms lacking the
66296         function.
66297         * doc/functions/getline.texi: Likewise.
66298
66299 2007-09-09  Jim Meyering  <jim@meyering.net>
66300
66301         * lib/hash.c (hash_initialize): Detect calloc failure.
66302         Reported by Bruno Haible.
66303
66304 2007-09-09  Bruno Haible  <bruno@clisp.org>
66305
66306         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
66307         malloc or realloc fails.
66308
66309 2007-09-09  Bruno Haible  <bruno@clisp.org>
66310
66311         * modules/getcwd (Depends-on): Add malloc-posix.
66312         * modules/glob (Depends-on): Likewise.
66313         * modules/putenv (Depends-on): Likewise.
66314         * modules/strdup (Depends-on): Likewise.
66315         * modules/getdelim (Depends-on): Add realloc-posix.
66316         * modules/read-file (Depends-on): Likewise.
66317
66318 2007-09-09  Bruno Haible  <bruno@clisp.org>
66319
66320         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
66321         (gl_FUNC_MALLOC_POSIX): Require it.
66322         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
66323         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
66324         * modules/realloc (Files): Add m4/malloc.m4.
66325         * modules/calloc (Files): Likewise.
66326
66327 2007-09-09  Bruno Haible  <bruno@clisp.org>
66328
66329         * modules/malloc-posix: New file.
66330         * modules/malloc (Depends-on): Add malloc-posix.
66331         * lib/malloc.c: Include errno.h.
66332         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
66333         and a POSIX-compatible malloc into a single function. Set ENOMEM
66334         when returning NULL.
66335         * m4/malloc.m4: New file.
66336         * doc/functions/malloc.texi: Mention the malloc-posix module.
66337         * lib/stdlib_.h (malloc): New declaration.
66338         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66339         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
66340         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
66341         and HAVE_MALLOC_POSIX.
66342
66343 2007-09-09  Bruno Haible  <bruno@clisp.org>
66344
66345         * modules/realloc-posix: New file.
66346         * modules/realloc (Depends-on): Add realloc-posix.
66347         * lib/realloc.c: Include errno.h.
66348         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
66349         and a POSIX-compatible realloc into a single function. Set ENOMEM
66350         when returning NULL.
66351         * m4/realloc.m4: New file.
66352         * doc/functions/realloc.texi: Mention the realloc-posix module.
66353         * lib/stdlib_.h (realloc): New declaration.
66354         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66355         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
66356         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
66357         and HAVE_REALLOC_POSIX.
66358
66359 2007-09-09  Bruno Haible  <bruno@clisp.org>
66360
66361         * modules/calloc-posix: New file.
66362         * modules/calloc (Depends-on): Add calloc-posix.
66363         * lib/calloc.c: Include errno.h.
66364         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
66365         and a POSIX-compatible calloc into a single function. Set ENOMEM
66366         when returning NULL.
66367         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
66368         * doc/functions/calloc.texi: Mention the calloc-posix module.
66369         * lib/stdlib_.h (calloc): New declaration.
66370         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66371         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
66372         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
66373         and HAVE_CALLOC_POSIX.
66374
66375 2007-09-09  Bruno Haible  <bruno@clisp.org>
66376
66377         Allow for modules to show an arbitrary notice.
66378         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
66379         * gnulib-tool: New option --extract-notice.
66380         (func_usage): Document it.
66381         (sed_extract_prog): Update.
66382         (func_get_notice): New function.
66383         (func_modules_notice): New function.
66384         (func_import, func_create_testdir): Invoke it.
66385         Suggested by Jim Meyering.
66386
66387 2007-09-09  Bruno Haible  <bruno@clisp.org>
66388
66389         * gnulib-tool: New options --verbose, --quiet.
66390         (func_usage): Document them.
66391         (verbose): New variable.
66392         (func_execute_command): New function.
66393         (func_import): Don't show the module list and the file list if
66394         $verbose < 0.
66395         (func_create_testdir): Likewise. Use func_execute_command.
66396         (func_create_megatestdir): Use func_execute_command.
66397
66398 2007-09-08  Bruno Haible  <bruno@clisp.org>
66399
66400         * gnulib-tool (func_import): Prefer rsync over wget when available,
66401         for fetching the PO files.
66402
66403 2007-09-08  Bruno Haible  <bruno@clisp.org>
66404
66405         * posix-modules: New file. Portions copied from gnulib-tool.
66406         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
66407
66408 2007-09-08  Jim Meyering  <jim@meyering.net>
66409
66410         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
66411         * lib/fpending.h: Rename from __fpending.h.
66412         * lib/fpending.c: Rename from __fpending.c.
66413         Include "fpending.h", not "__fpending.h".
66414         * lib/__fpending.h, lib/__fpending.c: Remove files.
66415         * modules/fpending (Files): Reflect new file names.
66416         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
66417
66418 2007-09-08  Bruno Haible  <bruno@clisp.org>
66419
66420         * m4/inttypes-h.m4: Remove stub file.
66421
66422 2007-09-07  Simon Josefsson  <simon@josefsson.org>
66423
66424         * doc/headers/stdint.texi: Discuss #include_next issue.
66425
66426 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66427
66428         * build-aux/bootstrap: Remove obsolete comment about wget --help.
66429
66430 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66431
66432         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
66433         in variable name.
66434
66435 2007-09-03  Jim Meyering  <jim@meyering.net>
66436
66437         New module: git-version-gen.
66438         * modules/git-version-gen: New file.
66439
66440         Import changes from coreutils for bootstrap script.
66441
66442         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
66443
66444         bootstrap: uses rsync to download the .po files
66445         * build-aux/bootstrap (po_download_command_format): New global.
66446         (download_po_files): Use rsync.
66447         (update_po_files): Don't remove .po files after download,
66448         so future rsync runs can take advantage of the copies.
66449
66450         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
66451
66452         Solve the unnecessary-.po-file-regeneration problem once and for all.
66453         * build-aux/bootstrap (download_po_files): New function, renamed from
66454         get_translations.  Now, downloads, but doesn't update LINGUAS.
66455         (update_po_files): New function.
66456
66457         bootstrap: Ignore more.
66458         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
66459         uniwidth to e.g., lib/.gitignore.
66460         (slurp): Handle the sys_stat_.h -> sys mapping, too.
66461
66462         * build-aux/bootstrap: New setting: vc_ignore.
66463         (insert_sorted_if_absent): Create $file if absent.
66464         Adapt to new, possibly empty, list: $vc_ignore.
66465
66466         bootstrap: generate more ignorable names
66467         * build-aux/bootstrap (slurp): When generating ignorable names,
66468         also map .sin to .sed, .gperf to .c, and .y to .c.
66469
66470 2007-09-03  Jim Meyering  <jim@meyering.net>
66471
66472         * build-aux/git-version-gen: New file, from coreutils.  For details, see
66473         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
66474
66475 2007-09-02  Bruno Haible  <bruno@clisp.org>
66476
66477         Fix mis-recognition of 'mcs' on QNX 6.
66478         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
66479         output contains the string "Mono".
66480         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
66481         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
66482
66483 2007-09-01  Bruno Haible  <bruno@clisp.org>
66484
66485         Fix collision between uniwidth/* and linebreak modules.
66486         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
66487         u32_width): Remove declarations.
66488         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
66489         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
66490         streq3, streq2, streq1, streq0): Remove functions.
66491         (STREQ): Remove macro.
66492         (is_cjk_encoding): Remove function.
66493         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
66494         (uc_width, u8_width, u16_width, u32_width): Remove functions.
66495         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
66496         * NEWS: Document the change.
66497
66498 2007-09-01  Bruno Haible  <bruno@clisp.org>
66499
66500         * lib/streq.h: Add double-inclusion guard.
66501
66502 2007-09-01  Karl Berry  <karl@gnu.org>
66503
66504         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
66505
66506 2007-08-28  Jim Meyering  <jim@meyering.net>
66507
66508         Rename mreadlink_with_size to areadlink_with_size.
66509         * NEWS: Document the change.
66510         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
66511         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
66512         * lib/mreadlink.h: Rename this to...
66513         * lib/areadlink.h: ...this.
66514         * modules/mreadlink-with-size: Rename this to...
66515         * modules/areadlink-with-size: ...this.
66516         * lib/canonicalize.c: Reflect the renaming.
66517         * modules/canonicalize: Likewise.
66518
66519 2007-08-26  Bruno Haible  <bruno@clisp.org>
66520
66521         * gnulib-tool (func_import): When deciding which files to remove,
66522         consider also dangling symbolic links.
66523         Reported by Eric Blake.
66524
66525 2007-08-26  Bruno Haible  <bruno@clisp.org>
66526
66527         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
66528
66529 2007-08-23  Simon Josefsson  <simon@josefsson.org>
66530
66531         * lib/readline.c: Don't include getline.h, the prototype is now
66532         found in stdio.h.
66533
66534 2007-08-23  Jim Meyering  <jim@meyering.net>
66535
66536         Getdelim touchup.
66537         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
66538         around the funlockfile call, since funlockfile never sets errno.
66539         Don't set errno upon failed realloc.
66540
66541 2007-08-22  Eric Blake  <ebb9@byu.net>
66542
66543         Getline touchups.
66544         * lib/getdelim.c (getdelim): Revert regression that required *n to
66545         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
66546         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
66547         getdelim, rather than whether implementation is missing.
66548         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
66549         * lib/stdio_.h (getline): Also declare if replacement is
66550         required.
66551         * doc/functions/getdelim.texi: New file.
66552         * doc/functions/getline.texi: Likewise.
66553         * doc/gnulib.texi (Function Substitutes): Add new files.
66554         Reported by Bruno Haible.
66555
66556 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
66557
66558         * users.txt: Add Guile.
66559
66560 2007-08-22  Eric Blake  <ebb9@byu.net>
66561
66562         * tests/test-getdelim.c (main): Use remove, not unlink.
66563         * tests/test-getline.c (main): Likewise.
66564
66565         Move getline and getdelim into stdio.h, per POSIX 200x.
66566         * modules/getline (Files): Remove getline.h.
66567         (Depends-on): Add stdio.
66568         (configure.ac): Add module indicator.
66569         * modules/getdelim (Files): Remove getdelim.h.
66570         (Depends-on): Add stdio.
66571         (configure.ac): Add module indicator.
66572         * modules/stdio (Makefile.am): Work with new indicators.
66573         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
66574         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
66575         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66576         * lib/getdelim.h: Delete.
66577         * lib/getline.h: Delete.
66578         * lib/stdio_.h (getdelim, getline): Declare.
66579         * modules/getdelim-tests: New module.
66580         * modules/getline-tests: Likewise.
66581         * tests/test-getdelim.c: New file.
66582         * tests/test-getline.c: Likewise.
66583         * NEWS: Document the change.
66584         * lib/getline.c: Update choice of header.
66585         * lib/csharpcomp.c: Likewise.
66586         * lib/getpass.c: Likewise.
66587         * lib/javacomp.c: Likewise.
66588         * lib/javaversion.c: Likewise.
66589         * lib/yesno.c: Likewise.
66590         * lib/getdelim.c: Likewise.
66591         (getdelim): Set errno on failure, and avoid memory leak.
66592
66593 2007-08-19  Bruno Haible  <bruno@clisp.org>
66594
66595         * modules/closein (Depends-on): Add freadahead.
66596         * lib/closein.c: Include freadahead.h.
66597         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
66598         is zero.
66599
66600 2007-08-19  Bruno Haible  <bruno@clisp.org>
66601
66602         * modules/freadahead-tests: New file.
66603         * tests/test-freadahead.sh: New file.
66604         * tests/test-freadahead.c: New file.
66605
66606         * modules/freadahead: New file.
66607         * lib/freadahead.h: New file.
66608         * lib/freadahead.c: New file.
66609         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
66610         fbufmode, fpurge, freadable, fwritable.
66611
66612 2007-08-19  Eric Blake  <ebb9@byu.net>
66613
66614         Test yesno in combination with closein.
66615         * lib/yesno.c (yesno): Document use of stdin.
66616         * modules/yesno-tests (Files): New module.
66617         * tests/test-yesno.c (main): New file.
66618         * tests/test-yesno.sh: Likewise.
66619
66620 2007-08-19  Bruno Haible  <bruno@clisp.org>
66621
66622         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
66623         * lib/fseeko.c (rpl_fseeko): Likewise.
66624         * lib/fseterr.c (fseterr): Likewise.
66625
66626 2007-08-19  Bruno Haible  <bruno@clisp.org>
66627
66628         * tests/test-lseek.c (main): Disable a test for BeOS.
66629         * doc/functions/lseek.texi: Document the BeOS bug.
66630
66631 2007-08-19  Bruno Haible  <bruno@clisp.org>
66632             Eric Blake  <ebb9@byu.net>
66633
66634         * lib/lseek.c: Include <sys/stat.h>.
66635         (rpl_lseek): Add workaround code also for Unix platforms.
66636         Needed for BeOS.
66637         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
66638         * doc/functions/lseek.texi: Document BeOS definiency.
66639
66640 2007-08-18  Bruno Haible  <bruno@clisp.org>
66641
66642         * modules/fstrcmp-tests: New file.
66643         * tests/test-fstrcmp.c: New file.
66644
66645 2007-08-18  Bruno Haible  <bruno@clisp.org>
66646
66647         * modules/fstrcmp: New file, from GNU gettext with modifications.
66648         * lib/fstrcmp.h: New file, from GNU gettext.
66649         * lib/fstrcmp.c: New file, from GNU gettext.
66650         * MODULES.html.sh (String handling): Add fstrcmp.
66651
66652 2007-08-18  Bruno Haible  <bruno@clisp.org>
66653
66654         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
66655         'bool'.
66656         (diag, compareseq): Remove const from the ctxt argument.
66657         (USE_HEURISTIC): Undefine at the end.
66658
66659 2007-08-18  Jim Meyering  <jim@meyering.net>
66660
66661         New file: lib/idcache.h
66662         * NEWS: Mention the addition.
66663         * modules/idcache (Files): Add lib/idcache.h
66664         * lib/idcache.c: Include "idcache.h".
66665         Don't include <sys/types.h>.
66666         Add a FIXME comment.
66667         Move file-scoped "static" declarations to the top.
66668         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
66669
66670 2007-08-17  Bruno Haible  <bruno@clisp.org>
66671         and Paul Eggert  <eggert@cs.ucla.edu>
66672
66673         * MODULES.html.sh: Add diffseq.
66674         * modules/diffseq: New file.
66675         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
66676         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
66677
66678 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
66679
66680         Import changes from coreutils for bootstrap script.
66681
66682         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
66683
66684         * build-aux/bootstrap (slurp): Work even in environments where
66685         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
66686         current code does not slurp files whose names start with ".", and
66687         this looks like it might be a troublesome area.
66688
66689         2007-07-11  Jim Meyering  <jim@meyering.net>
66690
66691         If there's a GPL vN copyright comment, require that N == 3.
66692
66693         2007-07-08  Jim Meyering  <jim@meyering.net>
66694
66695         Run the coreutils-specific code only if tests/Makefile.am.in exists.
66696         * build-aux/bootstrap (mam_template): Move definition out of loop.
66697
66698         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
66699
66700         * build-aux/bootstrap (symlink_to_dir): Rename function from
66701         symlink_to_gnulib.  Add a directory parameter.  Update all
66702         callers.
66703         (cp_mark_as_generated): Also check for -- and link to -- files in
66704         gl/.
66705
66706         2007-07-08  Jim Meyering  <jim@meyering.net>
66707
66708         Adapt to deeper hierarchy in gnulib.
66709         * build-aux/bootstrap (symlink_to_dir): If the destination
66710         directory doesn't exist, create it. This is required at least for
66711         "lib/uniwidth/cjk.h".
66712
66713         2007-05-15  Jim Meyering  <jim@meyering.net>
66714
66715         * build-aux/bootstrap: Now that generated Makefile.am files
66716         are no longer under version control, they must be created at
66717         bootstrap time.
66718
66719 2007-08-14  Ben Pfaff  <blp@gnu.org>
66720
66721         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
66722
66723 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
66724
66725         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
66726         given the changes below.
66727         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
66728         even on hosts that have padding bits beyond the supported 64.
66729
66730 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
66731
66732         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
66733         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
66734         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
66735         depends on it.
66736         (xstrtol_error): Remove.
66737         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
66738         but with a different signature.
66739         (ATTRIBUTE_NORETURN, __attribute__): New macros.
66740         * lib/xstrtol-error.c: Include exitfail.h.
66741         (xstrtol_fatal): New function, with a different signature from the
66742         old xstrtol_error, so that the caller need not worry about passing
66743         in an exit status, or about storage management of the option argument.
66744         (xstrtol_error): Now a static function.  Redo signature to
66745         implement xstrtol_fatal.  Output the correct number of hyphens in
66746         front of the option so that the caller need not worry about
66747         storage management.
66748         (N_): New macro.
66749         (_): Remove; not used now.
66750         * modules/xstrtol: Depend on getopt.
66751         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
66752         of old STRTOL_FATAL_ERROR macro.
66753         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
66754         of test program.
66755         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
66756         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
66757
66758 2007-08-08  Eric Blake  <ebb9@byu.net>
66759
66760         * lib/xstrtol-error.c: Add missing include.
66761
66762         Move xstrtol messages into gnulib domain, when --pobase is used.
66763         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
66764         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
66765         * modules/xstrtol (Files): Distribute new file.
66766         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
66767         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
66768         * tests/test-xstrtol.c: ...into new file.
66769         * tests/test-xstrtoul.c: Also test xstrtoul.
66770         * tests/test-xstrtoimax.c: Also test xstrtoimax.
66771         * tests/test-xstrtoumax.c: Also test xstrtoumax.
66772         * tests/test-xstrtol.sh: Drive the tests.
66773         * tests/test-xstrtoimax.sh: Likewise.
66774         * tests/test-xstrtoumax.sh: Likewise.
66775         * modules/xstrtol-tests: New module.
66776         * modules/xstrtoimax-tests: Likewise.
66777         * modules/xstrtoumax-tests: Likewise.
66778
66779 2007-08-08  Jim Meyering  <jim@meyering.net>
66780
66781         New function: mfile_name_concat.
66782         * lib/filenamecat.c (mfile_name_concat): New function, just like
66783         file_name_concat, but return NULL upon failure rather than exiting
66784         with a diagnostic.
66785         * lib/filenamecat.h: Declare it.
66786
66787 2007-08-07  Bruno Haible  <bruno@clisp.org>
66788
66789         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
66790         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
66791         warning from gcc.
66792         Reported by Eric Blake.
66793
66794 2007-08-07  Simon Josefsson  <simon@josefsson.org>
66795
66796         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
66797         * modules/crypto/arcfour (License): Likewise.
66798         * modules/crypto/des-tests (License): Likewise.
66799         * modules/crypto/gc-arctwo-tests (License): Likewise.
66800         * modules/crypto/gc-des-tests (License): Likewise.
66801         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
66802         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
66803         * modules/crypto/gc-md2-tests (License): Likewise.
66804         * modules/crypto/gc-md4-tests (License): Likewise.
66805         * modules/crypto/gc-md5-tests (License): Likewise.
66806         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
66807         * modules/crypto/gc-rijndael-tests (License): Likewise.
66808         * modules/crypto/gc-sha1-tests (License): Likewise.
66809         * modules/crypto/gc-tests (License): Likewise.
66810         * modules/crypto/hmac-md5 (License): Likewise.
66811         * modules/crypto/hmac-sha1 (License): Likewise.
66812         * modules/crypto/md2-tests (License): Likewise.
66813         * modules/crypto/md4-tests (License): Likewise.
66814         * modules/crypto/md5 (License): Likewise.
66815         * modules/crypto/rijndael (License): Likewise.
66816         * modules/crypto/sha1 (License): Likewise.
66817         * modules/memxor (License): Likewise.
66818
66819 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
66820         and Bruno Haible  <bruno@clisp.org>
66821
66822         * NEWS: Describe interface changes to human, xstrtol.
66823         * lib/human.h: Include <xstrtol.h>.
66824         (human_options): Return enum strtol_error, not int.  Remove
66825         bool arg; take int * instead.
66826         * lib/human.c: Don't include "gettext.h".
66827         (_): Remove; no longer used.
66828         Don't include <xstrtol.h>, since human.h does it.
66829         (human_options): Adjust to abovementioned interface changes.
66830         Do not report error to stderr; that's now the caller's
66831         responsibility.
66832         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
66833         interface change.
66834         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
66835         Str, Argument_type_string.  All uses changed.  Put " argument"
66836         in diagnostics to make them clearer.  Change wording of suffix
66837         message for clarity.
66838         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
66839         Argument_type_string.
66840         (STRTOL_FATAL_WARN): Remove; no longer used.
66841         * modules/human (Depends-on): Remove gettext-h.
66842
66843 2007-08-06  Simon Josefsson  <simon@josefsson.org>
66844
66845         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
66846
66847 2007-07-31  Bruno Haible  <bruno@clisp.org>
66848
66849         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
66850         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
66851         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
66852
66853 2007-07-31  Bruno Haible  <bruno@clisp.org>
66854
66855         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
66856         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
66857
66858 2007-07-30  Bruno Haible  <bruno@clisp.org>
66859
66860         * modules/base64 (License): Use the synonymous term "LGPLv2+".
66861         * modules/c-ctype (License): Likewise.
66862         * modules/c-strcase (License): Likewise.
66863         * modules/check-version (License): Likewise.
66864         * modules/iconv (License): Likewise.
66865         * modules/iconv_open (License): Likewise.
66866         * modules/read-file (License): Likewise.
66867         * modules/striconv (License): Likewise.
66868         * modules/strverscmp (License): Likewise.
66869         * modules/vasprintf (License): Likewise.
66870         * modules/crypto/des (License): Likewise.
66871         * modules/crypto/gc (License): Likewise.
66872         * modules/crypto/gc-arcfour (License): Likewise.
66873         * modules/crypto/gc-arctwo (License): Likewise.
66874         * modules/crypto/gc-des (License): Likewise.
66875         * modules/crypto/gc-hmac-md5 (License): Likewise.
66876         * modules/crypto/gc-hmac-sha1 (License): Likewise.
66877         * modules/crypto/gc-md2 (License): Likewise.
66878         * modules/crypto/gc-md4 (License): Likewise.
66879         * modules/crypto/gc-md5 (License): Likewise.
66880         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
66881         * modules/crypto/gc-random (License): Likewise.
66882         * modules/crypto/gc-rijndael (License): Likewise.
66883         * modules/crypto/gc-sha1 (License): Likewise.
66884         * modules/crypto/md2 (License): Likewise.
66885         * modules/crypto/md4 (License): Likewise.
66886
66887 2007-07-30  Jim Meyering  <jim@meyering.net>
66888
66889         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
66890         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
66891         it has valid stat data.  This bug would cause du not to count the
66892         sizes of inaccessible directories.
66893         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
66894         in <http://bugzilla.redhat.com/250077>.
66895
66896 2007-07-25  Peter O'Gorman  <peter@pogma.com>
66897             Bruno Haible  <bruno@clisp.org>
66898
66899         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
66900         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
66901         #include_next, gives a diagnostic about it, but reports no error in
66902         the exit code.
66903         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
66904
66905 2007-07-24  Ben Pfaff  <blp@gnu.org>
66906
66907         Improve name: "count-one-bits" is better than "popcount".
66908         * MODULES.html.sh: Update name.
66909         * lib/popcount.h: Renamed lib/count-one-bits.h.
66910         (popcount): Renamed count_one_bits.
66911         (popcountl): Renamed count_one_bits_l.
66912         (popcountll): Renamed count_one_bits_ll.
66913         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
66914         * modules/popcount: Renamed module/count-one-bits.
66915         * modules/popcount-tests: Renamed module/count-one-bits-tests.
66916         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
66917
66918 2007-07-23  Ben Pfaff  <blp@gnu.org>
66919
66920         * lib/popcount.h (popcount32): Reduce size of constants, to allow
66921         better code generation, and add U to large constants to avoid
66922         warnings, in non-GCC case.
66923         Suggested by Bruno Haible.
66924
66925 2007-07-23  Ben Pfaff  <blp@gnu.org>
66926
66927         * lib/popcount.h: Use verify_true instead of if...abort.
66928         * modules/popcount: Depend on verify module.
66929         Suggested by Jim Meyering.
66930
66931 2007-07-23  Bruno Haible  <bruno@clisp.org>
66932
66933         * gnulib-tool (func_import): Create a .cvsignore file also when the
66934         directory is not yet in CVS but the toplevel directory is. When
66935         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
66936         Reported by Karl Berry.
66937
66938 2007-07-22  Ben Pfaff  <blp@gnu.org>
66939
66940         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
66941         case.
66942         Suggested by Eric Blake.
66943
66944 2007-07-22  Ben Pfaff  <blp@gnu.org>
66945
66946         New module: popcount.
66947         * MODULES.html.sh: Add popcount.
66948         * modules/popcount: New file.
66949         * modules/popcount-tests: New file.
66950         * tests/test-popcount.c: New file.
66951         * lib/popcount.h: New file.
66952         * m4/popcount.m4: New file.
66953
66954 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
66955
66956         * build-aux/announce-gen: Update to GPLv3.
66957
66958         * build-aux/config.guess: Update from config.
66959
66960 2007-07-21  Bruno Haible  <bruno@clisp.org>
66961
66962         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
66963         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
66964
66965 2007-07-20  Jim Meyering  <jim@meyering.net>
66966
66967         * check-module: Diagnose a self-dependency.
66968
66969 2007-07-19  Bruno Haible  <bruno@clisp.org>
66970
66971         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
66972         empty.
66973         Reported by Eric Blake.
66974
66975 2007-07-18  Bruno Haible  <bruno@clisp.org>
66976
66977         * gnulib-tool: New options --po-base, --po-domain.
66978         (func_usage): Document them.
66979         (pobase, po_domain): New variables.
66980         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
66981         DEFAULT_TEXT_DOMAIN.
66982         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
66983         (func_import): Consider pobase and po_domain. Create a po/ directory.
66984         (func_create_testdir): Set pobase and po_domain to empty.
66985         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
66986         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
66987
66988 2007-07-18  Bruno Haible  <bruno@clisp.org>
66989
66990         * gnulib-tool (func_get_automake_snippet): Synthesize also an
66991         EXTRA_DIST augmentation for files in build-aux/.
66992
66993 2007-07-16  Bruno Haible  <bruno@clisp.org>
66994
66995         * modules/lseek (License): Use the synonymous term "LGPLv2+".
66996         * modules/getdelim (License): Likewise.
66997
66998 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66999
67000         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
67001         * modules/d-type (License): Likewise.
67002         * modules/extensions (License): Likewise.
67003         * modules/fnmatch (License): Likewise.
67004         * modules/fseeko (License): Likewise.
67005         * modules/getaddrinfo (License): Likewise.
67006         * modules/getline (License): Likewise.
67007         * modules/getlogin_r (License): Likewise.
67008         * modules/getpass (License): Likewise.
67009         * modules/gettimeofday (License): Likewise.
67010         * modules/glob (License): Likewise.
67011         * modules/inet_ntop (License): Likewise.
67012         * modules/malloc (License): Likewise.
67013         * modules/malloca (License): Likewise.
67014         * modules/memmem (License): Likewise.
67015         * modules/mempcpy (License): Likewise.
67016         * modules/memset (License): Likewise.
67017         * modules/minmax (License): Likewise.
67018         * modules/mktime (License): Likewise.
67019         * modules/netinet_in (License): Likewise.
67020         * modules/pathmax (License): Likewise.
67021         * modules/poll (License): Likewise.
67022         * modules/regex (License): Likewise.
67023         * modules/snprintf (License): Likewise.
67024         * modules/stdbool (License): Likewise.
67025         * modules/stdint (License): Likewise.
67026         * modules/stdio (License): Likewise.
67027         * modules/strcase (License): Likewise.
67028         * modules/strcasestr (License): Likewise.
67029         * modules/strdup (License): Likewise.
67030         * modules/string (License): Likewise.
67031         * modules/strndup (License): Likewise.
67032         * modules/strnlen (License): Likewise.
67033         * modules/strpbrk (License): Likewise.
67034         * modules/strptime (License): Likewise.
67035         * modules/strsep (License): Likewise.
67036         * modules/sys_select (License): Likewise.
67037         * modules/sys_socket (License): Likewise.
67038         * modules/sys_stat (License): Likewise.
67039         * modules/sys_time (License): Likewise.
67040         * modules/time (License): Likewise.
67041         * modules/time_r (License): Likewise.
67042         * modules/timegm (License): Likewise.
67043         * modules/unistd (License): Likewise.
67044         * modules/vsnprintf (License): Likewise.
67045         * modules/wctype (License): Likewise.
67046
67047 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67048
67049         * modules/argz (License): LGPLv2+.
67050
67051 2007-07-15  Karl Berry  <karl@gnu.org>
67052
67053         * doc/gnulib.texi: revise node structure per new fdl.texi.
67054
67055 2007-07-14  Bruno Haible  <bruno@clisp.org>
67056
67057         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
67058         the output file.
67059         * lib/uniname/uninames.h: Regenerated.
67060
67061 2007-07-14  Karl Berry  <karl@gnu.org>
67062
67063         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
67064         omitting sectioning and index commands.
67065
67066 2007-07-13  Bruno Haible  <bruno@clisp.org>
67067
67068         New gnulib-tool option --more-symlinks.
67069         * gnulib-tool (func_usage): Document --more-symlinks.
67070         (do_copyrights): New variable.
67071         Recognize option --more-symlinks.
67072         (func_import): Don't add a copyright notice transform to
67073         sed_transform_lib_file if do_copyrights is empty.
67074
67075 2007-07-13  Bruno Haible  <bruno@clisp.org>
67076
67077         * lib/vasnprintf.c (decimal_point_char): Define also if
67078         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
67079         && !NEED_PRINTF_DIRECTIVE_A.
67080         Reported by Clemens Koller <clemens.koller@anagramm.de> via
67081         Gary V. Vaughan <gary@gnu.org>.
67082
67083 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
67084
67085         * lib/inttypes_.h: Undo previous change, since it was fixed
67086         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
67087
67088 2007-07-13  Bruno Haible  <bruno@clisp.org>
67089
67090         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
67091         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
67092
67093 2007-07-13  Jim Meyering  <jim@meyering.net>
67094
67095         df: Don't fail for Tru64's "file-on-file mount".
67096         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
67097         so we fall through and use statfs instead.  Details here:
67098         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
67099         Reported by Albert Chin.
67100
67101 2007-07-13  Bruno Haible  <bruno@clisp.org>
67102
67103         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
67104         * modules/configmake (License): Likewise.
67105         * modules/gettext (License): Likewise.
67106         * modules/gettext-h (License): Likewise.
67107         * modules/include_next (License): Likewise.
67108         * modules/link-warning (License): Likewise.
67109         * modules/localcharset (License): Likewise.
67110         * modules/localename (License): Likewise.
67111         * modules/lock (License): Likewise.
67112         * modules/relocatable-lib-lgpl (License): Likewise.
67113         * modules/size_max (License): Likewise.
67114         * modules/vasnprintf (License): Likewise.
67115         * modules/wchar (License): Likewise.
67116         * modules/xsize (License): Likewise.
67117
67118 2007-07-13  Bruno Haible  <bruno@clisp.org>
67119
67120         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
67121         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
67122
67123 2007-07-12  Bruno Haible  <bruno@clisp.org>
67124
67125         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
67126         in the modules files.
67127
67128 2007-07-11  Karl Berry  <karl@gnu.org>
67129
67130         * MODULES.html.sh (func_module): use
67131          sed -e '\|^'"${includefile}"'$|d'
67132          instead of /.../d, to avoid errors on $includefile's containing /.
67133
67134 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67135
67136         * gnulib-tool (func_import): Avoid duplication of --avoid
67137         statements
67138         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
67139         names to `_' in variable names.
67140
67141 2007-07-10  Eric Blake  <ebb9@byu.net>
67142
67143         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
67144         * NEWS: Document this change.
67145
67146 2007-07-08  Bruno Haible  <bruno@clisp.org>
67147
67148         Update to Unicode 5.0.
67149         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
67150         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
67151         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
67152         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
67153         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
67154         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
67155         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
67156         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
67157         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
67158         U+10A3F, U+1D242..U+1D244.
67159         (nonspacing_table_ind): Update.
67160         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
67161         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
67162
67163 2007-07-08  Bruno Haible  <bruno@clisp.org>
67164
67165         Update to Unicode 5.0.
67166         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
67167         code transform. Extend the name index field of unicode_name_to_code and
67168         unicode_code_to_name from 16 to 24 bits.
67169         * lib/uniname/uniname.c (unicode_character_name,
67170         unicode_name_character): Add the range 0x12xxx to the code transform.
67171         * lib/uniname/uninames.h: Regenerated.
67172         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
67173
67174 2007-07-07  Bruno Haible  <bruno@clisp.org>
67175
67176         * modules/wcwidth-tests: New file.
67177         * tests/test-wcwidth.c: New file.
67178
67179         Work around MacOS X wcwidth() bug.
67180         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
67181         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
67182         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
67183         original wcwidth in non-UTF-8 locales.
67184         * modules/wcwidth (Depends-on): Add localcharset, streq,
67185         uniwidth/width.
67186         * doc/functions/wcwidth.texi: Update.
67187
67188 2007-07-07  Bruno Haible  <bruno@clisp.org>
67189
67190         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
67191         (wcwidth): New declaration.
67192         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
67193         macros.
67194         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
67195         here. Prepare for creating <wchar.h> unconditionally.
67196         * modules/wchar (Depends-on): Add link-warning.
67197         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
67198         REPLACE_WCWIDTH, and GL_LINK_WARNING.
67199         * lib/wcwidth.h: Remove file.
67200         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
67201         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
67202         * modules/wcwidth (Files): Remove lib/wcwidth.h.
67203         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
67204         (Include): Replace wcwidth.h with <wchar.h>.
67205         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
67206         * lib/mbchar.h: Don't include wcwidth.h.
67207         * lib/mbswidth.c: Likewise.
67208         * NEWS: Mention the change.
67209
67210 2007-07-07  Bruno Haible  <bruno@clisp.org>
67211
67212         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
67213         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
67214         definition with an external declaration.
67215         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
67216         defined as a function. Remove AC_C_INLINE requirement.
67217         * modules/wcwidth (Files): Add lib/wcwidth.c.
67218         (Makefile.am): Remove redundant statement.
67219
67220 2007-07-07  Bruno Haible  <bruno@clisp.org>
67221
67222         * MODULES.html.sh (Unicode string functions): Add the new modules.
67223
67224         * tests/uniwidth/test-u32-strwidth.c: New file.
67225         * modules/uniwidth/u32-strwidth-tests: New file.
67226
67227         * lib/uniwidth/u32-strwidth.c: New file.
67228         * modules/uniwidth/u32-strwidth: New file.
67229
67230         * tests/uniwidth/test-u16-strwidth.c: New file.
67231         * modules/uniwidth/u16-strwidth-tests: New file.
67232
67233         * lib/uniwidth/u16-strwidth.c: New file.
67234         * modules/uniwidth/u16-strwidth: New file.
67235
67236         * tests/uniwidth/test-u8-strwidth.c: New file.
67237         * modules/uniwidth/u8-strwidth-tests: New file.
67238
67239         * lib/uniwidth/u8-strwidth.c: New file.
67240         * modules/uniwidth/u8-strwidth: New file.
67241
67242         * tests/uniwidth/test-u32-width.c: New file.
67243         * modules/uniwidth/u32-width-tests: New file.
67244
67245         * lib/uniwidth/u32-width.c: New file.
67246         * modules/uniwidth/u32-width: New file.
67247
67248         * tests/uniwidth/test-u16-width.c: New file.
67249         * modules/uniwidth/u16-width-tests: New file.
67250
67251         * lib/uniwidth/u16-width.c: New file.
67252         * modules/uniwidth/u16-width: New file.
67253
67254         * tests/uniwidth/test-u8-width.c: New file.
67255         * modules/uniwidth/u8-width-tests: New file.
67256
67257         * lib/uniwidth/u8-width.c: New file.
67258         * modules/uniwidth/u8-width: New file.
67259
67260         * tests/uniwidth/test-uc_width.c: New file.
67261         * modules/uniwidth/width-tests: New file.
67262
67263         * lib/uniwidth/width.c: New file, from GNU libiconv.
67264         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
67265         * modules/uniwidth/width: New file.
67266
67267         * lib/uniwidth.h: New file, from GNU libiconv.
67268         * modules/uniwidth/base: New file.
67269
67270 2007-07-07  Bruno Haible  <bruno@clisp.org>
67271
67272         * lib/uniname.h: New file, from GNU gettext.
67273         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
67274         * lib/uniname/uninames.h: New file, from GNU gettext.
67275         * lib/uniname/uniname.c: New file, from GNU gettext.
67276         * tests/uniname/test-uninames.sh: New file.
67277         * tests/uniname/test-uninames.c: New file, from GNU gettext.
67278         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
67279         * modules/uniname/base: New file.
67280         * modules/uniname/uniname: New file.
67281         * modules/uniname/uniname-tests: New file.
67282         * MODULES.html.sh (Unicode string functions): Add the new modules.
67283
67284 2007-07-06  Bruno Haible  <bruno@clisp.org>
67285
67286         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
67287
67288 2007-07-06  Bruno Haible  <bruno@clisp.org>
67289
67290         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
67291         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
67292         includes <cygwin/sys_time.h> which includes <sys/select.h> which
67293         include <sys/time.h>.
67294         Reported by Eric Blake.
67295
67296 2007-07-06  Eric Blake  <ebb9@byu.net>
67297
67298         Fix testing canonicalize on cygwin.
67299         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
67300         Revert patch from 2007-06-19.
67301         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
67302         canonicalize module is also in use.
67303         * tests/test-canonicalize.c: New file.
67304         * tests/test-canonicalize.sh: Likewise.
67305         * modules/canonicalize-tests: Likewise.
67306
67307 2007-07-06  Jim Meyering  <jim@meyering.net>
67308
67309         * lib/getugroups.c (getugroups): Detect getgrent failure.
67310         Adjust comment to reflect reality: this function may return -1.
67311
67312 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
67313
67314         * build-aux/bootstrap (TP_URL,get_translations): Update to use
67315         the new TP address.
67316         (usage): Fix typo
67317         (gnulib_mk): New variable.
67318
67319 2007-07-05  Jim Meyering  <jim@meyering.net>
67320
67321         Don't let endgrent clobber errno, no matter how improbable.
67322         * lib/getugroups.c (getugroups): Save and restore errno around
67323         endgrent call.
67324
67325         Close the group DB even when failing with 2^31 or more members.
67326         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
67327
67328 2007-07-04  Jim Meyering  <jim@meyering.net>
67329
67330         * lib/getugroups.h: New file.
67331         * lib/getugroups.c: Include "getugroups.h".
67332         Remove uses of "register" keyword.
67333         Move local variable, "cp", down into scope where used.
67334         Give "username" parameter the "const" attribute.
67335         * modules/getugroups (Files): Add lib/getugroups.h
67336
67337 2007-07-04  Karl Berry  <karl@gnu.org>
67338
67339         * MODULES.html.sh (func_all_modules): Complete rename of
67340         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
67341
67342 2007-07-02  Bruno Haible  <bruno@clisp.org>
67343
67344         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
67345         mode, when inttypes.h comes from gnulib.
67346         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67347
67348 2007-07-02  Simon Josefsson  <simon@josefsson.org>
67349
67350         * NEWS: Mention lgpl module name change.
67351
67352         * modules/lgpl-2.1: Renamed from lgpl.
67353
67354         * NEWS: Mention gpl module name change.
67355
67356         * modules/gpl-3.0: New file, based on gpl-2.0.
67357
67358         * modules/gpl-2.0: Renamed from gpl.
67359
67360         * modules/gpl: Fix filename, doc/gpl.texi is now found at
67361         doc/gpl-2.0.texi.
67362
67363 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67364
67365         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
67366         #define __STDC_LIMIT_MACROS temporarily while including
67367         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
67368         Problem reported by Joel E. Denny in
67369         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
67370
67371 2007-07-01  Bruno Haible  <bruno@clisp.org>
67372
67373         * lib/unistdio.h: New file.
67374         * lib/unistdio/u-asnprintf.h: New file.
67375         * lib/unistdio/u-asprintf.h: New file.
67376         * lib/unistdio/u-printf-args.c: New file.
67377         * lib/unistdio/u-printf-args.h: New file.
67378         * lib/unistdio/u-printf-parse.h: New file.
67379         * lib/unistdio/u-snprintf.h: New file.
67380         * lib/unistdio/u-sprintf.h: New file.
67381         * lib/unistdio/u-vasprintf.h: New file.
67382         * lib/unistdio/u-vsnprintf.h: New file.
67383         * lib/unistdio/u-vsprintf.h: New file.
67384         * lib/unistdio/ulc-asnprintf.c: New file.
67385         * lib/unistdio/ulc-asprintf.c: New file.
67386         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
67387         * lib/unistdio/ulc-printf-parse.c: New file.
67388         * lib/unistdio/ulc-snprintf.c: New file.
67389         * lib/unistdio/ulc-sprintf.c: New file.
67390         * lib/unistdio/ulc-vasnprintf.c: New file.
67391         * lib/unistdio/ulc-vasprintf.c: New file.
67392         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
67393         * lib/unistdio/ulc-vsnprintf.c: New file.
67394         * lib/unistdio/ulc-vsprintf.c: New file.
67395         * lib/unistdio/u8-asnprintf.c: New file.
67396         * lib/unistdio/u8-asprintf.c: New file.
67397         * lib/unistdio/u8-printf-parse.c: New file.
67398         * lib/unistdio/u8-snprintf.c: New file.
67399         * lib/unistdio/u8-sprintf.c: New file.
67400         * lib/unistdio/u8-vasnprintf.c: New file.
67401         * lib/unistdio/u8-vasprintf.c: New file.
67402         * lib/unistdio/u8-vsnprintf.c: New file.
67403         * lib/unistdio/u8-vsprintf.c: New file.
67404         * lib/unistdio/u8-u8-asnprintf.c: New file.
67405         * lib/unistdio/u8-u8-asprintf.c: New file.
67406         * lib/unistdio/u8-u8-snprintf.c: New file.
67407         * lib/unistdio/u8-u8-sprintf.c: New file.
67408         * lib/unistdio/u8-u8-vasnprintf.c: New file.
67409         * lib/unistdio/u8-u8-vasprintf.c: New file.
67410         * lib/unistdio/u8-u8-vsnprintf.c: New file.
67411         * lib/unistdio/u8-u8-vsprintf.c: New file.
67412         * lib/unistdio/u16-asnprintf.c: New file.
67413         * lib/unistdio/u16-asprintf.c: New file.
67414         * lib/unistdio/u16-printf-parse.c: New file.
67415         * lib/unistdio/u16-snprintf.c: New file.
67416         * lib/unistdio/u16-sprintf.c: New file.
67417         * lib/unistdio/u16-vasnprintf.c: New file.
67418         * lib/unistdio/u16-vasprintf.c: New file.
67419         * lib/unistdio/u16-vsnprintf.c: New file.
67420         * lib/unistdio/u16-vsprintf.c: New file.
67421         * lib/unistdio/u16-u16-asnprintf.c: New file.
67422         * lib/unistdio/u16-u16-asprintf.c: New file.
67423         * lib/unistdio/u16-u16-snprintf.c: New file.
67424         * lib/unistdio/u16-u16-sprintf.c: New file.
67425         * lib/unistdio/u16-u16-vasnprintf.c: New file.
67426         * lib/unistdio/u16-u16-vasprintf.c: New file.
67427         * lib/unistdio/u16-u16-vsnprintf.c: New file.
67428         * lib/unistdio/u16-u16-vsprintf.c: New file.
67429         * lib/unistdio/u32-asnprintf.c: New file.
67430         * lib/unistdio/u32-asprintf.c: New file.
67431         * lib/unistdio/u32-printf-parse.c: New file.
67432         * lib/unistdio/u32-snprintf.c: New file.
67433         * lib/unistdio/u32-sprintf.c: New file.
67434         * lib/unistdio/u32-vasnprintf.c: New file.
67435         * lib/unistdio/u32-vasprintf.c: New file.
67436         * lib/unistdio/u32-vsnprintf.c: New file.
67437         * lib/unistdio/u32-vsprintf.c: New file.
67438         * lib/unistdio/u32-u32-asnprintf.c: New file.
67439         * lib/unistdio/u32-u32-asprintf.c: New file.
67440         * lib/unistdio/u32-u32-snprintf.c: New file.
67441         * lib/unistdio/u32-u32-sprintf.c: New file.
67442         * lib/unistdio/u32-u32-vasnprintf.c: New file.
67443         * lib/unistdio/u32-u32-vasprintf.c: New file.
67444         * lib/unistdio/u32-u32-vsnprintf.c: New file.
67445         * lib/unistdio/u32-u32-vsprintf.c: New file.
67446         * tests/unistdio/test-ulc-asnprintf1.c: New file.
67447         * tests/unistdio/test-ulc-asnprintf1.h: New file.
67448         * tests/unistdio/test-ulc-printf1.h: New file.
67449         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
67450         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
67451         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
67452         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
67453         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
67454         * tests/unistdio/test-ulc-vasprintf1.c: New file.
67455         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
67456         * tests/unistdio/test-ulc-vsprintf1.c: New file.
67457         * tests/unistdio/test-u8-asnprintf1.c: New file.
67458         * tests/unistdio/test-u8-asnprintf1.h: New file.
67459         * tests/unistdio/test-u8-printf1.h: New file.
67460         * tests/unistdio/test-u8-vasnprintf1.c: New file.
67461         * tests/unistdio/test-u8-vasnprintf2.c: New file.
67462         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
67463         * tests/unistdio/test-u8-vasnprintf3.c: New file.
67464         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
67465         * tests/unistdio/test-u8-vasprintf1.c: New file.
67466         * tests/unistdio/test-u8-vsnprintf1.c: New file.
67467         * tests/unistdio/test-u8-vsprintf1.c: New file.
67468         * tests/unistdio/test-u16-asnprintf1.c: New file.
67469         * tests/unistdio/test-u16-asnprintf1.h: New file.
67470         * tests/unistdio/test-u16-printf1.h: New file.
67471         * tests/unistdio/test-u16-vasnprintf1.c: New file.
67472         * tests/unistdio/test-u16-vasnprintf2.c: New file.
67473         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
67474         * tests/unistdio/test-u16-vasnprintf3.c: New file.
67475         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
67476         * tests/unistdio/test-u16-vasprintf1.c: New file.
67477         * tests/unistdio/test-u16-vsnprintf1.c: New file.
67478         * tests/unistdio/test-u16-vsprintf1.c: New file.
67479         * tests/unistdio/test-u32-asnprintf1.c: New file.
67480         * tests/unistdio/test-u32-asnprintf1.h: New file.
67481         * tests/unistdio/test-u32-printf1.h: New file.
67482         * tests/unistdio/test-u32-vasnprintf1.c: New file.
67483         * tests/unistdio/test-u32-vasnprintf2.c: New file.
67484         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
67485         * tests/unistdio/test-u32-vasnprintf3.c: New file.
67486         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
67487         * tests/unistdio/test-u32-vasprintf1.c: New file.
67488         * tests/unistdio/test-u32-vsnprintf1.c: New file.
67489         * tests/unistdio/test-u32-vsprintf1.c: New file.
67490         * modules/unistdio/base: New file.
67491         * modules/unistdio/u-printf-args: New file.
67492         * modules/unistdio/ulc-asnprintf: New file.
67493         * modules/unistdio/ulc-asprintf: New file.
67494         * modules/unistdio/ulc-fprintf: New file.
67495         * modules/unistdio/ulc-printf-parse: New file.
67496         * modules/unistdio/ulc-snprintf: New file.
67497         * modules/unistdio/ulc-sprintf: New file.
67498         * modules/unistdio/ulc-vasnprintf: New file.
67499         * modules/unistdio/ulc-vasprintf: New file.
67500         * modules/unistdio/ulc-vfprintf: New file.
67501         * modules/unistdio/ulc-vsnprintf: New file.
67502         * modules/unistdio/ulc-vsprintf: New file.
67503         * modules/unistdio/u8-asnprintf: New file.
67504         * modules/unistdio/u8-asprintf: New file.
67505         * modules/unistdio/u8-printf-parse: New file.
67506         * modules/unistdio/u8-snprintf: New file.
67507         * modules/unistdio/u8-sprintf: New file.
67508         * modules/unistdio/u8-vasnprintf: New file.
67509         * modules/unistdio/u8-vasprintf: New file.
67510         * modules/unistdio/u8-vsnprintf: New file.
67511         * modules/unistdio/u8-vsprintf: New file.
67512         * modules/unistdio/u8-u8-asnprintf: New file.
67513         * modules/unistdio/u8-u8-asprintf: New file.
67514         * modules/unistdio/u8-u8-snprintf: New file.
67515         * modules/unistdio/u8-u8-sprintf: New file.
67516         * modules/unistdio/u8-u8-vasnprintf: New file.
67517         * modules/unistdio/u8-u8-vasprintf: New file.
67518         * modules/unistdio/u8-u8-vsnprintf: New file.
67519         * modules/unistdio/u8-u8-vsprintf: New file.
67520         * modules/unistdio/u16-asnprintf: New file.
67521         * modules/unistdio/u16-asprintf: New file.
67522         * modules/unistdio/u16-printf-parse: New file.
67523         * modules/unistdio/u16-snprintf: New file.
67524         * modules/unistdio/u16-sprintf: New file.
67525         * modules/unistdio/u16-vasnprintf: New file.
67526         * modules/unistdio/u16-vasprintf: New file.
67527         * modules/unistdio/u16-vsnprintf: New file.
67528         * modules/unistdio/u16-vsprintf: New file.
67529         * modules/unistdio/u16-u16-asnprintf: New file.
67530         * modules/unistdio/u16-u16-asprintf: New file.
67531         * modules/unistdio/u16-u16-snprintf: New file.
67532         * modules/unistdio/u16-u16-sprintf: New file.
67533         * modules/unistdio/u16-u16-vasnprintf: New file.
67534         * modules/unistdio/u16-u16-vasprintf: New file.
67535         * modules/unistdio/u16-u16-vsnprintf: New file.
67536         * modules/unistdio/u16-u16-vsprintf: New file.
67537         * modules/unistdio/u32-asnprintf: New file.
67538         * modules/unistdio/u32-asprintf: New file.
67539         * modules/unistdio/u32-printf-parse: New file.
67540         * modules/unistdio/u32-snprintf: New file.
67541         * modules/unistdio/u32-sprintf: New file.
67542         * modules/unistdio/u32-vasnprintf: New file.
67543         * modules/unistdio/u32-vasprintf: New file.
67544         * modules/unistdio/u32-vsnprintf: New file.
67545         * modules/unistdio/u32-vsprintf: New file.
67546         * modules/unistdio/u32-u32-asnprintf: New file.
67547         * modules/unistdio/u32-u32-asprintf: New file.
67548         * modules/unistdio/u32-u32-snprintf: New file.
67549         * modules/unistdio/u32-u32-sprintf: New file.
67550         * modules/unistdio/u32-u32-vasnprintf: New file.
67551         * modules/unistdio/u32-u32-vasprintf: New file.
67552         * modules/unistdio/u32-u32-vsnprintf: New file.
67553         * modules/unistdio/u32-u32-vsprintf: New file.
67554         * modules/unistdio/ulc-asnprintf-tests: New file.
67555         * modules/unistdio/ulc-vasnprintf-tests: New file.
67556         * modules/unistdio/ulc-vasprintf-tests: New file.
67557         * modules/unistdio/ulc-vsnprintf-tests: New file.
67558         * modules/unistdio/ulc-vsprintf-tests: New file.
67559         * modules/unistdio/u8-asnprintf-tests: New file.
67560         * modules/unistdio/u8-vasnprintf-tests: New file.
67561         * modules/unistdio/u8-vasprintf-tests: New file.
67562         * modules/unistdio/u8-vsnprintf-tests: New file.
67563         * modules/unistdio/u8-vsprintf-tests: New file.
67564         * modules/unistdio/u16-asnprintf-tests: New file.
67565         * modules/unistdio/u16-vasnprintf-tests: New file.
67566         * modules/unistdio/u16-vasprintf-tests: New file.
67567         * modules/unistdio/u16-vsnprintf-tests: New file.
67568         * modules/unistdio/u16-vsprintf-tests: New file.
67569         * modules/unistdio/u32-asnprintf-tests: New file.
67570         * modules/unistdio/u32-vasnprintf-tests: New file.
67571         * modules/unistdio/u32-vasprintf-tests: New file.
67572         * modules/unistdio/u32-vsnprintf-tests: New file.
67573         * modules/unistdio/u32-vsprintf-tests: New file.
67574         * MODULES.html.sh (Unicode string functions): Add the new modules.
67575
67576 2007-07-01  Bruno Haible  <bruno@clisp.org>
67577
67578         * lib/sprintf.c (sprintf): Limit the available length estimation,
67579         to avoid address wraparound.
67580         * lib/vsprintf.c (vsprintf): Likewise.
67581         * modules/sprintf-posix (Dependencies): Add stdint.
67582         * modules/vsprintf-posix (Dependencies): Likewise.
67583
67584 2007-07-01  Bruno Haible  <bruno@clisp.org>
67585
67586         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
67587         Windows PATH as well. Conservative double-quoting. Comments.
67588
67589 2007-07-01  Bruno Haible  <bruno@clisp.org>
67590             Eric Blake  <ebb9@byu.net>
67591             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67592
67593         * gnulib-tool (self_abspathname): Fix algorithm to cope with
67594         empty components in $PATH, denoting '.'.
67595
67596 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67597
67598         * gnulib-tool: Fix indentation.
67599         (func_create_megatestdir): Likewise.
67600         Report by Bruno Haible.
67601
67602 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67603
67604         Sync from Automake.
67605         * build-aux/gnupload: Fix shell portability issues with for loops.
67606         Report by Karl Berry.
67607
67608 2007-06-29  Simon Josefsson  <simon@josefsson.org>
67609
67610         * build-aux/maint.mk (POURL): Use translationproject.org.
67611
67612 2007-06-27  Simon Josefsson  <simon@josefsson.org>
67613             Bruno Haible  <bruno@clisp.org>
67614
67615         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
67616         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
67617         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
67618         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
67619         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
67620
67621 2007-06-27  Bruno Haible  <bruno@clisp.org>
67622
67623         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
67624         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
67625
67626 2007-06-26  Karl Berry  <karl@gnu.org>
67627
67628         * MODULES.html.sh: remove xreadlink-with-size.
67629
67630 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
67631
67632         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
67633         method that I hope also handles the double-include problem noted
67634         by Bruno Haible in
67635         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
67636
67637 2007-06-23  Bruno Haible  <bruno@clisp.org>
67638
67639         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67640         Don't let the 'mostlyclean' target fail if the last subdirectory could
67641         not be removed.
67642         Reported by Karl Berry.
67643
67644 2007-06-23  Bruno Haible  <bruno@clisp.org>
67645
67646         * gnulib-tool (echo): Add a speedier workaround for ksh.
67647         * tests/test-echo.sh: Likewise.
67648
67649 2007-06-23  Bruno Haible  <bruno@clisp.org>
67650
67651         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
67652         * tests/test-echo.sh: Likewise.
67653
67654 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67655
67656         * gnulib-tool (IFS): Initialize early, so we don't set it to
67657         empty later.
67658         (self_abspathname): Rewrite algorithm to set it, reindent.
67659         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
67660         (func_create_megatestdir): Merge some sed scripts.
67661
67662 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
67663
67664         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
67665         exposed by Sun Studio 11 cc on Solaris 8.
67666
67667 2007-06-22  Bruno Haible  <bruno@clisp.org>
67668
67669         * gnulib-tool (echo): Ensure the echo primitive does not interpret
67670         backslashes.
67671         * tests/test-echo.sh: New file.
67672
67673 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67674
67675         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
67676         simplify `sed_replace_build_aux' scripts, they are portable but
67677         echoing them with `echo' is not.
67678         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
67679
67680 2007-06-21  Karl Berry  <karl@gnu.org>
67681
67682         * config/srclist.txt: guess we can't handle the licenses via
67683         srclist at the moment.
67684
67685 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
67686
67687         * MODULES.html.sh: Add include_next.
67688         * modules/include_next: New file.
67689
67690 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
67691
67692         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
67693         INCLUDE_NEXT.
67694         (gl_CHECK_NEXT_HEADERS): New macro.
67695         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
67696         the obsolescent gl_ABSOLUTE_HEADER.
67697         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
67698         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
67699         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
67700         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
67701         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
67702         * m4/math_h.m4 (gl_MATH_H): Likewise.
67703         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
67704         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
67705         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
67706         * m4/stdint.m4 (gl_STDINT_H): Likewise.
67707         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
67708         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
67709         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
67710         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
67711         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
67712         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
67713         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
67714         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
67715         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
67716         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
67717         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
67718         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
67719         * m4/inttypes.m4 (gl_INTTYPES_H): Define
67720         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
67721         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
67722         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
67723         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
67724         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
67725         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
67726         * lib/float_.h: Likewise.
67727         * lib/inttypes_.h: Likewise.
67728         * lib/math_.h: Likewise.
67729         * lib/search_.h: Likewise.
67730         * lib/signal_.h: Likewise.
67731         * lib/stdint_.h: Likewise.
67732         * lib/stdio_.h: Likewise.
67733         * lib/stdlib_.h: Likewise.
67734         * lib/string_.h: Likewise.
67735         * lib/sys_stat_.h: Likewise.
67736         * lib/sys_time_.h: Likewise.
67737         * lib/time_.h: Likewise.
67738         * lib/unistd_.h: Likewise.
67739         * lib/wchar_.h: Likewise.
67740         * lib/wctype_.h: Likewise.
67741         * lib/dirent_.h: Likewise.
67742         * lib/iconv_.h: Likewise.
67743         * lib/locale_.h: Likewise.
67744         * lib/netinet_in_.h: Likewise.
67745         * lib/sys_select_.h: Likewise.
67746         * lib/sys_socket_.h: Likewise.
67747         * lib/sysexits_.h: Likewise.
67748         * modules/fcntl (Depends-on): Depend on include_next, not
67749         absolute_header.
67750         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
67751         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
67752         * modules/fchdir: Likewise.
67753         * modules/float: Likewise.
67754         * modules/iconv_open: Likewise.
67755         * modules/inttypes: Likewise.
67756         * modules/locale: Likewise.
67757         * modules/math: Likewise.
67758         * modules/netinet_in: Likewise.
67759         * modules/search: Likewise.
67760         * modules/signal: Likewise.
67761         * modules/stdint: Likewise.
67762         * modules/stdio: Likewise.
67763         * modules/stdlib: Likewise.
67764         * modules/string: Likewise.
67765         * modules/sys_select: Likewise.
67766         * modules/sys_socket: Likewise.
67767         * modules/sys_stat: Likewise.
67768         * modules/sys_time: Likewise.
67769         * modules/sysexits: Likewise.
67770         * modules/time: Likewise.
67771         * modules/unistd: Likewise.
67772         * modules/wchar: Likewise.
67773         * modules/wctype: Likewise.
67774         * modules/sys_stat: Change maintainer to "all".
67775         * modules/unistd: Likewise.
67776
67777 2007-06-20  Karl Berry  <karl@gnu.org>
67778
67779         * config/srclist.txt: track www changes in license files.
67780
67781 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
67782
67783         * build-aux/bootstrap: Remove stray dot.
67784         Make sure build_aux settings are honored when linking
67785         gnulib_extra_files.
67786
67787 2007-06-19  Eric Blake  <ebb9@byu.net>
67788
67789         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
67790         Allow compilation on cygwin.
67791
67792 2007-06-19  Jim Meyering  <jim@meyering.net>
67793
67794         xreadlink-with-size: Remove module.  No longer used.
67795         Ex-callers now use xreadlink or mreadlink-with-size.
67796         * modules/xreadlink-with-size: Remove module.
67797         * lib/xreadlink-with-size.c: Remove file.
67798         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
67799         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
67800         just before the function definition *is* accurate.
67801
67802         Eliminate one way canonicalize_filename_mode could exit.
67803         * lib/canonicalize.c (canonicalize_filename_mode):
67804         Use mreadlink_with_size, not xreadlink_with_size.
67805
67806 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
67807
67808         Detect porting problems to FreeBSD/arm, which has time_t wider than
67809         long int.  Original problem reported for GNU diff by Xin Li in
67810         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
67811         * modules/getdate (Depends-on): Add intprops, verify.
67812         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
67813         is an integer type no wider than long int.
67814
67815 2007-06-18  Jim Meyering  <jim@meyering.net>
67816
67817         New module: mreadlink-with-size.
67818         * MODULES.html.sh: Add mreadlink-with-size.
67819         * modules/mreadlink-with-size: New module
67820         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
67821         not xreadlink-with-size.
67822         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
67823
67824 2007-06-16  Bruno Haible  <bruno@clisp.org>
67825
67826         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
67827         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
67828         Reported by Gary V. Vaughan <gary@gnu.org>.
67829
67830 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
67831
67832         Revamp lchown so that it lives in unistd.h where it belongs.
67833         * lib/lchown.h: Remove.
67834         * lib/dirchownmod.c: Don't include lib/lchown.h.
67835         * lib/fchownat.c: Likewise.
67836         * lib/openat.c: Likewise.
67837         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
67838         does not follow symlinks.
67839         (EOPNOTSUPP): Define if not defined.
67840         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
67841         is defined to 0.
67842         (lchown): New decl.
67843         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
67844         Do not check for lchown decl.
67845         Set REPLACE_LCHOWN.
67846         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
67847         REPLACE_LCHOWN.
67848         * modules/chown: Make it clear it follows symlinks.
67849         * modules/lchown: Make it clear it doesn't follow symlinks.
67850         (Files): Remove lib/lchown.h
67851         (Depends-on): Add unistd.
67852         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
67853         (Include): Include <unistd.h>, not "lchown.h".
67854         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
67855         REPLACE_LCHOWN.
67856
67857 2007-06-15  Jim Meyering  <jim@meyering.net>
67858
67859         Change license (GPL to LGPL) of fsusage and dependents.
67860         * modules/fsusage (License): Change to LGPL.
67861         * modules/full-read (License): Likewise.
67862         * modules/full-write (License): Likewise.
67863         * modules/safe-read (License): Likewise.
67864         * modules/safe-write (License): Likewise.
67865
67866 2007-06-14  Ben Pfaff  <blp@gnu.org>
67867
67868         Missing part of allocsa -> malloca transition.
67869         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
67870         gl_MALLOCA.
67871
67872 2007-06-12  Bruno Haible  <bruno@clisp.org>
67873
67874         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
67875         to ia64, x86_64, i386.
67876         Reported by Eric Blake.
67877
67878 2007-06-12  Bruno Haible  <bruno@clisp.org>
67879
67880         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
67881         cross-compiling to x86_64.
67882
67883 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
67884
67885         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
67886         glitch reported by Ralf Wildenhues in
67887         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
67888
67889         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
67890         Vin Shelton.
67891
67892 2007-06-11  Bruno Haible  <bruno@clisp.org>
67893
67894         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
67895         replacement string.
67896         Reported by Eric Blake.
67897
67898 2007-06-10  Bruno Haible  <bruno@clisp.org>
67899
67900         Prepare vasnprintf code for use with Unicode strings.
67901         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
67902         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
67903         TYPE_U32_STRING.
67904         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
67905         a_u32_string variants.
67906         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
67907         * lib/printf-args.c: Don't include config.h and the specification
67908         header if PRINTF_FETCHARGS is already defined.
67909         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
67910         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
67911         TYPE_U16_STRING, TYPE_U32_STRING.
67912         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
67913         u16_directive, u16_directives, u32_directive, u32_directives): New
67914         types.
67915         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
67916         New declarations.
67917         * lib/printf-parse.c: Don't include config.h and the specification
67918         header if PRINTF_PARSE is already defined. Eliminate the set of
67919         parameters for WIDE_CHAR_VERSION; the user of this file must provide
67920         them now. Include c-ctype.h.
67921         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
67922         directive and CHAR_T_ONLY_ASCII.
67923         * lib/vasnprintf.c: Don't include config.h and the specification header
67924         if VASNPRINTF is already defined.
67925         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
67926         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
67927         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
67928         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
67929         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
67930         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
67931         code accordingly.
67932         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
67933         pad_ourselves also in this case, with the 'c' and 's' directives, and
67934         with a different notion of "width".
67935         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
67936
67937 2007-06-10  Bruno Haible  <bruno@clisp.org>
67938
67939         * modules/unistr/u32-mbsnlen: New file.
67940         * lib/unistr/u32-mbsnlen.c: New file.
67941
67942         * modules/unistr/u16-mbsnlen: New file.
67943         * lib/unistr/u16-mbsnlen.c: New file.
67944
67945         * modules/unistr/u8-mbsnlen: New file.
67946         * lib/unistr/u8-mbsnlen.c: New file.
67947
67948         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
67949         declarations.
67950
67951 2007-06-10  Bruno Haible  <bruno@clisp.org>
67952
67953         * lib/string_.h (mbsnlen): New declaration.
67954         * lib/mbsnlen.c: New file.
67955         * m4/mbsnlen.m4: New file.
67956         * modules/mbsnlen: New file.
67957         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
67958         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
67959         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
67960
67961 2007-06-10  Bruno Haible  <bruno@clisp.org>
67962
67963         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
67964
67965 2007-06-10  Bruno Haible  <bruno@clisp.org>
67966
67967         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
67968         * lib/mbuiter.h: Likewise.
67969
67970 2007-06-10  Bruno Haible  <bruno@clisp.org>
67971
67972         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
67973         declaration.
67974
67975 2007-06-10  Karl Berry  <karl@gnu.org>
67976
67977         * config/srclist.txt: remove gettext entries, Bruno prefers
67978         to update individually.
67979
67980 2007-06-10  Bruno Haible  <bruno@clisp.org>
67981
67982         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
67983         'maxlen'. Ensure only length + width bytes are allocated, not
67984         length + 1 + width.
67985
67986 2007-06-09  Bruno Haible  <bruno@clisp.org>
67987
67988         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
67989         (CHAR_T): Remove macro.
67990         (VASNPRINTF): Update.
67991
67992 2007-06-09  Bruno Haible  <bruno@clisp.org>
67993
67994         * MODULES.html.sh (Unicode string functions): Add the new modules.
67995
67996         * modules/uniconv/u32-conv-to-enc: New file.
67997         * lib/uniconv/u32-conv-to-enc.c: New file.
67998         * modules/uniconv/u32-conv-to-enc-tests: New file.
67999         * tests/uniconv/test-u32-conv-to-enc.c: New file.
68000
68001         * modules/uniconv/u16-conv-to-enc: New file.
68002         * lib/uniconv/u16-conv-to-enc.c: New file.
68003         * lib/uniconv/u-conv-to-enc.h: New file.
68004         * modules/uniconv/u16-conv-to-enc-tests: New file.
68005         * tests/uniconv/test-u16-conv-to-enc.c: New file.
68006
68007         * modules/uniconv/u8-conv-to-enc: New file.
68008         * lib/uniconv/u8-conv-to-enc.c: New file.
68009         * modules/uniconv/u8-conv-to-enc-tests: New file.
68010         * tests/uniconv/test-u8-conv-to-enc.c: New file.
68011
68012         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
68013         u32_conv_to_encoding): New declarations.
68014
68015 2007-06-09  Bruno Haible  <bruno@clisp.org>
68016
68017         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
68018
68019 2007-06-09  Bruno Haible  <bruno@clisp.org>
68020
68021         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
68022         * modules/malloca: Renamed from modules/allocsa, updated.
68023         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
68024         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
68025         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
68026         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
68027         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
68028         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
68029         * modules/xmalloca: Renamed from modules/xallocsa, updated.
68030         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
68031         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
68032         * modules/c-strcasestr (Depends-on): Update.
68033         * lib/c-strcasestr.c: Update.
68034         * modules/c-strstr (Depends-on): Update.
68035         * lib/c-strstr.c: Update.
68036         * modules/canonicalize-lgpl (Depends-on): Update.
68037         * lib/canonicalize-lgpl.c: Update.
68038         * modules/clean-temp (Depends-on): Update.
68039         * lib/clean-temp.c: Update.
68040         * modules/csharpcomp (Depends-on): Update.
68041         * lib/csharpcomp.c: Update.
68042         * modules/csharpexec (Depends-on): Update.
68043         * lib/csharpexec.c: Update.
68044         * modules/javacomp (Depends-on): Update.
68045         * lib/javacomp.c: Update.
68046         * modules/javaexec (Depends-on): Update.
68047         * lib/javaexec.c: Update.
68048         * modules/mbscasestr (Depends-on): Update.
68049         * lib/mbscasestr.c: Update.
68050         * modules/mbsstr (Depends-on): Update.
68051         * lib/mbsstr.c: Update.
68052         * modules/setenv (Depends-on): Update.
68053         * lib/setenv.c: Update.
68054         * modules/strcasestr (Depends-on): Update.
68055         * lib/strcasestr.c: Update.
68056         * modules/striconveha (Depends-on): Update.
68057         * lib/striconveha.c: Update.
68058         * modules/relocatable-prog-wrapper (Files): Update.
68059         * lib/relocwrapper.c: Update.
68060         * build-aux/install-reloc: Update.
68061         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
68062
68063 2007-06-08  Bruno Haible  <bruno@clisp.org>
68064
68065         Port to uClibc.
68066         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
68067         * lib/fpurge.c (fpurge): Likewise.
68068         * lib/freading.c (freading): Likewise.
68069         * lib/fseeko.c (rpl_fseeko): Likewise.
68070         * lib/fseterr.c (fseterr): Likewise.
68071         * lib/fwriting.c (fwriting): Likewise.
68072         * tests/test-fflush.c (main): Avoid a failure on uClibc.
68073
68074 2007-06-08  Bruno Haible  <bruno@clisp.org>
68075
68076         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
68077         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
68078         * modules/gettext (Files): Add m4/intlmacosx.m4.
68079
68080 2007-06-07  Bruno Haible  <bruno@clisp.org>
68081
68082         * modules/localename-tests: New file.
68083         * tests/test-localename.c: New file.
68084
68085         New module 'localename'.
68086         * lib/localename.h: New file.
68087         * lib/localename.c: New file, from GNU gettext.
68088         * m4/localename.m4: New file.
68089         * modules/localename: New file.
68090
68091 2007-06-07  Bruno Haible  <bruno@clisp.org>
68092
68093         Work around the lack of <wchar.h> on some builds of uClibc.
68094         * doc/headers/wchar.texi: Update.
68095         * lib/wchar_.h: Include <wchar.h> only if it exists.
68096         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
68097         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
68098         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
68099         doesn't exist.
68100         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
68101         * modules/mbfile (Depends-on): Add wchar.
68102         * modules/mbiter (Depends-on): Likewise.
68103         * modules/mbuiter (Depends-on): Likewise.
68104         Reported by Simon Josefsson.
68105
68106 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68107
68108         Work around problem reported by Steven M. Schweda in
68109         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
68110         Tru64 5.1B with the Compaq compiler environment installed declares
68111         an 'isblank' function but does not define it in the C library.
68112         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
68113         * lib/regex_internal.h (isblank): Likewise.
68114         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
68115         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68116
68117 2007-06-05  Bruno Haible  <bruno@clisp.org>
68118
68119         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
68120         ia64.
68121         * modules/printf-safe: New file.
68122         * modules/fprintf-posix (Depends-on): Add printf-safe.
68123         * modules/printf-posix (Depends-on): Likewise.
68124         * modules/snprintf-posix (Depends-on): Likewise.
68125         * modules/sprintf-posix (Depends-on): Likewise.
68126         * modules/vasnprintf-posix (Depends-on): Likewise.
68127         * modules/vasprintf-posix (Depends-on): Likewise.
68128         * modules/vfprintf-posix (Depends-on): Likewise.
68129         * modules/vprintf-posix (Depends-on): Likewise.
68130         * modules/vsnprintf-posix (Depends-on): Likewise.
68131         * modules/vsprintf-posix (Depends-on): Likewise.
68132         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
68133         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
68134         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
68135         "no" on i386, x86_64, ia64.
68136         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
68137         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68138         on i386, x86_64, ia64.
68139         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
68140         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68141         on i386, x86_64, ia64.
68142         * tests/test-vasnprintf-posix.c: Include float.h.
68143         (LDBL80_WORDS): New macro.
68144         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68145         on i386, x86_64, ia64.
68146         * tests/test-vasprintf-posix.c: Include float.h.
68147         (LDBL80_WORDS): New macro.
68148         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68149         on i386, x86_64, ia64.
68150         * tests/test-snprintf-posix.c: Include float.h.
68151         * tests/test-sprintf-posix.c: Likewise.
68152         * tests/test-vsnprintf-posix.c: Likewise.
68153         * tests/test-vsprintf-posix.c: Likewise.
68154
68155 2007-06-05  Bruno Haible  <bruno@clisp.org>
68156
68157         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
68158         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
68159         non-IEEE numbers on i386, x86_64, ia64.
68160         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
68161         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
68162         * tests/test-isnanl.h: Include float.h.
68163         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
68164
68165 2007-06-05  Bruno Haible  <bruno@clisp.org>
68166
68167         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
68168         also the %a / %A. Handle the %a / %A code before this extra handling.
68169
68170 2007-06-05  Bruno Haible  <bruno@clisp.org>
68171
68172         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
68173         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
68174
68175 2007-06-05  Bruno Haible  <bruno@clisp.org>
68176
68177         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
68178         typo in variable name.
68179
68180 2007-06-05  Eric Blake  <ebb9@byu.net>
68181
68182         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
68183         Reported by Simon Josefsson.
68184
68185 2007-06-04  Bruno Haible  <bruno@clisp.org>
68186
68187         Avoid test failures on some PowerPC platforms.
68188         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
68189         Define differently for PowerPC.
68190         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
68191         Reported by Gary V. Vaughan <gary@gnu.org>.
68192
68193 2007-06-02  Bruno Haible  <bruno@clisp.org>
68194
68195         Fix test-stdint failure on FreeBSD/ia64.
68196         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
68197         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
68198         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
68199         * doc/headers/stdint.texi: Update.
68200
68201 2007-06-01  Bruno Haible  <bruno@clisp.org>
68202
68203         * tests/test-binary-io.c (main): Pass a third argument to open().
68204         Reported by Gary V. Vaughan <gary@gnu.org>.
68205
68206 2007-06-01  Bruno Haible  <bruno@clisp.org>
68207
68208         * doc/functions/frexpl.texi: Update for mingw.
68209
68210 2007-06-01  Bruno Haible  <bruno@clisp.org>
68211
68212         * tests/test-lseek.c (main): Disable test of errno for invalid third
68213         argument.
68214         * doc/functions/lseek.texi: Update.
68215         Reported by Gary V. Vaughan <gary@gnu.org>.
68216
68217 2007-05-28  Bruno Haible  <bruno@clisp.org>
68218
68219         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
68220
68221 2007-05-31  Eric Blake  <ebb9@byu.net>
68222
68223         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
68224         cross compiling.
68225
68226 2007-05-30  Eric Blake  <ebb9@byu.net>
68227         and Bruno Haible  <bruno@clisp.org>
68228
68229         Work around mingw test failures exposed by m4-1.4.9b.
68230         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
68231         * tests/test-unistd.c: Disable uid_t and git_t tests for the
68232         moment.
68233
68234 2007-05-30  Bruno Haible  <bruno@clisp.org>
68235
68236         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
68237         assuming that they are closed. Needed on HP-UX 11.
68238
68239 2007-05-29  Bruno Haible  <bruno@clisp.org>
68240
68241         Fix a problem with #include_next.
68242         * lib/dirent_.h: Split the double-inclusion guard.
68243         * lib/fcntl_.h: Likewise.
68244         * lib/float_.h: Likewise.
68245         * lib/iconv_.h: Likewise.
68246         * lib/inttypes_.h: Likewise.
68247         * lib/locale_.h: Likewise.
68248         * lib/math_.h: Likewise.
68249         * lib/netinet_in_.h: Likewise.
68250         * lib/search_.h: Likewise.
68251         * lib/signal_.h: Likewise.
68252         * lib/stdint_.h: Likewise.
68253         * lib/stdio_.h: Likewise.
68254         * lib/stdlib_.h: Likewise.
68255         * lib/string_.h: Likewise.
68256         * lib/sys_select_.h: Likewise.
68257         * lib/sys_socket_.h: Likewise.
68258         * lib/sys_stat_.h: Likewise.
68259         * lib/sys_time_.h: Likewise.
68260         * lib/sysexits_.h: Likewise.
68261         * lib/time_.h: Likewise.
68262         * lib/unistd_.h: Likewise.
68263         * lib/wchar_.h: Likewise.
68264         * lib/wctype_.h: Likewise.
68265
68266 2007-05-29  Bruno Haible  <bruno@clisp.org>
68267
68268         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
68269         for the moment.
68270
68271 2007-05-29  Bruno Haible  <bruno@clisp.org>
68272
68273         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
68274         invocation.
68275         Reported by Eric Blake.
68276
68277 2007-05-29  Bruno Haible  <bruno@clisp.org>
68278
68279         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
68280         compiling case.
68281
68282 2007-05-29  Eric Blake  <ebb9@byu.net>
68283             Bruno Haible  <bruno@clisp.org>
68284
68285         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
68286         cross compiles.
68287
68288 2007-05-28  Eric Blake  <ebb9@byu.net>
68289
68290         * modules/closein-tests (test_closein_LDADD): Support test on
68291         cygwin with libtool.
68292
68293 2007-05-28  Bruno Haible  <bruno@clisp.org>
68294
68295         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
68296         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
68297         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
68298         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
68299         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
68300         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
68301         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
68302         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
68303         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
68304
68305 2007-05-28  Eric Blake  <ebb9@byu.net>
68306
68307         Unconditionally include <config.h> in unit tests.
68308         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
68309         * tests/test-allocsa.c, tests/test-arcfour.c,
68310         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
68311         tests/test-array_list.c, tests/test-array_oset.c,
68312         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
68313         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
68314         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
68315         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
68316         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
68317         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
68318         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
68319         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
68320         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
68321         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
68322         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
68323         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
68324         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
68325         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
68326         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
68327         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
68328         test-md5.c, test-memmem.c, test-printf-posix.c,
68329         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
68330         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
68331         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
68332         test-strcasestr.c, test-striconv.c, test-striconveh.c,
68333         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
68334         test-vasnprintf-posix2.c, test-vasnprintf.c,
68335         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
68336         test-vfprintf-posix.c, test-vprintf-posix.c,
68337         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
68338         test-xvasprintf.c: Likewise.
68339
68340 2007-05-28  Bruno Haible  <bruno@clisp.org>
68341
68342         * gnulib-tool (func_import): Remember the --with-tests command-line
68343         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
68344         Reported by Eric Blake.
68345
68346 2007-05-28  Bruno Haible  <bruno@clisp.org>
68347
68348         * modules/ftell-tests: New file.
68349         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
68350         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
68351
68352         * lib/ftell.c: New file.
68353         * modules/ftell: New file.
68354         * m4/ftell.m4: New file.
68355         * doc/functions/ftell.texi: Update.
68356         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
68357         REPLACE_FTELL.
68358         * lib/stdio_.h (rpl_ftell): New declaration.
68359         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
68360         REPLACE_FTELL.
68361
68362 2007-05-28  Eric Blake  <ebb9@byu.net>
68363
68364         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
68365
68366 2007-05-28  Bruno Haible  <bruno@clisp.org>
68367
68368         * modules/fseek-tests: New file.
68369         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
68370         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
68371
68372         * lib/fseek.c: New file.
68373         * modules/fseek: New file.
68374         * m4/fseek.m4: New file.
68375         * doc/functions/fseek.texi: Update.
68376         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
68377         REPLACE_FSEEK.
68378         * lib/stdio_.h (rpl_fseek): New declaration.
68379         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
68380         REPLACE_FSEEK.
68381
68382 2007-05-28  Bruno Haible  <bruno@clisp.org>
68383
68384         * lib/stdio_.h (fflush): More comments.
68385
68386 2007-05-28  Bruno Haible  <bruno@clisp.org>
68387
68388         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
68389         runtime test.
68390
68391 2007-05-28  Eric Blake  <ebb9@byu.net>
68392
68393         Improve lseek module.
68394         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
68395         * lib/unistd_.h (lseek): Scale back link warning message.
68396         * tests/test-lseek.c: Beef up test.
68397         * tests/test-lseek.sh: Exercise more facets of lseek.
68398         Reported by Bruno Haible.
68399
68400 2007-05-28  Bruno Haible  <bruno@clisp.org>
68401
68402         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
68403         to define.
68404
68405 2007-05-27  Bruno Haible  <bruno@clisp.org>
68406
68407         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
68408
68409 2007-05-27  Bruno Haible  <bruno@clisp.org>
68410
68411         * modules/openmp: New file.
68412         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
68413         Noah Misch.
68414
68415 2007-05-26  Bruno Haible  <bruno@clisp.org>
68416
68417         * modules/chdir-long (Depends-on): Add fchdir.
68418         * modules/chdir-safer (Depends-on): Likewise.
68419         * modules/fts (Depends-on): Likewise.
68420         * modules/fts-lgpl (Depends-on): Likewise.
68421         * modules/openat (Depends-on): Likewise.
68422         * modules/savewd (Depends-on): Likewise.
68423
68424 2007-05-24  Eric Blake  <ebb9@byu.net>
68425
68426         Fix lseek on mingw.
68427         * modules/lseek: New module.
68428         * m4/lseek.m4: New file.
68429         * lib/lseek.c: New file.
68430         * modules/lseek-tests: New file.
68431         * tests/test-lseek.c: New file.
68432         * tests/test-lseek.sh: New file.
68433         * MODULES.html.sh: Document lseek module.
68434         * modules/fflush (Depends-on): Add lseek, fseeko.
68435         * modules/fseeko (Depends-on): Likewise.
68436         * modules/ftello (Depends-on): Likewise.
68437         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
68438         broken.
68439         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
68440         broken.
68441         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
68442         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
68443         * lib/ftello.c (rpl_ftello): Likewise.
68444         * tests/test-fseeko.c (main): Test this.
68445         * tests/test-fseeko.sh: Likewise.
68446         * tests/test-ftello.c (main): Likewise.
68447         * tests/test-ftello.sh: Likewise.
68448         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
68449         implies replacing fseek.
68450         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
68451         HAVE_FTELLO.
68452         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
68453         * modules/unistd (Makefile.am): Likewise.
68454         * lib/unistd_.h (lseek): Declare a replacement.
68455         * doc/functions/lseek.texi (lseek): Document this fix.
68456         * doc/functions/fseek.texi (fseek): Likewise.
68457         * doc/functions/ftell.texi (ftell): Likewise.
68458
68459 2007-05-24  Bruno Haible  <bruno@clisp.org>
68460
68461         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
68462         in the printed representation of a NaN.
68463         * tests/test-vasprintf-posix.c (test_function): Likewise.
68464         * tests/test-snprintf-posix.h (test_function): Likewise.
68465         * tests/test-sprintf-posix.h (test_function): Likewise.
68466         Reported by Eric Blake.
68467
68468 2007-05-23  Eric Blake  <ebb9@byu.net>
68469
68470         Fix fseeko/ftello on cygwin 1.5.24.
68471         * doc/functions/fseeko.texi (fseeko): Document the fix.
68472         * doc/functions/ftello.texi (ftello): Document the fix.
68473         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
68474         * doc/functions/stdout.text (stdout): New file.
68475         * doc/functions/stderr.text (stderr): New file.
68476         * doc/gnulib.texi (Function Substitutes): Use new files.
68477         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
68478         prior to 1.7.0.
68479         * tests/test-ftello.c (main): Likewise for ftello.
68480         * tests/test-fseeko.sh: New file.
68481         * tests/test-ftello.sh: New file.
68482         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
68483         with seekable stdin.
68484         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
68485         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
68486         (gl_REPLACE_FSEEKO): New macro.
68487         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
68488         * modules/fseeko (Files): Distribute fseeko.c.
68489         * modules/ftello (Files): Distribute ftello.c.
68490         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
68491         mode.
68492         * lib/ftello.c (rpl_ftello): New file.
68493         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
68494         fseeko, ftello.
68495         (gl_STDIN_LARGE_OFFSET): New macro.
68496         * modules/stdio (Makefile.am): Perform the replacement.
68497         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
68498
68499 2007-05-23  Bruno Haible  <bruno@clisp.org>
68500
68501         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
68502         GNULIB_POSIXCHECK is defined.
68503
68504 2007-05-21  Bruno Haible  <bruno@clisp.org>
68505
68506         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
68507         Check also the output for NaN arguments. When cross-compiling, guess
68508         no on IRIX.
68509         * lib/vasnprintf.c: Update comments.
68510         * tests/test-vasnprintf-posix.c (strisnan): New function.
68511         (test_function): Use it.
68512         * tests/test-vasprintf-posix.c (strisnan): New function.
68513         (test_function): Use it.
68514         * tests/test-snprintf-posix.h (strisnan): New function.
68515         (test_function): Use it.
68516         * tests/test-sprintf-posix.h (strisnan): New function.
68517         (test_function): Use it.
68518         Reported by Eric Blake.
68519
68520 2007-05-20  Bruno Haible  <bruno@clisp.org>
68521
68522         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
68523         numbers that fails on BeOS.
68524         * doc/functions/frexpl.texi: Update.
68525
68526 2007-05-20  Jim Meyering  <jim@meyering.net>
68527
68528         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
68529         forced upon us by glibc-2.6.
68530
68531 2007-05-20  Bruno Haible  <bruno@clisp.org>
68532
68533         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
68534         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
68535         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
68536         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
68537         NEED_PRINTF_INFINITE.
68538         (is_infinitel): New function.
68539         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
68540         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
68541         gl_PREREQ_VASNPRINTF_INFINITE.
68542         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
68543         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68544         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
68545         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
68546         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
68547         gl_PREREQ_VASNPRINTF_INFINITE.
68548         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68549         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68550         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68551         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68552         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68553         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68554         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68555         * doc/functions/fprintf.texi: Update.
68556         * doc/functions/printf.texi: Update.
68557         * doc/functions/snprintf.texi: Update.
68558         * doc/functions/sprintf.texi: Update.
68559         * doc/functions/vfprintf.texi: Update.
68560         * doc/functions/vprintf.texi: Update.
68561         * doc/functions/vsnprintf.texi: Update.
68562         * doc/functions/vsprintf.texi: Update.
68563
68564 2007-05-20  Bruno Haible  <bruno@clisp.org>
68565
68566         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
68567         was not found in libc.
68568         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
68569
68570 2007-05-20  Bruno Haible  <bruno@clisp.org>
68571
68572         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
68573         printed as "-nan" instead of "nan".
68574         * tests/test-vasprintf-posix.c (test_function): Likewise.
68575         * tests/test-snprintf-posix.h (test_function): Likewise.
68576         * tests/test-sprintf-posix.h (test_function): Likewise.
68577         Needed for HP-UX 11.
68578
68579 2007-05-20  Jim Meyering  <jim@meyering.net>
68580
68581         Fix buggy test for the fchownat-deref bug.
68582         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
68583         symlink required for the run-test.  Without it, this test would
68584         always declare that fchownat doesn't work, and client code would
68585         unnecessarily use the replacement function with fixed libc.
68586         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
68587         Reported by Greg Schafer.
68588
68589 2007-05-19  Bruno Haible  <bruno@clisp.org>
68590
68591         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
68592         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
68593         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
68594         Needed for IRIX 6.5 and Solaris 2.5.1.
68595
68596 2007-05-19  Bruno Haible  <bruno@clisp.org>
68597
68598         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
68599         (test_function): Skip tests involving -0.0 on platforms where
68600         -0.0 = 0.0.
68601         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
68602         (test_function): Skip tests involving -0.0 on platforms where
68603         -0.0 = 0.0.
68604         * tests/test-snprintf-posix.h (have_minus_zero): New function.
68605         (test_function): Skip tests involving -0.0 on platforms where
68606         -0.0 = 0.0.
68607         * tests/test-sprintf-posix.h (have_minus_zero): New function.
68608         (test_function): Skip tests involving -0.0 on platforms where
68609         -0.0 = 0.0.
68610         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
68611         tests.
68612         * tests/test-printf-posix.h (test_function): Likewise.
68613         * tests/test-printf-posix.output: Remove all -0.0 related results.
68614         Needed for IRIX 6.5.
68615
68616 2007-05-19  Bruno Haible  <bruno@clisp.org>
68617
68618         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
68619         printed as "nan0x7fffffff" instead of "nan".
68620         * tests/test-vasprintf-posix.c (test_function): Likewise.
68621         * tests/test-snprintf-posix.h (test_function): Likewise.
68622         * tests/test-sprintf-posix.h (test_function): Likewise.
68623         * tests/test-fprintf-posix.h (NaN): Remove macro.
68624         (test_function): Remove all NaN related tests.
68625         * tests/test-printf-posix.h (NaN): Remove macro.
68626         (test_function): Remove all NaN related tests.
68627         * tests/test-printf-posix.output: Remove all NaN related results.
68628         Needed for IRIX 6.5.
68629
68630 2007-05-19  Bruno Haible  <bruno@clisp.org>
68631
68632         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
68633         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
68634
68635 2007-05-19  Bruno Haible  <bruno@clisp.org>
68636
68637         * lib/float_.h: New file.
68638         * m4/float_h.m4: New file.
68639         * modules/float: New file.
68640         * modules/isnanl (Dependencies): Add float.
68641         * modules/isnanl-nolibm (Dependencies): Likewise.
68642         * modules/mathl (Dependencies): Likewise.
68643         * modules/printf-frexpl (Dependencies): Likewise.
68644         * modules/signbit (Dependencies): Likewise.
68645         * modules/vasnprintf (Dependencies): Likewise.
68646         * doc/headers/float.texi: Update.
68647
68648 2007-05-19  Jim Meyering  <jim@meyering.net>
68649
68650         * lib/utimens.c (gl_futimens): Rename from futimens,
68651         now that glibc-2.6 declares futimens.
68652         * lib/utimens.h: Likewise.
68653
68654 2007-05-19  Bruno Haible  <bruno@clisp.org>
68655
68656         Avoid test failures on mingw.
68657         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
68658         * tests/test-printf-posix.sh: Likewise.
68659         * tests/test-vfprintf-posix.sh: Likewise.
68660         * tests/test-vprintf-posix.sh: Likewise.
68661
68662 2007-05-19  Bruno Haible  <bruno@clisp.org>
68663
68664         Fix *printf result for NaN, Inf, -0.0 on mingw.
68665         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
68666         * lib/vasnprintf.c: Include math.h and isnan.h.
68667         (is_infinite_or_zero): New function.
68668         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
68669         values in the %f, %F, %e, %E, %g, %G directives.
68670         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
68671         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68672         gl_PRINTF_INFINITE and test its result. Invoke
68673         gl_PREREQ_VASNPRINTF_INFINITE.
68674         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68675         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68676         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68677         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68678         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68679         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68680         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68681         * doc/functions/fprintf.texi: Update.
68682         * doc/functions/printf.texi: Update.
68683         * doc/functions/snprintf.texi: Update.
68684         * doc/functions/sprintf.texi: Update.
68685         * doc/functions/vfprintf.texi: Update.
68686         * doc/functions/vprintf.texi: Update.
68687         * doc/functions/vsnprintf.texi: Update.
68688         * doc/functions/vsprintf.texi: Update.
68689
68690 2007-05-19  Bruno Haible  <bruno@clisp.org>
68691
68692         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
68693         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
68694         Instead of multiplying with 10^k, set extra_zeroes to k.
68695         (scale10_round_long_double): Remove function.
68696
68697 2007-05-18  Bruno Haible  <bruno@clisp.org>
68698
68699         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
68700         introduced on 2007-05-06.
68701
68702 2007-05-18  Bruno Haible  <bruno@clisp.org>
68703
68704         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
68705         %g directives.
68706         * tests/test-vasprintf-posix.c (test_function): Likewise.
68707         * tests/test-snprintf-posix.h (test_function): Likewise.
68708         * tests/test-sprintf-posix.h (test_function): Likewise.
68709
68710 2007-05-18  Bruno Haible  <bruno@clisp.org>
68711
68712         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
68713         (strmatch): New function.
68714         (test_function): Test the %f directive on numbers of various exponents.
68715         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
68716         (strmatch): New function.
68717         (test_function): Test the %f directive on numbers of various exponents.
68718         * tests/test-snprintf-posix.h (strmatch): New function.
68719         (test_function): Test the %f directive on numbers of various exponents.
68720         * tests/test-sprintf-posix.h (strmatch): New function.
68721         (test_function): Test the %f directive on numbers of various exponents.
68722         * tests/test-snprintf-posix.c (SIZEOF): New macro.
68723         * tests/test-sprintf-posix.c (SIZEOF): New macro.
68724         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
68725         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
68726
68727 2007-05-18  Bruno Haible  <bruno@clisp.org>
68728
68729         Add support for 'long double' number output.
68730         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
68731         * lib/vasnprintf.c: Include math.h and float+.h.
68732         (mp_limb_t): New type.
68733         (GMP_LIMB_BITS): New macro.
68734         (mp_twolimb_t): New type.
68735         (GMP_TWOLIMB_BITS): New macro.
68736         (mpn_t): New type.
68737         (multiply, divide, convert_to_decimal, decode_long_double,
68738         scale10_round_long_double, scale10_round_decimal_long_double,
68739         floorlog10l): New functions.
68740         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
68741         for the %f, %F, %e, %E, %g, %G directives.
68742         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
68743         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68744         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
68745         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
68746         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68747         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68748         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68749         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68750         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68751         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68752         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68753         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
68754         * modules/snprintf-posix (Depends-on): Likewise.
68755         * modules/sprintf-posix (Depends-on): Likewise.
68756         * modules/vasnprintf-posix (Depends-on): Likewise.
68757         * modules/vasprintf-posix (Depends-on): Likewise.
68758         * modules/vfprintf-posix (Depends-on): Likewise.
68759         * modules/vsnprintf-posix (Depends-on): Likewise.
68760         * modules/vsprintf-posix (Depends-on): Likewise.
68761         * modules/vasnprintf (Files): Add lib/float+.h.
68762         * doc/functions/fprintf.texi: Update.
68763         * doc/functions/printf.texi: Update.
68764         * doc/functions/snprintf.texi: Update.
68765         * doc/functions/sprintf.texi: Update.
68766         * doc/functions/vfprintf.texi: Update.
68767         * doc/functions/vprintf.texi: Update.
68768         * doc/functions/vsnprintf.texi: Update.
68769         * doc/functions/vsprintf.texi: Update.
68770
68771 2007-05-18  Bruno Haible  <bruno@clisp.org>
68772
68773         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
68774
68775 2007-05-18  Bruno Haible  <bruno@clisp.org>
68776
68777         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
68778         for printing 64-bit integers. Needed for mingw.
68779
68780 2007-05-18  Bruno Haible  <bruno@clisp.org>
68781
68782         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
68783         gl_FUNC_FREXPL_WORKS.
68784         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
68785
68786 2007-05-18  Bruno Haible  <bruno@clisp.org>
68787
68788         * modules/frexpl-nolibm-tests: New file.
68789
68790         * modules/frexpl-nolibm: New file.
68791         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
68792
68793 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68794
68795         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
68796         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
68797         GCC 4.2, which otherwise issues a lot of warnings.
68798         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
68799         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
68800         Likewise.
68801         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
68802         * modules/iconv_open (iconv.h): Likewise.
68803         * modules/locale (locale.h): Likewise.
68804         * modules/netinet_in (netinet/in.h): Likewise.
68805         * modules/sys_select (sys_select.h): Likewise.
68806         * modules/sys_socket (sys/socket.h): Likewise.
68807         * modules/sys_stat (sys/stat.h): Likewise.
68808         * modules/sysexits (sysexits.h): Likewise.
68809         * modules/unistd (unistd.h): Likewise.
68810
68811 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68812
68813         * modules/closein-tests (Makefile.am): Distribute
68814         `test-closein.sh'.
68815
68816 2007-05-17  Bruno Haible  <bruno@clisp.org>
68817
68818         * tests/test-printf-posix.output: Renamed from
68819         tests/test-fprintf-posix.out.
68820         * modules/fprintf-posix-tests: Update.
68821         * modules/printf-posix-tests: Update.
68822         * modules/vfprintf-posix-tests: Update.
68823         * modules/vprintf-posix-tests: Update.
68824         * tests/test-fprintf-posix.sh: Update.
68825         * tests/test-printf-posix.sh: Update.
68826         * tests/test-vfprintf-posix.sh: Update.
68827         * tests/test-vprintf-posix.sh: Update.
68828         Reported by Ralf Wildenhues.
68829
68830 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68831
68832         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
68833         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
68834         GCC 4.2, which otherwise issues a lot of warnings.
68835         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
68836         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
68837         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
68838         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
68839         it should no longer be needed.
68840         * lib/string_.h: Likewise.
68841         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
68842         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
68843         * modules/inttypes (inttypes.h): Likewise.
68844         * modules/math (math.h): Likewise.
68845         * modules/search (search.h): Likewise.
68846         * modules/signal (signal.h): Likewise.
68847         * modules/stdint (stdint.h): Likewise.
68848         * modules/stdio (stdio.h): Likewise.
68849         * modules/stdlib (stdlib.h): Likewise.
68850         * modules/string (string.h): Likewise.
68851         * modules/sys_time (sys/time.h): Likewise.
68852         * modules/time (time.h): Likewise.
68853         * modules/wchar (wchar.h): Likewise.
68854         * modules/wctype (wtype.h): Likewise.
68855
68856 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
68857
68858         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
68859
68860 2007-05-13  Bruno Haible  <bruno@clisp.org>
68861
68862         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
68863         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
68864         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
68865         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
68866         (gl_PREREQ_STRTOK_R): Don't require it here.
68867
68868 2007-05-13  Bruno Haible  <bruno@clisp.org>
68869
68870         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
68871         when used in C++ mode.
68872
68873 2007-05-12  Bruno Haible  <bruno@clisp.org>
68874
68875         * lib/linebuffer.h: Tweak doc.
68876         * lib/linebuffer.c: Likewise.
68877
68878 2007-05-12  James Youngman  <jay@gnu.org>
68879
68880         * lib/linebuffer.c (readlinebuffer_delim): New function,
68881         like readlinebuffer, but use a caller-specified delimiter.
68882         (readlinebuffer): Just call readlinebuffer_delim with '\n'
68883         as the delimiter.
68884         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
68885
68886 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
68887
68888         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
68889         * modules/openat (Files): Remove openat-die.c.
68890         (Depends-on): Add openat-die.
68891         * modules/openat-die: New module.
68892
68893 2007-05-06  Bruno Haible  <bruno@clisp.org>
68894
68895         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
68896         Update with info about Cygwin.
68897         * doc/functions/fprintf.texi: Update.
68898         * doc/functions/printf.texi: Update.
68899         * doc/functions/snprintf.texi: Update.
68900         * doc/functions/sprintf.texi: Update.
68901         * doc/functions/vfprintf.texi: Update.
68902         * doc/functions/vprintf.texi: Update.
68903         * doc/functions/vsnprintf.texi: Update.
68904         * doc/functions/vsprintf.texi: Update.
68905         Reported by Eric Blake.
68906
68907 2007-05-06  Bruno Haible  <bruno@clisp.org>
68908
68909         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
68910         padding ourselves for the floating-point directives.
68911         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
68912         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
68913         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
68914         gl_PRINTF_FLAG_ZERO and test its result. Invoke
68915         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
68916         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68917         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
68918         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68919         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68920         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68921         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68922         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68923         * tests/test-snprintf-posix.h (test_function): Also check the width
68924         and some flags in the %f directive.
68925         * tests/test-sprintf-posix.h (test_function): Likewise.
68926         * tests/test-vasnprintf-posix.c (test_function): Likewise.
68927         * tests/test-vasprintf-posix.c (test_function): Likewise.
68928         * doc/functions/fprintf.texi: Update.
68929         * doc/functions/printf.texi: Update.
68930         * doc/functions/snprintf.texi: Update.
68931         * doc/functions/sprintf.texi: Update.
68932         * doc/functions/vfprintf.texi: Update.
68933         * doc/functions/vprintf.texi: Update.
68934         * doc/functions/vsnprintf.texi: Update.
68935         * doc/functions/vsprintf.texi: Update.
68936
68937 2007-05-06  Bruno Haible  <bruno@clisp.org>
68938
68939         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
68940         pass the ' flag character to sprintf or snprintf.
68941         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
68942         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
68943         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
68944         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
68945         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
68946         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68947         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
68948         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68949         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68950         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68951         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68952         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68953         * tests/test-snprintf-posix.h (test_function): Also check the grouping
68954         flag.
68955         * tests/test-sprintf-posix.h (test_function): Likewise.
68956         * tests/test-vasnprintf-posix.c (test_function): Likewise.
68957         * tests/test-vasprintf-posix.c (test_function): Likewise.
68958         * doc/functions/fprintf.texi: Update.
68959         * doc/functions/printf.texi: Update.
68960         * doc/functions/snprintf.texi: Update.
68961         * doc/functions/sprintf.texi: Update.
68962         * doc/functions/vfprintf.texi: Update.
68963         * doc/functions/vprintf.texi: Update.
68964         * doc/functions/vsnprintf.texi: Update.
68965         * doc/functions/vsprintf.texi: Update.
68966
68967 2007-05-01  Bruno Haible  <bruno@clisp.org>
68968
68969         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
68970
68971 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
68972
68973         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
68974         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
68975
68976 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
68977
68978         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
68979         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
68980         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
68981
68982 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
68983
68984         * lib/argp-help.c (struct hol_entry): New member `ord'.
68985         (HOL_ENTRY_PTRCMP): Use ord for comparison
68986         (hol_sort): Initialize ord.
68987
68988 2007-05-01  Bruno Haible  <bruno@clisp.org>
68989
68990         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
68991         Reported by Eric Blake.
68992         * doc/gnulib.texi (Function Substitutes): Update.
68993
68994 2007-05-01  Bruno Haible  <bruno@clisp.org>
68995
68996         * doc/functions.texi: Remove file, now redundant through
68997         doc/functions/*.texi.
68998
68999 2007-05-01  Bruno Haible  <bruno@clisp.org>
69000
69001         * modules/argp (Depends-on): Add sleep.
69002
69003 2007-05-01  Bruno Haible  <bruno@clisp.org>
69004
69005         * modules/sleep-tests: New file.
69006         * tests/test-sleep.c: New file.
69007
69008         * modules/sleep: New file.
69009         * lib/sleep.c: New file.
69010         * m4/sleep.m4: New file.
69011         * lib/unistd_.h (sleep): New declaration.
69012         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
69013         HAVE_SLEEP.
69014         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
69015         * doc/functions/sleep.texi: Document the sleep module.
69016
69017 2007-05-01  Bruno Haible  <bruno@clisp.org>
69018
69019         * lib/sigprocmask.h: Remove file.
69020         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
69021         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
69022         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
69023         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
69024         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
69025         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
69026         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
69027         HAVE_SIGSET_T as a shell variable.
69028         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
69029         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
69030         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
69031         (Depends-on): Add signal. Remove verify.
69032         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
69033         (Include): Mention <signal.h> instead of sigprocmask.h.
69034         * NEWS: Mention the change.
69035         * lib/fatal-signal.c: Don't include sigprocmask.h.
69036
69037 2007-05-01  Bruno Haible  <bruno@clisp.org>
69038
69039         * modules/signal: New file.
69040         * lib/signal_.h: New file.
69041         * m4/signal_h.m4: New file.
69042
69043 2007-05-01  Bruno Haible  <bruno@clisp.org>
69044
69045         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
69046         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
69047         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
69048         HAVE_WCTYPE_CTMP_BUG into wctype.h.
69049
69050 2007-05-01  Bruno Haible  <bruno@clisp.org>
69051
69052         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
69053         configure time.
69054         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
69055         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
69056         * modules/sys_stat (Makefile.am): Substitute their values into
69057         sys/stat.h.
69058
69059 2007-05-01  Bruno Haible  <bruno@clisp.org>
69060
69061         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
69062         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
69063         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
69064
69065 2007-05-01  Bruno Haible  <bruno@clisp.org>
69066
69067         * doc/header/assert.texi: Undo last change: don't mention the gnulib
69068         'assert' module here.
69069
69070 2007-05-01  Bruno Haible  <bruno@clisp.org>
69071
69072         * doc/functions/*.texi: New files.
69073         * doc/functions/google-ranking.txt: New file.
69074         * doc/gnulib.texi (Function Substitutes): New chapter.
69075         (ctime, inet_ntoa): Remove sections.
69076         * doc/ctime.texi: Remove file.
69077         * doc/inet_ntoa.texi: Remove file.
69078         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
69079         dependencies.
69080         (%.info): New rule, specifying a --reference-limit.
69081
69082 2007-05-01  Bruno Haible  <bruno@clisp.org>
69083
69084         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
69085
69086 2007-05-01  Bruno Haible  <bruno@clisp.org>
69087
69088         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
69089         the portability of 'mkdir' to mingw systems.
69090
69091 2007-05-01  Bruno Haible  <bruno@clisp.org>
69092
69093         * doc/headers/google-ranking.txt: New file.
69094
69095 2007-04-30  Eric Blake  <ebb9@byu.net>
69096
69097         Prefer fseeko to fseek.
69098         * modules/getpass (Depends-on): Add fseeko.
69099         * lib/getpass.c (getpass): Use fseeko, not fseek.
69100
69101 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
69102
69103         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
69104         assumes the sorting is stable, while most qsort implementations
69105         are not.  Use argument addresses to ensure they never compare as
69106         equal.
69107
69108         * tests/test-argp-2.sh (usage-indent test): Fix output
69109         (func_compare): Restore diff options
69110         * tests/test-argp.c: Restore #include "progname.h"
69111
69112 2007-04-29  Bruno Haible  <bruno@clisp.org>
69113
69114         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
69115         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69116         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
69117         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69118         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
69119         (configure.ac): Define CHECK_SNPRINTF_POSIX.
69120         (TESTS, check_PROGRAMS): Add test-snprintf.
69121         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
69122         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
69123         (TESTS, check_PROGRAMS): Add test-vsnprintf.
69124         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
69125         assertions that fail on HP-UX, OSF/1, or IRIX.
69126         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
69127
69128 2007-04-29  Bruno Haible  <bruno@clisp.org>
69129
69130         * MODULES.html.sh (posix_functions): Remove 'contents'.
69131
69132 2007-04-29  Karl Berry  <karl@gnu.org>
69133
69134         * config/srclist.txt (gendocs_template_min): new entry.
69135
69136 2007-04-29  Bruno Haible  <bruno@clisp.org>
69137
69138         Work around fpurge bug on BSD systems.
69139         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
69140         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
69141         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
69142         fpurge to rpl_fpurge if the system already has this function.
69143         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
69144         the case where the system already has this function. Correct invariants
69145         on BSD systems.
69146         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
69147         BSD systems.
69148
69149 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
69150
69151         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
69152         proposed by Sven Verdoolaege.
69153
69154         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
69155         options.
69156         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
69157         (usage and help tests): Update
69158
69159 2007-04-29  Bruno Haible  <bruno@clisp.org>
69160
69161         * tests/test-fflush.c (main): Use a file of size 17, not 10.
69162         Print more information in case of failure. Disable a test on BeOS.
69163
69164 2007-04-29  Bruno Haible  <bruno@clisp.org>
69165
69166         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
69167         This helps debugging on systems on which no gdb is available.
69168
69169 2007-04-29  Bruno Haible  <bruno@clisp.org>
69170
69171         * lib/freading.h: Improve comments.
69172         * lib/fwriting.h: Likewise.
69173         * tests/test-freading.c (main): Don't check freading immediately after
69174         repositioning. Needed for glibc.
69175
69176 2007-04-29  Bruno Haible  <bruno@clisp.org>
69177
69178         * lib/freading.c (freading): Trivial simplification.
69179
69180 2007-04-28  Bruno Haible  <bruno@clisp.org>
69181
69182         * tests/test-fwriting.c (main): Also test the interaction between
69183         fflush and fwriting.
69184         * modules/fwriting-tests (Depends-on): Add fflush.
69185
69186         * tests/test-freading.c (main): Also test the interaction between
69187         fflush and freading.
69188         * modules/freading-tests (Depends-on): Add fflush.
69189
69190 2007-04-28  Bruno Haible  <bruno@clisp.org>
69191
69192         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
69193         fseeko and ftello.
69194         Suggested by Eric Blake.
69195
69196 2007-04-28  Jim Meyering  <jim@meyering.net>
69197
69198         Avoid false-negative in gl_STDINT_H's C99 conformance test.
69199         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
69200         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
69201
69202 2007-04-27  Eric Blake  <ebb9@byu.net>
69203
69204         * doc/headers/assert.texi (assert.h): Document assert module use.
69205
69206 2007-04-27  Bruno Haible  <bruno@clisp.org>
69207
69208         * doc/headers/*.texi: New files.
69209         * doc/gnulib.texi (Header File Substitutes): New chapter.
69210         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
69211         dependencies.
69212         (standards.info ,standards.html, standards.dvi): Update dependencies.
69213         (mostlyclean, clean): New targets.
69214
69215 2007-04-27  Bruno Haible  <bruno@clisp.org>
69216
69217         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
69218         * modules/sysexits (Files, Makefile.am): Update.
69219
69220         * lib/sys_socket_.h: Renamed from lib/socket_.h.
69221         * modules/sys_socket (Files, Makefile.am): Update.
69222
69223         * lib/sys_stat_.h: Renamed from lib/stat_.h.
69224         * modules/sys_stat (Files, Makefile.am): Update.
69225
69226 2007-04-27  Eric Blake  <ebb9@byu.net>
69227
69228         * lib/freading.h: Improve comments.
69229         * lib/fwriting.h: Likewise.
69230         * lib/fflush.c: Likewise.
69231
69232         Fix closein for mingw.
69233         * modules/closein-tests: Add tests for closein.
69234         * tests/test-closein.c: New file.
69235         * tests/test-closein.sh: Likewise.
69236         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
69237         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
69238
69239 2007-04-27  Bruno Haible  <bruno@clisp.org>
69240
69241         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
69242         version is < 6.
69243         * lib/math_.h [__DECC]: Likewise.
69244         * lib/stdio_.h [__DECC]: Likewise.
69245         * lib/stdlib_.h [__DECC]: Likewise.
69246         * lib/string_.h [__DECC]: Likewise.
69247         * lib/time_.h [__DECC]: Likewise.
69248         * lib/wchar_.h [__DECC]: Likewise.
69249         * lib/wctype_.h [__DECC]: Likewise.
69250
69251 2007-04-27  Bruno Haible  <bruno@clisp.org>
69252
69253         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
69254
69255 2007-04-27  Bruno Haible  <bruno@clisp.org>
69256
69257         * lib/fflush.c: Add comments.
69258         * modules/fpurge-tests (Depends-on): Add fflush.
69259         * modules/freadable-tests (Depends-on): Likewise.
69260         * modules/fwritable-tests (Depends-on): Likewise.
69261
69262 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
69263
69264         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
69265         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
69266         Report by Bruno Haible <bruno@clisp.org>.
69267
69268 2007-04-26  Eric Blake  <ebb9@byu.net>
69269
69270         Fix fflush on mingw.
69271         * modules/fflush (Depends-on): Add freading.
69272         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
69273         but unread data.
69274
69275 2007-04-26  Eric Blake  <ebb9@byu.net>
69276         and Bruno Haible  <bruno@clisp.org>
69277
69278         Implement freading and fwriting.
69279         * lib/freading.c: New file.
69280         * lib/freading.h: Likewise.
69281         * m4/freading.m4: Likewise.
69282         * modules/freading: Likewise.
69283         * modules/freading-tests: Likewise.
69284         * tests/test-freading.c: Likewise.
69285         * lib/fwriting.c: New file.
69286         * lib/fwriting.h: Likewise.
69287         * m4/fwriting.m4: Likewise.
69288         * modules/fwriting: Likewise.
69289         * modules/fwriting-tests: Likewise.
69290         * tests/test-fwriting.c: Likewise.
69291         * MODULES.html.sh (File stream based Input/Output): Mention them.
69292
69293 2007-04-26  Bruno Haible  <bruno@clisp.org>
69294
69295         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
69296         'long' when we assume it.
69297         Suggested by Eric Blake.
69298
69299 2007-04-26  Bruno Haible  <bruno@clisp.org>
69300
69301         Ensure fseeko, ftello are declared on glibc systems.
69302         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
69303         * modules/fseeko (configure.ac-early): Likewise.
69304         * modules/ftello (configure.ac-early): Likewise.
69305         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
69306         AC_FUNC_FSEEKO for this.
69307         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
69308         (gl_CHECK_FSEEKO): Remove macro.
69309
69310 2007-04-26  Bruno Haible  <bruno@clisp.org>
69311
69312         * tests/test-fflush.c (main): Also check the ftell result after
69313         fflush and fseek/fseeko.
69314         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
69315         file descriptor position cache in the stream.
69316         * lib/fseeko.c (rpl_fseeko): Likewise.
69317
69318 2007-04-26  Bruno Haible  <bruno@clisp.org>
69319
69320         * modules/fflush-tests (Depends-on): Add fseeko.
69321
69322 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
69323             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69324
69325         * lib/argz_.h: ensure error_t definition is obtained in same
69326         mechanism system argz.h would have.
69327         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
69328         argz facilities are known bad.  Err on the side of caution if
69329         cross-compiling.
69330
69331 2007-04-25  Eric Blake  <ebb9@byu.net>
69332
69333         * lib/fpurge.c (includes): Use stdlib.h for free.
69334         * tests/test-fflush.c (main): Also test fflush-fseeko.
69335
69336 2007-04-25  Bruno Haible  <bruno@clisp.org>
69337
69338         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
69339         * lib/fseeko.c: New file.
69340         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
69341         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
69342         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
69343         gl_FUNC_FSEEKO.
69344         (gl_FUNC_FSEEKO): Invoke it.
69345         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
69346         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
69347         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
69348
69349 2007-04-25  Bruno Haible  <bruno@clisp.org>
69350
69351         * modules/fflush (Depends-on): Add ftello.
69352
69353 2007-04-25  Bruno Haible  <bruno@clisp.org>
69354
69355         * modules/ftello-tests: New file.
69356         * tests/test-ftello.c: New file.
69357
69358         * modules/ftello: New file.
69359         * m4/ftello.m4: New file.
69360         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
69361         HAVE_FTELLO.
69362         * lib/stdio_.h (ftello): New declaration.
69363         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
69364         HAVE_FTELLO.
69365
69366 2007-04-25  Bruno Haible  <bruno@clisp.org>
69367
69368         * modules/fseeko-tests: New file.
69369         * tests/test-fseeko.c: New file.
69370
69371         * modules/fseeko: New file.
69372         * m4/fseeko.m4: New file.
69373         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
69374         HAVE_FSEEKO.
69375         * lib/stdio_.h (fseeko): New declaration.
69376         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
69377         HAVE_FSEEKO.
69378
69379 2007-04-25  Bruno Haible  <bruno@clisp.org>
69380
69381         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
69382
69383 2007-04-25  Bruno Haible  <bruno@clisp.org>
69384
69385         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
69386         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
69387         * tests/test-unistd.c: Likewise.
69388         * tests/test-fcntl.c: Likewise.
69389
69390 2007-04-23  Eric Blake  <ebb9@byu.net>
69391
69392         * lib/fflush.c: Fix missing include.
69393         Reported by Bruno Haible.
69394
69395 2007-04-23  Bruno Haible  <bruno@clisp.org>
69396
69397         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
69398         Reported by Eric Blake.
69399
69400 2007-04-23  Bruno Haible  <bruno@clisp.org>
69401
69402         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
69403
69404 2007-04-23  Bruno Haible  <bruno@clisp.org>
69405
69406         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
69407
69408 2007-04-23  Bruno Haible  <bruno@clisp.org>
69409
69410         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
69411         Needed on HP-UX 11.
69412
69413 2007-04-16  Eric Blake  <ebb9@byu.net>
69414
69415         Make fflush rely on fpurge.
69416         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
69417         open coding all variants.
69418         * modules/fflush (Depends-on): Add fpurge and unistd.
69419         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
69420         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
69421
69422         Fix --with-tests compilation on cygwin.
69423         * modules/argmatch-tests (Makefile.am): List gnulib library first
69424         in LDADD.
69425         * modules/argp-tests (Makefile.am): Likewise.
69426         * modules/array-list-tests (Makefile.am): Likewise.
69427         * modules/array-oset-tests (Makefile.am): Likewise.
69428         * modules/avltree-list-tests (Makefile.am): Likewise.
69429         * modules/avltree-oset-tests (Makefile.am): Likewise.
69430         * modules/avltreehash-list-tests (Makefile.am): Likewise.
69431         * modules/carray-list-tests (Makefile.am): Likewise.
69432         * modules/dirname-tests (Makefile.am): Likewise.
69433         * modules/frexp-tests (Makefile.am): Likewise.
69434         * modules/isnanl-tests (Makefile.am): Likewise.
69435         * modules/linked-list-tests (Makefile.am): Likewise.
69436         * modules/linkedhash-list-tests (Makefile.am): Likewise.
69437         * modules/lock-tests (Makefile.am): Likewise.
69438         * modules/rbtree-list-tests (Makefile.am): Likewise.
69439         * modules/rbtree-oset-tests (Makefile.am): Likewise.
69440         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
69441         * modules/tls-tests (Makefile.am): Likewise.
69442         * modules/tsearch-tests (Makefile.am): Likewise.
69443         * modules/xvasprintf-tests (Makefile.am): Likewise.
69444
69445         Fix fpurge for cygwin.
69446         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
69447         value.
69448         * modules/fpurge-tests (Depends-on): Clean up trash.
69449
69450 2007-04-16  Simon Josefsson  <simon@josefsson.org>
69451
69452         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
69453
69454         * m4/autobuild.m4: Re-indent.
69455
69456 2007-04-13  Bruno Haible  <bruno@clisp.org>
69457
69458         * modules/fpurge-tests: New file.
69459         * tests/test-fpurge.c: New file.
69460
69461         * modules/fpurge: New file.
69462         * lib/fpurge.h: New file.
69463         * lib/fpurge.c: New file.
69464         * m4/fpurge.m4: New file.
69465
69466 2007-04-13  Bruno Haible  <bruno@clisp.org>
69467
69468         * modules/fbufmode-tests: New file.
69469         * tests/test-fbufmode.c: New file.
69470
69471         * modules/fbufmode: New file.
69472         * lib/fbufmode.h: New file.
69473         * lib/fbufmode.c: New file.
69474         * m4/fbufmode.m4: New file.
69475
69476 2007-04-13  Bruno Haible  <bruno@clisp.org>
69477
69478         * modules/fwritable-tests: New file.
69479         * tests/test-fwritable.c: New file.
69480
69481         * modules/fwritable: New file.
69482         * lib/fwritable.h: New file.
69483         * lib/fwritable.c: New file.
69484         * m4/fwritable.m4: New file.
69485
69486 2007-04-13  Bruno Haible  <bruno@clisp.org>
69487
69488         * modules/freadable-tests: New file.
69489         * tests/test-freadable.c: New file.
69490
69491         * modules/freadable: New file.
69492         * lib/freadable.h: New file.
69493         * lib/freadable.c: New file.
69494         * m4/freadable.m4: New file.
69495
69496 2007-04-13  Bruno Haible  <bruno@clisp.org>
69497
69498         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
69499         MOSTLYCLEANFILES.
69500
69501 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
69502
69503         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
69504         gzip bootstrap.conf to avoid dragging in i18n machinery.
69505         (gnulib_tool_option): Use it.
69506
69507 2007-04-13  Bruno Haible  <bruno@clisp.org>
69508
69509         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
69510         %F directives.
69511         * tests/test-vasprintf-posix.c (test_function): Likewise.
69512         * tests/test-snprintf-posix.h (test_function): Likewise.
69513         * tests/test-sprintf-posix.h (test_function): Likewise.
69514         * tests/test-fprintf-posix.h (test_function): Likewise.
69515         * tests/test-printf-posix.h (test_function): Likewise.
69516         * tests/test-fprintf-posix.out: Likewise.
69517
69518 2007-04-13  Bruno Haible  <bruno@clisp.org>
69519
69520         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
69521         * modules/tls-tests (configure.ac): Likewise.
69522         Reported by Arto C. Nirkko <anirkko@insel.ch>.
69523
69524 2007-04-13  Bruno Haible  <bruno@clisp.org>
69525
69526         * lib/tls.c (glthread_tls_get): Fix return type.
69527         Patch by Arto C. Nirkko <anirkko@insel.ch>.
69528
69529 2007-04-12  Eric Blake  <ebb9@byu.net>
69530
69531         * modules/gettime (Depends-on): Remove gettime.
69532         Reported by Dmitry V. Levin.
69533
69534 2007-04-12  Bruno Haible  <bruno@clisp.org>
69535
69536         * modules/fflush (Include): Mention <stdio.h>.
69537         * modules/strtoimax (Include): Mention <inttypes.h>.
69538         * modules/strtoumax (Include): Likewise.
69539
69540 2007-04-12  Eric Blake  <ebb9@byu.net>
69541
69542         * .cvsignore: New file.
69543         * .gitignore: Likewise.
69544
69545 2007-04-12  Bruno Haible  <bruno@clisp.org>
69546
69547         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
69548         not before, since $(LDADD) often contains libgnu.a.
69549         * modules/striconv-tests (test_striconv_LDADD): Likewise.
69550         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
69551         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
69552         Needed on Cygwin.
69553
69554 2007-04-12  Eric Blake  <ebb9@byu.net>
69555
69556         Work around glibc's failure to flush stdin on fclose.
69557         * lib/closein.c (close_stdin): Flush stdin before closing.
69558
69559         Work around glibc's failure to reset seekable stdin on exit.
69560         * modules/closein: New module.
69561         * lib/closein.c: New file.
69562         * lib/closein.h: Likewise.
69563         * m4/closein.m4: Likewise.
69564         * MODULES.html.sh (File stream based Input/Output): Document it.
69565
69566 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69567
69568         * gnulib-tool: Rename generated 'autobuild' script to
69569         'do-autobuild' in --create-megatestdir output.
69570
69571         * doc/gnulib.texi (Build robot for gnulib): Fix.
69572
69573 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69574
69575         * modules/sysexits (Depends-on): Add absolute-header.
69576
69577 2007-04-12  Eric Blake  <ebb9@byu.net>
69578
69579         No need to preserve errno on success.
69580         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
69581         Reported by Bruno Haible.
69582
69583 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69584
69585         * MODULES.html.sh (Support for maintaining and releasing
69586         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
69587
69588 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69589
69590         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
69591
69592 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69593
69594         * modules/autobuild: New module.
69595
69596         * m4/autobuild.m4: New file.
69597
69598 2007-04-11  Bruno Haible  <bruno@clisp.org>
69599
69600         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
69601         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
69602         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
69603         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
69604         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69605         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69606         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69607         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69608         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69609         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69610         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
69611         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69612         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69613         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
69614         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69615         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69616         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
69617         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69618         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69619         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
69620         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69621         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69622         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
69623         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69624         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69625         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
69626         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69627         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69628         Reported by Eric Blake.
69629
69630 2007-04-11  Bruno Haible  <bruno@clisp.org>
69631
69632         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
69633
69634 2007-04-10  Bruno Haible  <bruno@clisp.org>
69635
69636         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
69637         for NaN and Infinity. Needed on FreeBSD 6.1.
69638         * tests/test-vasnprintf-posix.c (test_function): Undo last change
69639         regarding results for "%010a" of Infinity and NaN.
69640         * tests/test-vasprintf-posix.c (test_function): Likewise.
69641         * tests/test-snprintf-posix.h (test_function): Likewise.
69642         * tests/test-sprintf-posix.h (test_function): Likewise.
69643         * tests/test-fprintf-posix.h (test_function): Likewise.
69644         * tests/test-printf-posix.h (test_function): Likewise.
69645         * tests/test-fprintf-posix.out: Likewise.
69646
69647 2007-04-10  Bruno Haible  <bruno@clisp.org>
69648
69649         * modules/locale-tests: New file.
69650         * tests/test-locale.c: New file.
69651
69652         * modules/locale: New file.
69653         * lib/locale_.h: New file.
69654         * m4/locale_h.m4: New file.
69655
69656 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
69657             Bruno Haible  <bruno@clisp.org>
69658
69659         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
69660         be determined, test for availability of the copysignf, copysign,
69661         copysignl functions.
69662         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
69663         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
69664         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
69665
69666 2007-04-09  Eric Blake  <ebb9@byu.net>
69667
69668         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
69669         * modules/stdio (Makefile.am): Support fflush.
69670         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
69671         * modules/fflush: New file.
69672         * lib/fflush.c: Likewise.
69673         * m4/fflush.m4: Likewise.
69674         * modules/fflush-tests: New test.
69675         * tests/test-fflush.c: Likewise.
69676         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
69677
69678 2007-04-06  Bruno Haible  <bruno@clisp.org>
69679
69680         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
69681         (VASNPRINTF): Use signbit for faster determination whether to print a
69682         minus sign.
69683         * modules/vasnprintf (Files): Remove lib/float+.h.
69684         * modules/fprintf-posix (Depends-on): Add signbit.
69685         * modules/snprintf-posix (Depends-on): Likewise.
69686         * modules/sprintf-posix (Depends-on): Likewise.
69687         * modules/vasnprintf-posix (Depends-on): Likewise.
69688         * modules/vasprintf-posix (Depends-on): Likewise.
69689         * modules/vfprintf-posix (Depends-on): Likewise.
69690         * modules/vsnprintf-posix (Depends-on): Likewise.
69691         * modules/vsprintf-posix (Depends-on): Likewise.
69692
69693 2007-04-06  Bruno Haible  <bruno@clisp.org>
69694
69695         * tests/test-frexp.c (main): Test also the sign bit of zero results.
69696         * tests/test-frexpl.c (main): Likewise.
69697         * tests/test-ldexpl.c (main): Likewise.
69698         * modules/frexp-tests (Depends-on): Add signbit.
69699         * modules/frexpl-tests (Depdends-on): Likewise.
69700         * modules/ldexpl-tests (Depdends-on): Likewise.
69701
69702 2007-04-06  Bruno Haible  <bruno@clisp.org>
69703
69704         * modules/signbit-tests: New file.
69705         * tests/test-signbit.c: New file.
69706
69707         * modules/signbit: New file.
69708         * lib/signbitf.c: New file.
69709         * lib/signbitd.c: New file.
69710         * lib/signbitl.c: New file.
69711         * m4/signbit.m4: New file.
69712         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
69713         (signbit): New macro.
69714         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
69715         REPLACE_SIGNBIT.
69716         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
69717         REPLACE_FREXPL into math.h.
69718
69719 2007-04-06  Bruno Haible  <bruno@clisp.org>
69720
69721         * modules/isnanf-nolibm-tests: New file.
69722         * tests/test-isnanf.c: New file.
69723
69724         * modules/isnanf-nolibm: New file.
69725         * lib/isnanf.h: New file.
69726         * lib/isnanf.c: New file.
69727         * lib/isnan.c: Consider the USE_FLOAT macro.
69728         * m4/isnanf.m4: New file.
69729
69730 2007-04-06  Bruno Haible  <bruno@clisp.org>
69731
69732         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
69733         (Link): New section.
69734
69735         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
69736
69737 2007-04-06  Bruno Haible  <bruno@clisp.org>
69738
69739         Assume the 'long double' type.
69740         * m4/longdouble.m4: Remove file.
69741         * config/srclist.txt: Don't mention longdouble.m4.
69742         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
69743         * lib/float+.h: Likewise.
69744         * lib/frexp.c: Likewise.
69745         * lib/printf-args.h: Likewise.
69746         * lib/printf-args.c: Likewise.
69747         * lib/printf-frexp.c: Likewise.
69748         * lib/printf-parse.c: Likewise.
69749         * lib/vasnprintf.c: Likewise.
69750         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
69751         * m4/intl.m4: Likewise.
69752         * m4/isnanl.m4: Likewise.
69753         * m4/printf.m4: Likewise.
69754         * m4/printf-frexpl.m4: Likewise.
69755         * m4/vasnprintf.m4: Likewise.
69756         * modules/allocsa (Files): Remove m4/longdouble.m4.
69757         * modules/gettext (Files): Likewise.
69758         * modules/relocatable-prog-wrapper (Files): Likewise.
69759         * modules/vasnprintf (Files): Likewise.
69760         * modules/isnanl (Files): Likewise.
69761         (Include): Simplify.
69762         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
69763         (Include): Simplify.
69764         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
69765         (Include): Simplify.
69766         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
69767         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69768         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
69769         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69770         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
69771         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69772         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
69773         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69774         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
69775         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69776         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
69777         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69778         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
69779         * tests/test-isnanl.c: Likewise.
69780         * tests/test-snprintf-posix.h: Likewise.
69781         * tests/test-sprintf-posix.h: Likewise.
69782         * tests/test-vasnprintf-posix.c: Likewise.
69783         * tests/test-vasnprintf-posix2.c: Likewise.
69784         * tests/test-vasprintf-posix.c: Likewise.
69785
69786 2007-04-06  Bruno Haible  <bruno@clisp.org>
69787
69788         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
69789         * lib/math_.h [__DECC]: Include the overridden include file through
69790         #include_next, outside the double-inclusion guard.
69791         * lib/stdio_.h [__DECC]: Likewise.
69792         * lib/stdlib_.h [__DECC]: Likewise.
69793         * lib/string_.h [__DECC]: Likewise.
69794         * lib/time_.h [__DECC]: Likewise.
69795         * lib/wchar_.h [__DECC]: Likewise.
69796         * lib/wctype_.h [__DECC]: Likewise.
69797         * lib/inttypes_.h [__DECC]: Likewise.
69798         Reported by Albert Chin <china@thewrittenword.com> in
69799         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
69800
69801 2007-04-04  Eric Blake  <ebb9@byu.net>
69802
69803         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
69804         1.5.x.
69805
69806 2007-04-04  Bruno Haible  <bruno@clisp.org>
69807
69808         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
69809         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
69810
69811 2007-04-04  Bruno Haible  <bruno@clisp.org>
69812
69813         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
69814         results for "%010a" of Infinity and NaN.
69815         * tests/test-vasprintf-posix.c (test_function): Likewise.
69816         * tests/test-snprintf-posix.h (test_function): Likewise.
69817         * tests/test-sprintf-posix.h (test_function): Likewise.
69818         * tests/test-fprintf-posix.h (test_function): Remove these tests.
69819         * tests/test-printf-posix.h (test_function): Likewise.
69820         * tests/test-fprintf-posix.out: Update.
69821         Needed for FreeBSD 6.1.
69822
69823 2007-04-04  Bruno Haible  <bruno@clisp.org>
69824
69825         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
69826         directly used by the gnulib modules nor by gnulib-tool.
69827
69828 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
69829
69830         * DEPENDENCIES: Give overall description of version dependency
69831         desirability.  Use more-typical names for apps.
69832         Add shell, coreutils, diffutils, grep, tar, gzip.
69833
69834 2007-04-04  Simon Josefsson  <simon@josefsson.org>
69835
69836         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
69837
69838 2007-04-04  Karl Berry  <karl@gnu.org>
69839
69840         * MODULES.html.sh (func_module): missing '.
69841
69842 2007-04-03  Bruno Haible  <bruno@clisp.org>
69843
69844         * modules/argmatch-tests (Makefile.am): New variable
69845         test_argmatch_LDADD.
69846         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
69847         * modules/array-list-tests (Makefile.am): New variable
69848         test_array_list_LDADD.
69849         * modules/array-oset-tests (Makefile.am): New variable
69850         test_array_oset_LDADD.
69851         * modules/avltree-list-tests (Makefile.am): New variable
69852         test_avltree_list_LDADD.
69853         * modules/avltree-oset-tests (Makefile.am): New variable
69854         test_avltree_oset_LDADD.
69855         * modules/avltreehash-list-tests (Makefile.am): New variable
69856         test_avltreehash_list_LDADD.
69857         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
69858         test_canonicalize_lgpl_LDADD.
69859         * modules/carray-list-tests (Makefile.am): New variable
69860         test_carray_list_LDADD.
69861         * modules/dirname-tests (Makefile.am): New variable
69862         test_dirname_LDADD.
69863         * modules/linked-list-tests (Makefile.am): New variable
69864         test_linked_list_LDADD.
69865         * modules/linkedhash-list-tests (Makefile.am): New variable
69866         test_linkedhash_list_LDADD.
69867         * modules/rbtree-list-tests (Makefile.am): New variable
69868         test_rbtree_list_LDADD.
69869         * modules/rbtree-oset-tests (Makefile.am): New variable
69870         test_rbtree_oset_LDADD.
69871         * modules/rbtreehash-list-tests (Makefile.am): New variable
69872         test_rbtreehash_list_LDADD.
69873         * modules/xvasprintf-tests (Makefile.am): New variable
69874         test_xvasprintf_LDADD.
69875         Reported by Eric Blake.
69876
69877 2007-04-03  Eric Blake  <ebb9@byu.net>
69878
69879         * DEPENDENCIES: Weaken m4 requirements.
69880
69881 2007-04-03  Bruno Haible  <bruno@clisp.org>
69882
69883         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
69884         * modules/isnanl-tests (configure.ac): Likewise.
69885
69886 2007-04-03  Ben Pfaff  <blp@gnu.org>
69887
69888         * modules/iconv_open: Add $(srcdir)/ to source directory
69889         references in Makefile fragments that call gperf, to fix VPATH
69890         builds.
69891
69892 2007-04-03  Bruno Haible  <bruno@clisp.org>
69893
69894         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
69895         * lib/ldexpl.c: Undo last change.
69896
69897 2007-04-03  Bruno Haible  <bruno@clisp.org>
69898
69899         * modules/printf-frexpl (Depends-on): Undo last change.
69900         (Files): Add m4/ldexpl.m4.
69901
69902 2007-04-03  Bruno Haible  <bruno@clisp.org>
69903
69904         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
69905         * modules/isnanl (Link): New section.
69906
69907         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
69908         * modules/frexp (Link): New section.
69909
69910         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
69911         * modules/frexpl (Link): New section.
69912
69913         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
69914         * modules/ldexpl (Link): New section.
69915
69916 2007-04-03  Bruno Haible  <bruno@clisp.org>
69917
69918         * modules/TEMPLATE-EXTENDED: New file.
69919         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
69920
69921 2007-04-03  Bruno Haible  <bruno@clisp.org>
69922
69923         * DEPENDENCIES: New file.
69924         Suggested by Simon Josefsson.
69925
69926 2007-04-03  Bruno Haible  <bruno@clisp.org>
69927
69928         * doc/gnulib.texi: Escape @.
69929
69930 2007-04-03  James Youngman  <jay@gnu.org>
69931         and Paul Eggert  <eggert@cs.ucla.edu>
69932
69933         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
69934         birthtime on all systems that have birthtime, not just those which
69935         use st_birthtimensec rather than st_birthtim.  Putting zero in
69936         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
69937         that the birth time is not available for files on an NFS mount.
69938
69939 2007-04-03  Simon Josefsson  <simon@josefsson.org>
69940
69941         * modules/memxor: Move back from crypto/, suggested by Bruno.
69942         * modules/crypto/hmac-sha1: Fix memxor dependency.
69943
69944         * modules/crypto/gc: Moved from ../.
69945
69946 2007-04-02  Eric Blake  <ebb9@byu.net>
69947
69948         * lib/ldexpl.c (includes): Avoid libm.
69949
69950         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
69951
69952 2007-04-02  Bruno Haible  <bruno@clisp.org>
69953
69954         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
69955         on IRIX.
69956
69957 2007-04-02  Bruno Haible  <bruno@clisp.org>
69958
69959         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
69960         x86 or x86_64 platforms running MacOS X.
69961         Reported by Ryan Schmidt <@ryandesign.com>.
69962
69963 2007-04-02  Bruno Haible  <bruno@clisp.org>
69964
69965         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
69966         i386.
69967
69968 2007-04-01  Simon Josefsson  <simon@josefsson.org>
69969
69970         * modules/crypto/arcfour: Moved from ../.
69971         * modules/crypto/arcfour-tests: Moved from ../.
69972         * modules/crypto/arctwo: Moved from ../.
69973         * modules/crypto/arctwo-tests: Moved from ../.
69974         * modules/crypto/des: Moved from ../.
69975         * modules/crypto/des-tests: Moved from ../.
69976         * modules/crypto/gc-arcfour: Moved from ../.
69977         * modules/crypto/gc-arcfour-tests: Moved from ../.
69978         * modules/crypto/gc-arctwo: Moved from ../.
69979         * modules/crypto/gc-arctwo-tests: Moved from ../.
69980         * modules/crypto/gc-des: Moved from ../.
69981         * modules/crypto/gc-des-tests: Moved from ../.
69982         * modules/crypto/gc-hmac-md5: Moved from ../.
69983         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
69984         * modules/crypto/gc-hmac-sha1: Moved from ../.
69985         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
69986         * modules/crypto/gc-md2: Moved from ../.
69987         * modules/crypto/gc-md2-tests: Moved from ../.
69988         * modules/crypto/gc-md4: Moved from ../.
69989         * modules/crypto/gc-md4-tests: Moved from ../.
69990         * modules/crypto/gc-md5: Moved from ../.
69991         * modules/crypto/gc-md5-tests: Moved from ../.
69992         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
69993         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
69994         * modules/crypto/gc-random: Moved from ../.
69995         * modules/crypto/gc-rijndael: Moved from ../.
69996         * modules/crypto/gc-rijndael-tests: Moved from ../.
69997         * modules/crypto/gc-sha1: Moved from ../.
69998         * modules/crypto/gc-sha1-tests: Moved from ../.
69999         * modules/crypto/gc-tests: Moved from ../.
70000         * modules/crypto/hmac-md5: Moved from ../.
70001         * modules/crypto/hmac-md5-tests: Moved from ../.
70002         * modules/crypto/hmac-sha1: Moved from ../.
70003         * modules/crypto/hmac-sha1-tests: Moved from ../.
70004         * modules/crypto/md2: Moved from ../.
70005         * modules/crypto/md2-tests: Moved from ../.
70006         * modules/crypto/md4: Moved from ../.
70007         * modules/crypto/md4-tests: Moved from ../.
70008         * modules/crypto/md5: Moved from ../.
70009         * modules/crypto/md5-tests: Moved from ../.
70010         * modules/crypto/memxor: Moved from ../.
70011         * modules/crypto/rijndael: Moved from ../.
70012         * modules/crypto/rijndael-tests: Moved from ../.
70013         * modules/crypto/sha1: Moved from ../.
70014
70015 2007-03-30  James Youngman  <jay@gnu.org>
70016
70017         * tests/test-stat-time.c (prepare_test): use chmod() rather than
70018         rename() to change the ctime of a file (because ctime is unaffected
70019         by rename on jfs2 on AIX 5.1).
70020         (main): Start by doing cleanup, in case a previous run failed leaving
70021         test files behind.
70022
70023 2007-03-31  Bruno Haible  <bruno@clisp.org>
70024
70025         Support old proprietary implementations of iconv.
70026         * modules/iconv_open: New file.
70027         * lib/iconv_.h: New file.
70028         * m4/iconv_h.m4: New file.
70029         * lib/iconv_open.c: New file.
70030         * lib/iconv_open-aix.gperf: New file.
70031         * lib/iconv_open-hpux.gperf: New file.
70032         * lib/iconv_open-irix.gperf: New file.
70033         * lib/iconv_open-osf.gperf: New file.
70034         * m4/iconv_open.m4: New file.
70035         * modules/linebreak (Depends-on): Add iconv_open.
70036         * modules/striconv (Depends-on): Likewise.
70037         * modules/striconveh (Depends-on): Likewise.
70038         * modules/unicodeio (Depends-on): Likewise.
70039         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
70040         (iconv_t)(-1).
70041         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
70042         conversion if cd is (iconv_t)(-1).
70043         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
70044         is not possible.
70045
70046 2007-03-31  Bruno Haible  <bruno@clisp.org>
70047
70048         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70049         work on Solaris either. Protect also second use of "autodetect_jp".
70050
70051 2007-03-31  Bruno Haible  <bruno@clisp.org>
70052
70053         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
70054         the function is not present.
70055
70056 2007-03-31  Bruno Haible  <bruno@clisp.org>
70057
70058         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
70059         the function is not present.
70060
70061 2007-03-31  Bruno Haible  <bruno@clisp.org>
70062
70063         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
70064         a bug in HP-UX iconv_open().
70065
70066 2007-03-31  Bruno Haible  <bruno@clisp.org>
70067
70068         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
70069         (Mathematics <math.h>): New section, add fpieee.
70070         (Input/output <stdio.h>): Add fseterr.
70071         (Mathematics <math.h>): New section, add printf-frexp.
70072         (Container data structures): Add sublist.
70073         (Core language properties): Add fpucw, inline.
70074         (Functions for greatest-width integer types <inttypes.h>): Add
70075         imaxabs, imaxdiv, inttypes.
70076         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
70077         isnanl-nolibm, ldexp.
70078         (Mathematics <math.h>): New section, add printf-frexpl.
70079         (Support for systems lacking POSIX:2001): Add fprintf-posix,
70080         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
70081         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
70082         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
70083         (Unicode string functions): Add unistr/u*-mbtoucr.
70084         (Java): Add javacomp-script, javaexec-script.
70085         (C#): Add csharpcomp-script, csharpexec-script.
70086         (Support for building libraries and executables): Add havelib,
70087         relocatable-*.
70088         (Support for maintaining and releasing projects): Renamed from
70089         'Support for maintaining and release projects'. Add announce-gen.
70090
70091 2007-03-31  Bruno Haible  <bruno@clisp.org>
70092
70093         * README: Talk primarily about git.
70094         (git and CVS): Renamed from CVS.
70095         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
70096         gnulib is available through git.
70097         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
70098
70099 2007-03-30  Bruno Haible  <bruno@clisp.org>
70100
70101         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
70102         * lib/poll_.h: Likewise.
70103         * lib/stat_.h: Likewise.
70104         * lib/sys_time_.h: Likewise.
70105         * lib/sysexit_.h: Likewise.
70106         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
70107         * lib/stdbool_.h: Likewise.
70108         * lib/byteswap_.h: Add double-inclusion guard.
70109
70110 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
70111
70112         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
70113
70114 2007-03-30  Karl Berry  <karl@gnu.org>
70115
70116         * config/srclist-update: double space after USA in the license
70117         substitution, since that's how it's usually (?) written.
70118
70119 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
70120
70121         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
70122         reported by Bruno Haible.
70123
70124 2007-03-29  Bruno Haible  <bruno@clisp.org>
70125
70126         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
70127         a bug in AIX iconv().
70128
70129 2007-03-29  Bruno Haible  <bruno@clisp.org>
70130
70131         * modules/ldexpl-tests: New file.
70132         * tests/test-ldexpl.c: New file.
70133
70134 2007-03-29  Bruno Haible  <bruno@clisp.org>
70135
70136         * lib/ldexpl.c: Include fpucw.h.
70137         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
70138         multiplication.
70139         * modules/ldexpl (Depends-on): Add fpucw.
70140
70141 2007-03-29  Bruno Haible  <bruno@clisp.org>
70142
70143         * modules/ldexpl: New file.
70144         * m4/ldexpl.m4: New file.
70145         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
70146         set.
70147         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
70148         REPLACE_LDEXPL.
70149         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
70150         REPLACE_LDEXPL.
70151         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
70152         gl_FUNC_LDEXPL_WORKS.
70153         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
70154         * modules/mathl (Files): Remove lib/ldexpl.c.
70155         (Depends-on): Add ldexpl.
70156
70157 2007-03-29  Bruno Haible  <bruno@clisp.org>
70158
70159         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
70160
70161 2007-03-29  Bruno Haible  <bruno@clisp.org>
70162
70163         * tests/test-striconveh.c (main): Don't assume that a direct conversion
70164         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
70165         and possibly also HP-UX.
70166         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70167         work on AIX, IRIX, HP-UX, OSF/1.
70168         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
70169         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
70170         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
70171         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
70172         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
70173         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
70174
70175 2007-03-29  Bruno Haible  <bruno@clisp.org>
70176
70177         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
70178
70179 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70180
70181         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
70182         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
70183
70184 2007-03-29  Eric Blake  <ebb9@byu.net>
70185
70186         * lib/acl-internal.h: Remove redundant include.
70187         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
70188         Cygwin when a file is locked.
70189
70190 2007-03-29  Bruno Haible  <bruno@clisp.org>
70191
70192         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
70193         file.
70194         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
70195
70196 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70197
70198         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
70199         try to remove a parent directory if the child couldn't be removed
70200         (except for the first rmdir, which could fail because the child
70201         doesn't exist).  Problem reported by Jeff Blaine in
70202         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
70203
70204 2007-03-28  Bruno Haible  <bruno@clisp.org>
70205
70206         * lib/striconveh.c (utf8conv_carefully): New function.
70207         (mem_cd_iconveh_internal): Invoke it.
70208
70209 2007-03-28  Bruno Haible  <bruno@clisp.org>
70210
70211         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
70212         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
70213         input.
70214         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
70215         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
70216         unistr/u8-uctomb.
70217
70218 2007-03-28  Bruno Haible  <bruno@clisp.org>
70219
70220         * modules/unistr/u8-mbtoucr: New file.
70221         * lib/unistr/u8-mbtoucr.c: New file.
70222         * modules/unistr/u16-mbtoucr: New file.
70223         * lib/unistr/u16-mbtoucr.c: New file.
70224         * modules/unistr/u16-mbtoucr: New file.
70225         * lib/unistr/u16-mbtoucr.c: New file.
70226         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
70227
70228 2007-03-27  Simon Josefsson  <simon@josefsson.org>
70229             Bruno Haible  <bruno@clisp.org>
70230
70231         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
70232         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
70233         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
70234
70235         * m4/stdio_h.m4: Add stubs for vasprintf too.
70236
70237         * modules/stdio: Support vasprintf in sed command.
70238
70239         * modules/vasprintf: Depend on stdio for prototypes.  Remove
70240         vasprintf.h.  Add stdio module indicator.
70241
70242         * lib/stdio_.h: Declare asprintf and vasprintf, based on
70243         vasprintf.h.
70244
70245         * lib/vasprintf.h: File removed.
70246
70247         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
70248         * lib/vasprintf.c: Ditto.
70249         * lib/xvasprintf.c: Ditto.
70250         * tests/test-vasprintf-posix.c: Ditto.
70251         * tests/test-vasprintf.c: Ditto.
70252
70253 2007-03-27  Bruno Haible  <bruno@clisp.org>
70254
70255         Make vasnprintf multithread-safe.
70256         * lib/vasnprintf.c (decimal_point_char): New function.
70257         (VASNPRINTF): Use it.
70258         Suggested by Simon Josefsson.
70259
70260 2007-03-27  Eric Blake  <ebb9@byu.net>
70261
70262         Support sub-second birthtime on cygwin.
70263         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
70264         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
70265         (get_stat_birthtime): Also work with st_birthtim.
70266
70267 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
70268
70269         * lib/stat-time.h (USE_BIRTHTIME): Remove.
70270         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
70271         (get_stat_birthtime_ns): Do not try to use "spare" fields.
70272         (get_stat_birthtime_ns): Simplify compile-time tests.
70273         (get_stat_birthtime): Change the API to look like
70274         get_stat_mtime etc., except return a negative tv_nsec on error.
70275         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
70276         Don't check for "spare" fields.
70277         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
70278         or for struct stat.st_birthtime, as these tests aren't used.
70279         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
70280
70281 2007-03-27  Bruno Haible  <bruno@clisp.org>
70282
70283         * lib/stat-time.h: Include <sys/stat.h>.
70284
70285 2007-03-27  James Youngman  <jay@gnu.org>
70286
70287         * lib/stat-time.h (get_stat_birthtime): New function for
70288           retrieving st_birthtime as provided by UFS2 (hence *BSD).
70289         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
70290           and its variants.
70291         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
70292         * modules/stat-time-test: New file.
70293         * tests/test-stat-time.c: New test, devised by Bruno Haible.
70294
70295 2007-03-26  Bruno Haible  <bruno@clisp.org>
70296
70297         Better support of signalling NaNs.
70298         * lib/atanl.c: Include isnanl.h.
70299         (atanl): Perform test for NaN at the beginning of the function and
70300         through a call to isnanl.
70301         * lib/cosl.c: Include isnanl.h.
70302         (cosl): Perform test for NaN at the beginning of the function and
70303         through a call to isnanl.
70304         * lib/ldexpl.c: Include isnanl.h.
70305         (ldexpl): Perform test for NaN through a call to isnanl.
70306         * lib/logl.c: Include isnanl.h.
70307         (logl): Perform test for NaN at the beginning of the function and
70308         through a call to isnanl.
70309         * lib/sinl.c: Include isnanl.h.
70310         (sinl): Perform test for NaN at the beginning of the function and
70311         through a call to isnanl.
70312         * lib/sqrtl.c: Include isnanl.h.
70313         (sqrtl): Perform test for NaN at the beginning of the function and
70314         through a call to isnanl.
70315         * lib/tanl.c: Include isnanl.h.
70316         (tanl): Perform test for NaN at the beginning of the function and
70317         through a call to isnanl.
70318         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
70319         * modules/mathl (Depends-on): Add isnanl.
70320
70321 2007-03-26  Eric Blake  <ebb9@byu.net>
70322
70323         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
70324         regression in logic sense of previous patch.
70325
70326 2007-03-26  Bruno Haible  <bruno@clisp.org>
70327
70328         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
70329         unportable shell command "if ! ...".
70330         Reported by Ralf Wildenhues.
70331
70332 2007-03-25  Bruno Haible  <bruno@clisp.org>
70333
70334         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
70335         <sysexits.h> file, and only add EX_CONFIG.
70336         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
70337         absolute file name and whether it is sufficient. Substitute also
70338         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
70339         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
70340         ABSOLUTE_SYSEXITS_H into sysexits.h.
70341
70342 2007-03-25  Bruno Haible  <bruno@clisp.org>
70343
70344         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
70345         hints is NULL.
70346
70347 2007-03-25  Bruno Haible  <bruno@clisp.org>
70348
70349         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
70350         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
70351
70352 2007-03-25  Bruno Haible  <bruno@clisp.org>
70353
70354         * lib/vasnprintf.c: Include langinfo.h.
70355         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
70356         multithread-safe.
70357         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
70358         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
70359         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
70360         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70361         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70362         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70363         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70364         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
70365         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70366         Reported by Simon Josefsson.
70367
70368 2007-03-25  Bruno Haible  <bruno@clisp.org>
70369
70370         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
70371         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
70372         * modules/vasnprintf (Depends-on): Add stdint.
70373
70374 2007-03-25  Bruno Haible  <bruno@clisp.org>
70375
70376         * modules/fpieee: New file.
70377         * m4/fpieee.m4: New file.
70378         * modules/isnan-nolibm (Depends-on): Add fpieee.
70379         * modules/isnanl-nolibm (Depends-on): Add fpieee.
70380         * modules/isnanl (Depends-on): Add fpieee.
70381
70382 2007-03-25  Bruno Haible  <bruno@clisp.org>
70383
70384         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
70385
70386 2007-03-25  Bruno Haible  <bruno@clisp.org>
70387
70388         Avoid test failures on IRIX 6.5.
70389         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
70390         (main): Use it.
70391         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
70392         macros.
70393         (main): Use them.
70394
70395 2007-03-25  Bruno Haible  <bruno@clisp.org>
70396
70397         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
70398         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
70399         exists but doesn't work.
70400         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
70401         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
70402         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
70403         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
70404         math.h.
70405
70406 2007-03-25  Bruno Haible  <bruno@clisp.org>
70407
70408         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
70409         returns inf. Needed on IRIX 6.5.
70410
70411 2007-03-25  Bruno Haible  <bruno@clisp.org>
70412
70413         * tests/test-frexpl.c: Include isnanl-nolibm.h.
70414         (main): Use isnanl instead of x != x idiom.
70415         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
70416
70417         * tests/test-frexp.c: Include isnan.h.
70418         (main): Use isnan instead of x != x idiom.
70419         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
70420
70421 2007-03-25  Bruno Haible  <bruno@clisp.org>
70422
70423         * tests/test-frexp.c (NaN): New function/macro.
70424         (main): Use it instead of 0.0 / 0.0.
70425         * tests/test-isnan.c (NaN): New function/macro.
70426         (main): Use it instead of 0.0 / 0.0.
70427         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
70428         (test_function): Use it instead of 0.0 / 0.0.
70429         * tests/test-vasprintf-posix.c (NaN): New function/macro.
70430         (test_function): Use it instead of 0.0 / 0.0.
70431         * tests/test-snprintf-posix.h (NaN): New function/macro.
70432         (test_function): Use it instead of 0.0 / 0.0.
70433         * tests/test-sprintf-posix.h (NaN): New function/macro.
70434         (test_function): Use it instead of 0.0 / 0.0.
70435         * tests/test-fprintf-posix.h (NaN): New function/macro.
70436         (test_function): Use it instead of 0.0 / 0.0.
70437         * tests/test-printf-posix.h (NaN): New function/macro.
70438         (test_function): Use it instead of 0.0 / 0.0.
70439
70440         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
70441
70442 2007-03-25  Bruno Haible  <bruno@clisp.org>
70443
70444         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
70445
70446 2007-03-25  Bruno Haible  <bruno@clisp.org>
70447
70448         * lib/regexec.c (merge_state_with_log): Make static.
70449
70450 2007-03-25  Bruno Haible  <bruno@clisp.org>
70451
70452         * lib/trigl.c (kernel_rem_pio2): Make static.
70453
70454 2007-03-25  Bruno Haible  <bruno@clisp.org>
70455
70456         * lib/sincosl.c (sincosl_table): Make static.
70457
70458 2007-03-25  Bruno Haible  <bruno@clisp.org>
70459
70460         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
70461         if the compiler does not support C99.
70462
70463 2007-03-25  Bruno Haible  <bruno@clisp.org>
70464
70465         * modules/time (Makefile.am): Ensure all rule action lines start with a
70466         tab.
70467
70468 2007-03-24  Bruno Haible  <bruno@clisp.org>
70469
70470         * modules/tsearch-tests: New file.
70471         * tests/test-tsearch.sh: New file.
70472         * tests/test-tsearch.c: New file, mostly copied from glibc.
70473
70474         * modules/search-tests: New file.
70475         * tests/test-search.c: New file.
70476
70477         * modules/search: New file.
70478         * lib/search_.h: New file, incorporating lib/tsearch.h.
70479         * m4/search_h.m4: New file.
70480         * lib/tsearch.h: Remove file.
70481         * lib/tsearch.c: Include search.h instead of tsearch.h.
70482         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
70483         HAVE_TSEARCH.
70484         * modules/tsearch (Files): Remove lib/tsearch.h.
70485         (Depends-on): Add search.
70486         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
70487         (Include): Change tsearch.h into search.h.
70488
70489 2007-03-24  Bruno Haible  <bruno@clisp.org>
70490
70491         * modules/fpucw: New file.
70492         * lib/fpucw.h: New file.
70493         * lib/frexp.c: Include fpucw.h.
70494         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
70495         (FUNC): Use them.
70496         * lib/printf-frexp.c: Include fpucw.h.
70497         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
70498         (FUNC): Use them.
70499         * lib/vasnprintf.c: Include fpucw.h.
70500         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
70501         'long double' calculations.
70502         * tests/test-frexpl.c: Include fpucw.h.
70503         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
70504         * tests/test-printf-frexpl.c: Include fpucw.h.
70505         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
70506         * modules/frexpl (Depends-on): Add fpucw.
70507         * modules/printf-frexpl (Depends-on): Likewise.
70508         * modules/fprintf-posix (Depends-on): Likewise.
70509         * modules/snprintf-posix (Depends-on): Likewise.
70510         * modules/sprintf-posix (Depends-on): Likewise.
70511         * modules/vasnprintf-posix (Depends-on): Likewise.
70512         * modules/vasprintf-posix (Depends-on): Likewise.
70513         * modules/vfprintf-posix (Depends-on): Likewise.
70514         * modules/vsnprintf-posix (Depends-on): Likewise.
70515         * modules/vsprintf-posix (Depends-on): Likewise.
70516         * modules/frexpl-tests (Depends-on): Likewise.
70517         * modules/printf-frexpl-tests (Depends-on): Likewise.
70518
70519 2007-03-24  Bruno Haible  <bruno@clisp.org>
70520
70521         * lib/float+.h: New file.
70522         * lib/isnan.c: Include float+.h.
70523         (SIZE): New macro.
70524         (FUNC): Compare only SIZE bytes of the value.
70525         * lib/vasnprintf.c: Include float+.h.
70526         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
70527         SIZEOF_LDBL or SIZEOF_DBL bytes.
70528         * modules/isnan-nolibm (Files): Add lib/float+.h.
70529         * modules/isnanl-nolibm (Files): Add lib/float+.h.
70530         * modules/isnanl (Files): Add lib/float+.h.
70531         * modules/vasnprintf (Files): Add lib/float+.h.
70532
70533 2007-03-24  Bruno Haible  <bruno@clisp.org>
70534
70535         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
70536         include isnanl-nolibm.h.
70537
70538 2007-03-24  Bruno Haible  <bruno@clisp.org>
70539
70540         * tests/test-read-file.c (main): Don't produce spurious output for
70541         expected situations. Make the test fail if it encountered unexpected
70542         results.
70543
70544 2007-03-24  Bruno Haible  <bruno@clisp.org>
70545
70546         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
70547         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
70548
70549 2007-03-24  Bruno Haible  <bruno@clisp.org>
70550
70551         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
70552
70553 2007-03-24  Bruno Haible  <bruno@clisp.org>
70554
70555         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
70556         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
70557
70558         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
70559         * modules/utf8-ucs4: Turn into a symbolic link to module
70560         unistr/u8-mbtouc.
70561
70562         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
70563         utf8-ucs4-unsafe.
70564         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
70565         unistr/u8-mbtouc-unsafe.
70566
70567         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
70568         * modules/utf16-ucs4: Turn into a symbolic link to module
70569         unistr/u16-mbtouc.
70570
70571         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
70572         utf16-ucs4-unsafe.
70573         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
70574         unistr/u16-mbtouc-unsafe.
70575
70576         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
70577         * modules/ucs4-utf8: Turn into a symbolic link to module
70578         unistr/u8-ubtomb.
70579
70580         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
70581         * modules/ucs4-utf16: Turn into a symbolic link to module
70582         unistr/u16-ubtomb.
70583
70584 2007-03-24  Bruno Haible  <bruno@clisp.org>
70585
70586         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
70587         Enable the function only if HAVE_INLINE.
70588         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
70589         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
70590         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
70591         Enable the function only if HAVE_INLINE.
70592         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
70593         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
70594         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
70595         Enable the function only if HAVE_INLINE.
70596         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
70597         Enable the function only if HAVE_INLINE.
70598         * modules/utf8-ucs4: Update.
70599         * modules/utf8-ucs4-unsafe: Update.
70600         * modules/utf16-ucs4: Update.
70601         * modules/utf16-ucs4-unsafe: Update.
70602         * modules/ucs4-utf8: Update.
70603         * modules/ucs4-utf16: Update.
70604
70605 2007-03-24  Bruno Haible  <bruno@clisp.org>
70606
70607         * lib/utf8-ucs4.h: Remove file.
70608         * lib/utf8-ucs4-unsafe.h: Remove file.
70609         * lib/utf16-ucs4.h: Remove file.
70610         * lib/utf16-ucs4-unsafe.h: Remove file.
70611         * lib/ucs4-utf8.h: Remove file.
70612         * lib/ucs4-utf16.h: Remove file.
70613         * lib/unistr.h: Include their previous contents.
70614         * m4/utf-ucs4.m4: Remove file.
70615         * m4/ucs4-utf.m4: Remove file.
70616         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
70617         (Depends-on): Add unistr/base.
70618         (configure.ac): Remove gl_UTF_UCS4.
70619         (Makefile.am): Update.
70620         (Include): Change to unistr.h.
70621         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
70622         (Depends-on): Add unistr/base.
70623         (configure.ac): Remove gl_UTF_UCS4.
70624         (Makefile.am): Update.
70625         (Include): Change to unistr.h.
70626         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
70627         (Depends-on): Add unistr/base.
70628         (configure.ac): Remove gl_UTF_UCS4.
70629         (Makefile.am): Update.
70630         (Include): Change to unistr.h.
70631         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
70632         (Depends-on): Add unistr/base.
70633         (configure.ac): Remove gl_UTF_UCS4.
70634         (Makefile.am): Update.
70635         (Include): Change to unistr.h.
70636         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
70637         (Depends-on): Add unistr/base.
70638         (configure.ac): Remove gl_UCS4_UTF.
70639         (Makefile.am): Update.
70640         (Include): Change to unistr.h.
70641         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
70642         (Depends-on): Add unistr/base.
70643         (configure.ac): Remove gl_UCS4_UTF.
70644         (Makefile.am): Update.
70645         (Include): Change to unistr.h.
70646         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
70647         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
70648         utf8-ucs4-unsafe.h.
70649         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
70650         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
70651         utf16-ucs4-unsafe.h.
70652         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
70653         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
70654         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
70655         * lib/unistr/u8-strchr.c: Likewise.
70656         * lib/unistr/u8-strrchr.c: Likewise.
70657         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
70658         * lib/unistr/u16-strchr.c: Likewise.
70659         * lib/unistr/u16-strrchr.c: Likewise.
70660         * lib/striconveh.c: Update.
70661         * lib/linebreak.c: Update.
70662
70663 2007-03-24  Bruno Haible  <bruno@clisp.org>
70664
70665         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
70666         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
70667
70668 2007-03-22  Bruno Haible  <bruno@clisp.org>
70669
70670         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
70671
70672 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
70673
70674         * MODULES.html.sh (File system functions): New module write-any-file.
70675         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
70676         * m4/write-any-file.m4: New files.
70677
70678 2007-03-23  Eric Blake  <ebb9@byu.net>
70679
70680         * gnulib-tool: Rearrange space-tab sequences, since some editors
70681         like to eat them.
70682
70683 2007-03-23  Eric Blake  <ebb9@byu.net>
70684
70685         * lib/version-etc.c (version_etc_va): Update license wording to
70686         be more concise.  Recommended by Richard Stallman.
70687
70688 2007-03-22  Bruno Haible  <bruno@clisp.org>
70689
70690         * lib/poll.c (MSG_PEEK): New fallback definition.
70691
70692 2007-03-22  Bruno Haible  <bruno@clisp.org>
70693
70694         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
70695         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
70696         (main): Update.
70697         Fixes a compilation error on BeOS.
70698
70699 2007-03-22  Bruno Haible  <bruno@clisp.org>
70700
70701         * modules/frexpl-tests: New file.
70702         * tests/test-frexpl.c: New file.
70703
70704         * modules/frexpl: New file.
70705         * m4/frexpl.m4: New file.
70706         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
70707         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
70708         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
70709         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
70710         (Depends-on): Add frexpl. Remove isnanl-nolibm.
70711         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
70712
70713 2007-03-22  Bruno Haible  <bruno@clisp.org>
70714
70715         * lib/frexpl.c: Share code with lib/frexp.c.
70716         * modules/mathl (Files): Add lib/frexp.c.
70717         (Depends-on): Add isnanl-nolibm.
70718
70719 2007-03-22  Bruno Haible  <bruno@clisp.org>
70720
70721         * modules/printf-frexp (Files): Add m4/frexp.m4.
70722         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
70723         only if the found frexp function actually works.
70724
70725 2007-03-22  Bruno Haible  <bruno@clisp.org>
70726
70727         * lib/frexp.c: Remove older implementation that uses divisions.
70728
70729 2007-03-21  Bruno Haible  <bruno@clisp.org>
70730
70731         * modules/frexp-tests: New file.
70732         * tests/test-frexp.c: New file.
70733
70734         * modules/frexp: New file.
70735         * lib/frexp.c: New file.
70736         * m4/frexp.m4: New file.
70737         * lib/math_.h (frexp): New declaration.
70738         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
70739         REPLACE_FREXP.
70740         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
70741
70742 2007-03-21  Bruno Haible  <bruno@clisp.org>
70743
70744         * modules/isnanl-tests: New file.
70745         * tests/test-isnanl.c: New file.
70746
70747         * modules/isnanl: New file.
70748         * lib/isnanl.h: New file.
70749         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
70750         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
70751         gl_FUNC_ISNANL_WORKS.
70752         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
70753         New macros.
70754
70755 2007-03-21  Bruno Haible  <bruno@clisp.org>
70756
70757         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
70758         lib/isnanl.h.
70759         (Include): Update.
70760         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
70761         * lib/vasnprintf.c: Update.
70762         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
70763         tests/test-isnanl.h, remove tests/test-isnanl.c.
70764         (Makefile.am): Update.
70765         * tests/test-isnanl-nolibm.c: New file.
70766         * tests/test-isnanl.h: New file.
70767         * tests/test-isnanl.c: Remove file.
70768
70769 2007-03-21  Jim Meyering  <jim@meyering.net>
70770
70771         When trying to open ".", treat ESTALE like EACCES.
70772         * lib/savewd.c (savewd_save): Resort to forking not just upon
70773         failure with EACCES, but also when errno is ESTALE.
70774
70775 2007-03-20  Bruno Haible  <bruno@clisp.org>
70776
70777         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
70778         Needed on AIX 5.1. Reported by Matthew Woehlke.
70779
70780 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
70781
70782         Suggestions by Bruno Haible:
70783         * lib/acl-internal.h: Include "gettext.h" rather than rolling
70784         our own.
70785         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
70786         * modules/acl (Depends-on): Add gettext.
70787
70788 2007-03-19  Bruno Haible  <bruno@clisp.org>
70789
70790         * modules/iconvme: Remove file.
70791         * lib/iconvme.h: Remove file.
70792         * lib/iconvme.c: Remove file.
70793         * m4/iconvme.m4: Remove file.
70794
70795 2007-03-19  Bruno Haible  <bruno@clisp.org>
70796
70797         * doc/relocatable-maint.texi: Break long shell script line.
70798         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
70799
70800 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
70801
70802         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
70803         handle file_has_acl.
70804         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
70805         * lib/acl.c: Move header inclusions and related macro defns into
70806         lib/acl-internal.h.
70807         (S_ISLNK): Remove defn, since that's now done for us.
70808         (file_has_acl): Move to lib/file-has-acl.c.
70809         Call acl_trivial if available.  This is the crucial part of the fix.
70810         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
70811         shared within the library.  Rewrite a bit, partly to make it compatible
70812         with the GNU coding style.
70813         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
70814         Remove unnecessary double-quotes.
70815         Don't test for acl_to_text; the build will catch that.
70816         Replace acl_entries if it doesn't exist and it is needed.
70817         Check for -lsec and acl_trivial (as used on Solaris 10).
70818         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
70819         lib/file-has-acl.c.
70820         (Depends-on): Add sys_stat, for S_ISLNK.
70821
70822 2007-03-19  Ben Pfaff  <blp@gnu.org>
70823
70824         * doc/gnulib.texi: Fix typos.
70825         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
70826
70827 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
70828
70829         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
70830         If size is zero here, buf must be zero.
70831
70832 2007-03-19  Simon Josefsson  <simon@josefsson.org>
70833
70834         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
70835         <bruno@clisp.org>.
70836
70837 2007-03-18  Bruno Haible  <bruno@clisp.org>
70838
70839         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
70840         Suggested by Eric Blake.
70841
70842 2007-03-18  Ben Pfaff  <blp@gnu.org>
70843
70844         * doc/relocatable.texi: Recommend using as prefix a directory
70845         that does not exist and will never be created.  Based on
70846         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
70847         and others.
70848
70849 2007-03-17  Bruno Haible  <bruno@clisp.org>
70850
70851         * lib/fchownat.c: Include lchown.h.
70852
70853 2007-03-17  Bruno Haible  <bruno@clisp.org>
70854
70855         Fix endless loop when the given allocated size was > INT_MAX.
70856         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
70857         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
70858         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
70859         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
70860         * lib/sprintf.c (sprintf): Likewise.
70861
70862 2007-03-17  Bruno Haible  <bruno@clisp.org>
70863
70864         * tests/test-argp-2.sh (func_compare): Output a context diff.
70865
70866 2007-03-17  Bruno Haible  <bruno@clisp.org>
70867
70868         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
70869         locale's decimal-point character.
70870
70871 2007-03-17  Bruno Haible  <bruno@clisp.org>
70872
70873         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
70874         before comparing it. Needed because on some platforms (e.g. x86) a
70875         'long double' occupies less bytes than sizeof (long double).
70876
70877 2007-03-17  Bruno Haible  <bruno@clisp.org>
70878
70879         * tests/test-crc.c (main): Make printf statements 64-bit clean.
70880         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
70881         * tests/test-getaddrinfo.c (simple): Likewise.
70882         * tests/test-read-file.c (main): Likewise.
70883
70884 2007-03-17  Bruno Haible  <bruno@clisp.org>
70885
70886         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
70887
70888 2007-03-17  Bruno Haible  <bruno@clisp.org>
70889
70890         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
70891         unused variable.
70892
70893 2007-03-17  Bruno Haible  <bruno@clisp.org>
70894
70895         * tests/test-c-strcasecmp.c: Include c-strcase.h.
70896         * tests/test-c-strncasecmp.c: Likewise.
70897
70898 2007-03-17  Bruno Haible  <bruno@clisp.org>
70899
70900         * modules/stdlib (Depends-on): Add unistd.
70901         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
70902         Needed for MacOS X 10.3.
70903
70904 2007-03-17  Bruno Haible  <bruno@clisp.org>
70905
70906         * lib/unistr/u-strdup.h: Include <stdlib.h>.
70907
70908 2007-03-17  Bruno Haible  <bruno@clisp.org>
70909
70910         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
70911
70912 2007-03-17  Bruno Haible  <bruno@clisp.org>
70913
70914         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
70915         to reflect files copied from gnulib (with or without modifications).
70916         Suggested by Jim Meyering.
70917
70918 2007-03-17  Eric Blake  <ebb9@byu.net>
70919
70920         * NEWS: Document stdlib change from 2007-02-18.
70921
70922 2007-03-17  Jim Meyering  <jim@meyering.net>
70923
70924         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
70925         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
70926         someone uses a name containing shell meta-characters.
70927         Reported by Alfred M. Szmidt.
70928
70929         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
70930
70931 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
70932
70933         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
70934         and copy gettext configuration files only if configure.ac contains
70935         a use of AM_GNU_GETTEXT_VERSION.
70936
70937 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
70938
70939         * build-aux/bootstrap (gnulib_name): New variable.
70940         (gnulib_tool_options): Use it.
70941
70942 2007-03-13  Simon Josefsson  <simon@josefsson.org>
70943
70944         * tests/test-des.c: Use new namespace.
70945
70946 2007-03-15  Bruno Haible  <bruno@clisp.org>
70947
70948         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
70949         Reported by James Youngman <jay@gnu.org>.
70950
70951 2007-03-15  Bruno Haible  <bruno@clisp.org>
70952
70953         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
70954         declared prototype. Needed with cc on OSF/1 5.1.
70955
70956 2007-03-15  Bruno Haible  <bruno@clisp.org>
70957
70958         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
70959         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
70960         (struct gl_list_implementation): Add dispose_fn argument to the
70961         'create_empty', 'create' methods.
70962         (struct gl_list_impl_base): Add field 'dispose_fn'.
70963         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
70964         argument.
70965         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
70966         dispose_fn argument.
70967         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
70968         dispose_fn on the dropped values.
70969         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
70970         dispose_fn argument.
70971         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
70972         dropped values.
70973         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
70974         (gl_tree_remove_node): Call dispose_fn on the dropped value.
70975         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
70976         (gl_tree_remove_node): Call dispose_fn on the dropped value.
70977         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
70978         argument.
70979         (gl_tree_list_free): Call dispose_fn on the dropped values.
70980         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
70981         the dropped values.
70982         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
70983         Add dispose_fn argument.
70984         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
70985         Call dispose_fn on the dropped values.
70986         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
70987         Add dispose_fn argument.
70988         (gl_sublist_create): Initialize the 'dispose_fn' field.
70989         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
70990         * tests/test-array_list.c (main): Update.
70991         * tests/test-carray_list.c (main): Update.
70992         * tests/test-avltree_list.c (main): Update.
70993         * tests/test-rbtree_list.c (main): Update.
70994         * tests/test-avltreehash_list.c (main): Update.
70995         * tests/test-rbtreehash_list.c (main): Update.
70996         * tests/test-linked_list.c (main): Update.
70997         * tests/test-linkedhash_list.c (main): Update.
70998         * tests/test-array_oset.c (main): Update.
70999
71000 2007-03-15  Bruno Haible  <bruno@clisp.org>
71001
71002         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
71003         (gl_oset_create_empty): Add dispose_fn argument.
71004         (struct gl_oset_implementation): Add dispose_fn argument to
71005         'create_empty' method.
71006         (struct gl_oset_impl_base): Add dispose_fn field.
71007         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
71008         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
71009         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
71010         values.
71011         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
71012         (gl_tree_oset_free): Call dispose_fn on the dropped values.
71013         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71014         dropped value.
71015         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71016         dropped value.
71017         * tests/test-array_oset.c (main): Update.
71018         * tests/test-avltree_oset.c (main): Update.
71019         * tests/test-rbtree_oset.c (main): Update.
71020         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
71021
71022 2007-03-13  Bruno Haible  <bruno@clisp.org>
71023
71024         * tests/test-stdbool.c (i): Update after last patch.
71025
71026 2007-03-12  Bruno Haible  <bruno@clisp.org>
71027
71028         * lib/quotearg.c: Include <wctype.h> early, before the definition of
71029         the iswprint macro. Needed on Solaris 2.5.1.
71030
71031 2007-03-12  Bruno Haible  <bruno@clisp.org>
71032
71033         * tests/test-printf-frexp.c (main): Declare x as volatile.
71034
71035 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71036
71037         * doc/gnulib.texi (Build robot for gnulib): New section.
71038
71039 2007-03-12  Jim Meyering  <jim@meyering.net>
71040
71041         * build-aux/bootstrap: New file.
71042         * build-aux/bootstrap.conf: New file, from coreutils.
71043
71044 2007-03-11  Bruno Haible  <bruno@clisp.org>
71045
71046         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
71047
71048 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71049
71050         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
71051         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
71052         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
71053
71054 2007-03-11  Bruno Haible  <bruno@clisp.org>
71055
71056         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
71057         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
71058
71059 2007-03-11  Bruno Haible  <bruno@clisp.org>
71060
71061         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
71062         formula. Needed for SunPRO C 5.0.
71063
71064 2007-03-11  Bruno Haible  <bruno@clisp.org>
71065
71066         * modules/long-options (Depends-on): Add getopt.
71067
71068 2007-03-11  Bruno Haible  <bruno@clisp.org>
71069
71070         * modules/modechange (Depends-on): Add stdbool.
71071
71072 2007-03-11  Bruno Haible  <bruno@clisp.org>
71073
71074         * modules/i-ring (Depends-on): Add stdbool.
71075
71076 2007-03-11  Bruno Haible  <bruno@clisp.org>
71077
71078         * modules/gc-des (Depends-on): Add stdbool.
71079
71080 2007-03-11  Bruno Haible  <bruno@clisp.org>
71081
71082         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
71083
71084 2007-03-11  Bruno Haible  <bruno@clisp.org>
71085
71086         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
71087
71088 2007-03-11  Bruno Haible  <bruno@clisp.org>
71089
71090         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
71091
71092 2007-03-11  Bruno Haible  <bruno@clisp.org>
71093
71094         * lib/vasnprintf.c (sprintf): Undefine.
71095
71096 2007-03-11  Bruno Haible  <bruno@clisp.org>
71097
71098         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
71099         initializers in SunPRO C and Compaq C compilers.
71100
71101 2007-03-11  Bruno Haible  <bruno@clisp.org>
71102
71103         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
71104         decrementing code ANSI C compliant.
71105
71106 2007-03-11  Bruno Haible  <bruno@clisp.org>
71107
71108         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
71109         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
71110
71111 2007-03-11  Bruno Haible  <bruno@clisp.org>
71112
71113         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
71114         <stdbool.h> substitute doesn't pass.
71115
71116 2007-03-11  Bruno Haible  <bruno@clisp.org>
71117
71118         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
71119
71120 2007-03-11  Bruno Haible  <bruno@clisp.org>
71121
71122         * gnulib-tool (func_create_megatestdir): Create also an autobuild
71123         script, for submission to autobuild.josefsson.org.
71124
71125 2007-03-10  Bruno Haible  <bruno@clisp.org>
71126
71127         * modules/canonicalize-lgpl-tests: New file.
71128         * tests/test-canonicalize-lgpl.sh: New file.
71129         * tests/test-canonicalize-lgpl.c: New file.
71130
71131         * modules/c-strcase-tests: New file.
71132         * tests/test-c-strcase.sh: New file.
71133         * tests/test-c-strcasecmp.c: New file.
71134         * tests/test-c-strncasecmp.c: New file.
71135
71136         * modules/atexit-tests: New file.
71137         * tests/test-atexit.sh: New file.
71138         * tests/test-atexit.c: New file.
71139
71140 2007-03-10  Bruno Haible  <bruno@clisp.org>
71141
71142         * tests/test-binary-io.sh: Use temporary filenames that are not so
71143         likely to clash with those of other tests (in a parallel make).
71144         * tests/test-binary-io.c: Likewise.
71145
71146 2007-03-10  Bruno Haible  <bruno@clisp.org>
71147
71148         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
71149         fallback; use #error instead.
71150         Suggested by Simon Josefsson.
71151
71152 2007-03-10  Bruno Haible  <bruno@clisp.org>
71153
71154         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
71155         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
71156         first and the last.
71157
71158 2007-03-10  Bruno Haible  <bruno@clisp.org>
71159
71160         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
71161
71162 2007-03-10  Bruno Haible  <bruno@clisp.org>
71163
71164         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
71165         "make distcheck".
71166         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
71167         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
71168         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
71169
71170 2007-03-10  Bruno Haible  <bruno@clisp.org>
71171
71172         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
71173         variable.
71174         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
71175         variable.
71176
71177 2007-03-09  Eric Blake  <ebb9@byu.net>
71178         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
71179
71180         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
71181         types are not being provided by gnulib.
71182         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
71183         types are supported.
71184
71185 2007-03-10  Bruno Haible  <bruno@clisp.org>
71186
71187         * lib/stdio_.h (__attribute__): New macro.
71188         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
71189         vsprintf): Specify __attribute__ __format__ for GCC.
71190         Suggested by Eric Blake.
71191
71192 2007-03-09  Bruno Haible  <bruno@clisp.org>
71193
71194         * modules/printf-posix-tests: New file.
71195         * tests/test-printf-posix.sh: New file.
71196         * tests/test-printf-posix.c: New file.
71197
71198         * modules/printf-posix: New file.
71199         * lib/printf.c: New file.
71200         * m4/printf-posix-rpl.m4: New file.
71201         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
71202         REPLACE_PRINTF.
71203         * lib/stdio_.h (printf): New declaration.
71204         (format, __format__, ____printf____, ____scanf____, ____strftime____,
71205         ____strfmon____): New macros.
71206         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
71207         REPLACE_PRINTF.
71208
71209 2007-03-09  Bruno Haible  <bruno@clisp.org>
71210
71211         * tests/test-vasnprintf-posix2.sh: New file.
71212         * tests/test-vasnprintf-posix2.c: New file.
71213         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
71214         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
71215         (Makefile.am): Activate test-vasnprintf-posix2.sh.
71216
71217         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
71218         a locale dependent decimal point, rather than always '.'.
71219
71220 2007-03-09  Eric Blake  <ebb9@byu.net>
71221
71222         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
71223         spite of platforms like Tandem/NSK that define it to -1.
71224
71225 2007-03-08  Bruno Haible  <bruno@clisp.org>
71226
71227         * modules/vprintf-posix-tests: New file.
71228         * tests/test-vprintf-posix.sh: New file.
71229         * tests/test-vprintf-posix.c: New file.
71230         * tests/test-printf-posix.h: New file.
71231
71232         * modules/vprintf-posix: New file.
71233         * lib/vprintf.c: New file.
71234         * m4/vprintf-posix.m4: New file.
71235         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
71236         REPLACE_VPRINTF.
71237         * lib/stdio_.h (vprintf): New declaration.
71238         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
71239         REPLACE_VPRINTF.
71240
71241 2007-03-08  Bruno Haible  <bruno@clisp.org>
71242
71243         * modules/fprintf-posix-tests: New file.
71244         * tests/test-fprintf-posix.sh: New file.
71245         * tests/test-fprintf-posix.c: New file.
71246
71247         * modules/fprintf-posix: New file.
71248         * lib/fprintf.c: New file.
71249         * m4/fprintf-posix.m4: New file.
71250         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
71251         REPLACE_FPRINTF.
71252         * lib/stdio_.h (fprintf): New declaration.
71253         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
71254         REPLACE_FPRINTF.
71255
71256 2007-03-08  Bruno Haible  <bruno@clisp.org>
71257
71258         * modules/vfprintf-posix-tests: New file.
71259         * tests/test-vfprintf-posix.sh: New file.
71260         * tests/test-vfprintf-posix.c: New file.
71261         * tests/test-fprintf-posix.h: New file.
71262         * tests/test-fprintf-posix.out: New file.
71263
71264         * modules/vfprintf-posix: New file.
71265         * lib/vfprintf.c: New file.
71266         * m4/vfprintf-posix.m4: New file.
71267         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
71268         REPLACE_VFPRINTF.
71269         * lib/stdio_.h (vfprintf): New declaration.
71270         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
71271         REPLACE_VFPRINTF.
71272
71273 2007-03-08  Bruno Haible  <bruno@clisp.org>
71274
71275         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
71276
71277 2007-03-08  Bruno Haible  <bruno@clisp.org>
71278
71279         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
71280         instead of 'expr' invocations.
71281         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71282         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71283         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71284         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
71285         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71286         Suggested by Paul Eggert.
71287
71288 2007-03-08  Bruno Haible  <bruno@clisp.org>
71289
71290         * modules/fseterr-tests: New file.
71291         * tests/test-fseterr.c: New file.
71292
71293         * modules/fseterr: New file.
71294         * lib/fseterr.h: New file.
71295         * lib/fseterr.c: New file.
71296
71297 2007-03-08  Bruno Haible  <bruno@clisp.org>
71298
71299         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
71300         * lib/getopt_.h: Likewise.
71301         * lib/mbswidth.h: Likewise.
71302         * lib/setenv.h: Likewise.
71303         * lib/vasnprintf.h: Likewise.
71304         * lib/vasprintf.h: Likewise.
71305         * lib/verror.h: Likewise.
71306         * lib/xsetenv.h: Likewise.
71307         * lib/xvasprintf.h: Likewise.
71308
71309 2007-03-08  Jim Meyering  <jim@meyering.net>
71310
71311         * users.txt: Add parted.
71312
71313         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
71314
71315 2007-03-07  Bruno Haible  <bruno@clisp.org>
71316
71317         * m4/printf.m4: Make the shell script snippets copy&pastable.
71318
71319 2007-03-02  Bruno Haible  <bruno@clisp.org>
71320
71321         * lib/netinet_in_.h: New file.
71322         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
71323         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
71324         * modules/netinet_in (Files): Add lib/netinet_in_.h.
71325         (Depends-on): Add absolute-header.
71326         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
71327         into netinet/in.h.
71328
71329 2007-03-03  Bruno Haible  <bruno@clisp.org>
71330
71331         * lib/sys_select_.h: New file.
71332         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
71333         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
71334         * modules/sys_select (Files): Add lib/sys_select_.h.
71335         (Depends-on): Add absolute-header.
71336         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
71337         into sys/select.h.
71338
71339 2007-03-02  Bruno Haible  <bruno@clisp.org>
71340
71341         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
71342         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
71343         values.
71344         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
71345         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
71346         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
71347         * modules/sys_socket (Depends-on): Add absolute-header.
71348         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
71349         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
71350         (Include): Remove requirement of inclusion of <sys/types.h>.
71351
71352 2007-03-02  Bruno Haible  <bruno@clisp.org>
71353
71354         * lib/byteswap_.h (bswap_32): Fix formula.
71355
71356 2007-03-06  Bruno Haible  <bruno@clisp.org>
71357
71358         * modules/sprintf-posix-tests: New file.
71359         * tests/test-sprintf-posix.c: New file.
71360
71361         * modules/sprintf-posix: New file.
71362         * lib/sprintf.c: New file.
71363         * m4/sprintf-posix.m4: New file.
71364         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
71365         REPLACE_SPRINTF.
71366         * lib/stdio_.h (sprintf): New declaration.
71367         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
71368         REPLACE_SPRINTF.
71369
71370 2007-03-06  Bruno Haible  <bruno@clisp.org>
71371
71372         * modules/vsprintf-posix-tests: New file.
71373         * tests/test-vsprintf-posix.c: New file.
71374         * tests/test-sprintf-posix.h: New file.
71375
71376         * modules/vsprintf-posix: New file.
71377         * lib/vsprintf.c: New file.
71378         * m4/vsprintf-posix.m4: New file.
71379         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
71380         REPLACE_VSPRINTF.
71381         * lib/stdio_.h (vsprintf): New declaration.
71382         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
71383         REPLACE_VSPRINTF.
71384
71385 2007-03-06  Bruno Haible  <bruno@clisp.org>
71386
71387         * modules/vsnprintf (Depend-on): Remove minmax.
71388
71389 2007-03-06  Bruno Haible  <bruno@clisp.org>
71390
71391         * modules/snprintf-posix-tests: New file.
71392         * tests/test-snprintf-posix.c: New file.
71393
71394         * modules/snprintf-posix: New file.
71395         * m4/snprintf-posix.m4: New file.
71396         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
71397         gl_FUNC_SNPRINTF.
71398         (gl_FUNC_SNPRINTF): Invoke it.
71399         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
71400         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
71401         is set.
71402         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
71403
71404 2007-03-06  Bruno Haible  <bruno@clisp.org>
71405
71406         * modules/vsnprintf-posix-tests: New file.
71407         * tests/test-vsnprintf-posix.c: New file.
71408         * tests/test-snprintf-posix.h: New file.
71409
71410         * modules/vsnprintf-posix: New file.
71411         * m4/vsnprintf-posix.m4: New file.
71412         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
71413         gl_FUNC_VSNPRINTF.
71414         (gl_FUNC_VSNPRINTF): Invoke it.
71415         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
71416         * lib/stdio_.h (vsnprintf): Define as a replacement if
71417         REPLACE_VSNPRINTF is set.
71418         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
71419
71420 2007-03-06  Bruno Haible  <bruno@clisp.org>
71421
71422         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
71423         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
71424
71425 2007-03-06  Bruno Haible  <bruno@clisp.org>
71426
71427         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
71428         (asinl): Declare also if HAVE_DECL_ASINL is set.
71429         (atanl): Declare also if HAVE_DECL_ATANL is set.
71430         (ceill): Declare also if HAVE_DECL_CEILL is set.
71431         (cosl): Declare also if HAVE_DECL_COSL is set.
71432         (expl): Declare also if HAVE_DECL_EXPL is set.
71433         (floorl): Declare also if HAVE_DECL_FLOORL is set.
71434         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
71435         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
71436         (logl): Declare also if HAVE_DECL_LOGL is set.
71437         (sinl): Declare also if HAVE_DECL_SINL is set.
71438         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
71439         (tanl): Declare also if HAVE_DECL_TANL is set.
71440         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
71441         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
71442         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
71443         declaration of frexpl, ldexpl.
71444         * modules/printf-frexpl (Depends-on): Add math.
71445         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
71446
71447 2007-03-05  Bruno Haible  <bruno@clisp.org>
71448
71449         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
71450         frexpl and ldexpl are declared.
71451         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
71452
71453 2007-03-05  Bruno Haible  <bruno@clisp.org>
71454
71455         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
71456         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
71457
71458 2007-03-05  Bruno Haible  <bruno@clisp.org>
71459
71460         * lib/stdio_.h: Include <stddef.h>.
71461
71462 2007-03-05  Bruno Haible  <bruno@clisp.org>
71463
71464         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
71465
71466 2007-03-05  Bruno Haible  <bruno@clisp.org>
71467
71468         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
71469         NetBSD 4, from Ralf Wildenhues.
71470
71471 2007-03-04  Bruno Haible  <bruno@clisp.org>
71472
71473         * lib/vasprintf.h: Update #if logic for the case when the functions
71474         exist but are overridden.
71475
71476 2007-03-04  Bruno Haible  <bruno@clisp.org>
71477
71478         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
71479         implementations: glibc-2.4 and MacOS X 10.3.
71480         * tests/test-vasnprintf-posix.c (test_function): Test also the case
71481         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
71482         * tests/test-vasprintf-posix.c (test_function): Likewise.
71483
71484 2007-03-04  Bruno Haible  <bruno@clisp.org>
71485
71486         * modules/vasprintf-posix-tests: New file.
71487         * tests/test-vasprintf-posix.c: New file.
71488
71489         * modules/vasprintf-posix: New file.
71490         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
71491         defined.
71492         * m4/vasprintf-posix.m4: New file.
71493         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
71494         gl_FUNC_VASPRINTF.
71495         (gl_FUNC_VASPRINTF): Invoke it.
71496         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
71497         here.
71498         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
71499
71500 2007-03-04  Bruno Haible  <bruno@clisp.org>
71501
71502         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
71503         REPLACE_GETTIMEOFDAY.
71504         * modules/sys_time (Makefile.am): Likewise.
71505         * m4/sys_time_h.m4: Likewise.
71506         * m4/gettimeofday.m4: Likewise.
71507
71508 2007-03-04  Bruno Haible  <bruno@clisp.org>
71509
71510         * modules/vasnprintf-posix-tests: New file.
71511         * tests/test-vasnprintf-posix.c: New file.
71512
71513         * modules/vasnprintf-posix: New file.
71514         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
71515         printf-frexpl.h.
71516         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
71517         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
71518         REPLACE_VASNPRINTF is defined.
71519         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
71520         gl_FUNC_VASNPRINTF.
71521         (gl_FUNC_VASNPRINTF): Invoke it.
71522         * m4/vasnprintf-posix.m4: New file.
71523         * m4/printf.m4: New file.
71524
71525 2007-03-04  Bruno Haible  <bruno@clisp.org>
71526
71527         Compile progreloc.c only if --enable-relocatable is specified.
71528         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
71529         if --enable-relocatable was specified.
71530         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
71531         lib_SOURCES.
71532
71533 2007-03-04  Jim Meyering  <jim@meyering.net>
71534
71535         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
71536         Use it consistently, rather than enumerating errno constants.
71537
71538 2007-03-04  Bruno Haible  <bruno@clisp.org>
71539
71540         * modules/xvasprintf-tests: New file.
71541         * tests/test-xvasprintf.c: New file.
71542
71543         * modules/vasprintf-tests: New file.
71544         * tests/test-vasprintf.c: New file.
71545
71546         * modules/vasnprintf-tests: New file.
71547         * tests/test-vasnprintf.c: New file.
71548
71549         * modules/vsnprintf-tests: New file.
71550         * tests/test-vsnprintf.c: New file.
71551
71552         * modules/snprintf-tests: New file.
71553         * tests/test-snprintf.c: New file.
71554
71555 2007-03-04  Bruno Haible  <bruno@clisp.org>
71556
71557         Compile relocatable.c only if --enable-relocatable is specified.
71558         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
71559         gl_RELOCATABLE_LIBRARY.
71560         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
71561         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
71562         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
71563         gl_RELOCATABLE_LIBRARY.
71564         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
71565         (Makefile.am): Remove lib_SOURCES.
71566         * modules/relocatable-lib-lgpl (configure.ac): Invoke
71567         gl_RELOCATABLE_LIBRARY.
71568         (Makefile.am): Remove lib_SOURCES.
71569         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
71570         always.
71571         * modules/relocatable-prog-wrapper (configure.ac): Invoke
71572         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
71573
71574 2007-03-04  Bruno Haible  <bruno@clisp.org>
71575
71576         * modules/argmatch-tests: New file.
71577         * tests/test-argmatch.c: New file.
71578
71579         * tests/test-allocsa.c (main): Halve the number of loop runs.
71580
71581         * modules/alloca-opt-tests: New file.
71582         * tests/test-alloca-opt.c: New file.
71583
71584 2007-03-04  Jim Meyering  <jim@meyering.net>
71585
71586         Work around difference between Linux ACLs and Solaris 10 ZFS.
71587         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
71588         for EINVAL.
71589
71590 2007-03-03  Bruno Haible  <bruno@clisp.org>
71591
71592         * modules/relocatable-prog (Depends-on): Add back progreloc's
71593         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
71594
71595 2007-03-03  Bruno Haible  <bruno@clisp.org>
71596
71597         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
71598         * modules/relocatable-lib: New file.
71599
71600 2007-03-03  Bruno Haible  <bruno@clisp.org>
71601
71602         * modules/relocatable-prog: Renamed from modules/relocatable.
71603         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
71604
71605 2007-03-03  Bruno Haible  <bruno@clisp.org>
71606
71607         * modules/relocatable-script (Files): Add doc/relocatable.texi,
71608         m4/relocatable-lib.m4.
71609         (Depends-on): Remove 'relocatable'.
71610         (configure.ac): Add gl_RELOCATABLE_NOP.
71611
71612 2007-03-03  Bruno Haible  <bruno@clisp.org>
71613
71614         * modules/relocatable-prog-wrapper: New file.
71615         * modules/relocatable (Depends-on): Add it. Remove all other
71616         dependencies except progname.
71617         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
71618
71619         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
71620         (gl_FUNC_STRERROR): Nop.
71621         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
71622
71623         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
71624         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
71625
71626         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
71627         (gl_FUNC_READLINK): Update.
71628
71629         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
71630
71631 2007-03-03  Bruno Haible  <bruno@clisp.org>
71632
71633         * lib/xreadlink.c: Include <unistd.h> unconditionally.
71634         * modules/xreadlink (Depends-on): Add unistd.
71635         * modules/xreadlink-with-size (Depends-on): Likewise.
71636
71637 2007-03-03  Bruno Haible  <bruno@clisp.org>
71638
71639         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
71640         extracted from gt_FUNC_SETENV.
71641         (gt_FUNC_SETENV): Remove macro.
71642         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
71643         remove gt_FUNC_SETENV.
71644
71645 2007-03-03  Bruno Haible  <bruno@clisp.org>
71646
71647         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
71648         ENABLE_RELOCATABLE here.
71649         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
71650
71651 2007-03-03  Bruno Haible  <bruno@clisp.org>
71652
71653         * modules/rbtreehash-list-tests (Depends-on): Add progname.
71654         * tests/test-rbtreehash_list.c: Include progname.h.
71655         (main): Call set_program_name.
71656
71657         * modules/rbtree-oset-tests (Depends-on): Add progname.
71658         * tests/test-rbtree_oset.c: Include progname.h.
71659         (main): Call set_program_name.
71660
71661         * modules/rbtree-list-tests (Depends-on): Add progname.
71662         * tests/test-rbtree_list.c: Include progname.h.
71663         (main): Call set_program_name.
71664
71665         * modules/linked-list-tests (Depends-on): Add progname.
71666         * tests/test-linked_list.c: Include progname.h.
71667         (main): Call set_program_name.
71668
71669 2007-03-03  Bruno Haible  <bruno@clisp.org>
71670
71671         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
71672         All uses of __restrict changed to _Restrict_.
71673         * lib/glob_.h (__restrict): Remove macro.
71674
71675 2007-03-02  Bruno Haible  <bruno@clisp.org>
71676
71677         * modules/gettext (configure.ac): Require gettext infrastructure
71678         from version 0.16.1.
71679
71680 2007-03-02  Bruno Haible  <bruno@clisp.org>
71681
71682         * modules/linkedhash-list-tests (Depends-on): Add progname.
71683         * tests/test-linkedhash_list.c: Include progname.h.
71684         (main): Call set_program_name.
71685
71686         * modules/carray-list-tests (Depends-on): Add progname.
71687         * tests/test-carray_list.c: Include progname.h.
71688         (main): Call set_program_name.
71689
71690         * modules/avltreehash-list-tests (Depends-on): Add progname.
71691         * tests/test-avltreehash_list.c: Include progname.h.
71692         (main): Call set_program_name.
71693
71694         * modules/avltree-oset-tests (Depends-on): Add progname.
71695         * tests/test-avltree_oset.c: Include progname.h.
71696         (main): Call set_program_name.
71697
71698         * modules/avltree-list-tests (Depends-on): Add progname.
71699         * tests/test-avltree_list.c: Include progname.h.
71700         (main): Call set_program_name.
71701
71702         * modules/array-oset-tests (Depends-on): Add progname.
71703         * tests/test-array_oset.c: Include progname.h.
71704         (main): Call set_program_name.
71705
71706         * modules/array-list-tests (Depends-on): Add progname.
71707         * tests/test-array_list.c: Include progname.h.
71708         (main): Call set_program_name.
71709
71710         * modules/argp-tests (Depends-on): Add progname.
71711         * tests/test-argp.c: Include argp.h first. Include progname.h.
71712         (main): Call set_program_name.
71713
71714 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
71715
71716         * doc/gnulib-tool.texi (Initial import): Reword description of
71717         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
71718         limited effect even if defined after the first system include.
71719
71720 2007-03-01  Bruno Haible  <bruno@clisp.org>
71721
71722         * build-aux/config.libpath: Update to libtool-1.5.22.
71723         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
71724
71725 2007-03-01  Bruno Haible  <bruno@clisp.org>
71726
71727         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
71728         foo_CFLAGS.
71729         Reported by Ralf Wildenhues.
71730
71731 2007-03-01  Bruno Haible  <bruno@clisp.org>
71732
71733         * build-aux/install-reloc: Remove object files left over by some
71734         compilers.
71735         Reported by Ralf Wildenhues.
71736
71737 2007-03-01  Bruno Haible  <bruno@clisp.org>
71738
71739         * build-aux/install-reloc: Break long lines.
71740
71741 2007-03-01  Bruno Haible  <bruno@clisp.org>
71742
71743         * doc/relocatable.texi: Document that it may not work on OpenBSD.
71744         Reported by Ralf Wildenhues.
71745
71746 2007-03-01  Bruno Haible  <bruno@clisp.org>
71747
71748         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
71749         include ordering constraints.
71750
71751 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71752
71753         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
71754         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
71755         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
71756         as another example.
71757         * lib/time_.h: Fix misspelling.
71758         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71759         Require gl_HEADER_TIME_H_DEFAULTS.
71760         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
71761         * m4/time_r.m4 (gl_TIME_R): Likewise.
71762         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
71763
71764 2007-03-01  Bruno Haible  <bruno@clisp.org>
71765
71766         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
71767         * m4/utimens.m4 (gl_UTIMENS): Likewise.
71768
71769 2007-03-01  Jim Meyering  <jim@meyering.net>
71770
71771         * modules/xreadlink (Maintainer): Add my name.
71772         * modules/xreadlink-with-size (Depends-on): Alphabetize.
71773
71774 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
71775             Bruno Haible  <bruno@clisp.org>
71776
71777         * build-aux/install-reloc: Compile also c-ctype.c.
71778         * build-aux/relocatable.sh.in: New file.
71779         * doc/relocatable.texi: New file.
71780         * doc/relocatable-maint.texi: New file.
71781         * doc/gnulib.texi: Include relocatable-maint.texi.
71782         * lib/progreloc.c: Include unistd.h unconditionally.
71783         * lib/relocwrapper.c: Include unistd.h unconditionally.
71784         Include c-ctype.h.
71785         (add_dotbin): Use c_tolower.
71786         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
71787         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
71788         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
71789         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
71790         to m4/relocatable-lib.m4.
71791         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
71792         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
71793         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
71794         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
71795         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
71796         * modules/relocatable: New file.
71797         * modules/relocatable-lib: New file.
71798         * modules/relocatable-script: New file.
71799
71800 2007-02-28  Bruno Haible  <bruno@clisp.org>
71801
71802         Import --enable-relocatable infrastructure.
71803         * build-aux/config.libpath: New file, from GNU gettext.
71804         * build-aux/install-reloc: New file, from GNU gettext.
71805         * build-aux/reloc-ldflags: New file, from GNU gettext.
71806         * lib/relocatable.h: New file, from GNU gettext.
71807         * lib/relocatable.c: New file, from GNU gettext.
71808         * lib/relocwrapper.c: New file, from GNU gettext.
71809         * m4/relocatable.m4: New file, from GNU gettext.
71810
71811 2007-02-28  Bruno Haible  <bruno@clisp.org>
71812
71813         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
71814
71815         * modules/xreadlink: New file, from GNU gettext with modifications.
71816         * lib/xreadlink.c: New file, from GNU gettext.
71817         * lib/xreadlink.h: Add comments.
71818         (xreadlink): New declaration.
71819
71820         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
71821         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
71822         lib/xreadlink-with-size.c.
71823         (configure.ac): Remove gl_XREADLINK invocation.
71824         (Makefile.am): Augment lib_SOURCES.
71825         * m4/xreadlink.m4: Remove file.
71826         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
71827         (xreadlink_with_size): Renamed from xreadink.
71828         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
71829         * modules/canonicalize (Depends-on): Replace xreadlink with
71830         xreadlink-with-size.
71831         * lib/canonicalize.c (canonicalize_filename_mode): Update.
71832
71833 2007-02-25  Jim Meyering  <jim@meyering.net>
71834
71835         * build-aux/announce-gen: When complaining about excess arguments,
71836         list them.
71837
71838 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
71839
71840         * README: Document signed integer overflow situation more
71841         accurately.
71842
71843 2007-02-25  Bruno Haible  <bruno@clisp.org>
71844
71845         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
71846         'a' or 'A' conversion.
71847
71848 2007-02-25  Bruno Haible  <bruno@clisp.org>
71849
71850         * modules/filename: Renamed from modules/pathname.
71851         (Files): Replace lib/pathname.h with lib/filename.h. Replace
71852         lib/concatpath.c with lib/concat-filename.c.
71853         (Makefile.am): Update.
71854         (Include): Replace pathname.h with filename.h.
71855         * lib/filename.h: Renamed from lib/pathname.h.
71856         (concatenated_filename): Renamed from concatenated_pathname.
71857         * lib/concat-filename.c: Renamed from lib/concatpath.c.
71858         (concatenated_filename): Renamed from concatenated_pathname.
71859         * lib/findprog.c: Include filename.h instead of pathname.h.
71860         (find_in_path): Update.
71861         * lib/javacomp.c: Include filename.h instead of pathname.h.
71862         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
71863         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
71864         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
71865         is_oldgcj_14_13_usable, is_javac_usable): Update.
71866         * lib/javaexec.c: Include filename.h instead of pathname.h.
71867         (execute_java_class): Update.
71868         * modules/findprog: Update.
71869         * modules/javacomp: Update.
71870         * modules/javaexec: Update.
71871         * MODULES.html.sh (File system functions): Add 'filename', remove
71872         'pathname'.
71873
71874 2007-02-25  Bruno Haible  <bruno@clisp.org>
71875
71876         * modules/printf-frexpl-tests: New file.
71877         * tests/test-printf-frexpl.c: New file.
71878
71879         * modules/printf-frexpl: New file.
71880         * lib/printf-frexpl.h: New file.
71881         * lib/printf-frexpl.c: New file.
71882         * m4/printf-frexpl.m4: New file.
71883
71884 2007-02-25  Bruno Haible  <bruno@clisp.org>
71885
71886         * modules/printf-frexp-tests: New file.
71887         * tests/test-printf-frexp.c: New file.
71888
71889         * modules/printf-frexp: New file.
71890         * lib/printf-frexp.h: New file.
71891         * lib/printf-frexp.c: New file.
71892         * m4/printf-frexp.m4: New file.
71893
71894 2007-02-25  Bruno Haible  <bruno@clisp.org>
71895
71896         Assume automake >= 1.10 for the tests.
71897         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
71898         * modules/arctwo-tests: Likewise.
71899         * modules/argp-tests: Likewise.
71900         * modules/avltree-list-tests: Likewise.
71901         * modules/avltree-oset-tests: Likewise.
71902         * modules/avltreehash-list-tests: Likewise.
71903         * modules/carray-list-tests: Likewise.
71904         * modules/crc-tests: Likewise.
71905         * modules/des-tests: Likewise.
71906         * modules/gc-arcfour-tests: Likewise.
71907         * modules/gc-arctwo-tests: Likewise.
71908         * modules/gc-des-tests: Likewise.
71909         * modules/gc-hmac-md5-tests: Likewise.
71910         * modules/gc-hmac-sha1-tests: Likewise.
71911         * modules/gc-md2-tests: Likewise.
71912         * modules/gc-md4-tests: Likewise.
71913         * modules/gc-md5-tests: Likewise.
71914         * modules/gc-pbkdf2-sha1-tests: Likewise.
71915         * modules/gc-rijndael-tests: Likewise.
71916         * modules/gc-sha1-tests: Likewise.
71917         * modules/gc-tests: Likewise.
71918         * modules/getaddrinfo-tests: Likewise.
71919         * modules/hmac-md5-tests: Likewise.
71920         * modules/hmac-sha1-tests: Likewise.
71921         * modules/linked-list-tests: Likewise.
71922         * modules/linkedhash-list-tests: Likewise.
71923         * modules/lock-tests: Likewise.
71924         * modules/md2-tests: Likewise.
71925         * modules/md4-tests: Likewise.
71926         * modules/md5-tests: Likewise.
71927         * modules/rbtree-list-tests: Likewise.
71928         * modules/rbtree-oset-tests: Likewise.
71929         * modules/rbtreehash-list-tests: Likewise.
71930         * modules/read-file-tests: Likewise.
71931         * modules/rijndael-tests: Likewise.
71932         * modules/stdint-tests: Likewise.
71933         * modules/tls-tests: Likewise.
71934
71935 2007-02-24  Bruno Haible  <bruno@clisp.org>
71936
71937         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
71938         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
71939         function; instead check whether isnan with a double argument links.
71940         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
71941         function; instead check whether isnan with a 'long double' argument
71942         links.
71943         Reported by Eric Blake <ebb9@byu.net>.
71944
71945 2007-02-24  Bruno Haible  <bruno@clisp.org>
71946
71947         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
71948         defined.
71949         * lib/isnanl.c: Remove all code. Just include isnan.c.
71950         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
71951
71952 2007-02-25  Jim Meyering  <jim@meyering.net>
71953
71954         Avoid conflicting types for 'unsetenv' on FreeBSD.
71955         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
71956         conflicting with FreeBSD's (5.0 and 6.1) function declaration
71957         in stdlib.h.
71958
71959 2007-02-24  Bruno Haible  <bruno@clisp.org>
71960
71961         * modules/isnanl-nolibm-tests: New file.
71962         * tests/test-isnanl.c: New file.
71963
71964         * modules/isnanl-nolibm: New file.
71965         * lib/isnanl.h: New file.
71966         * lib/isnanl.c: New file.
71967         * m4/isnanl.m4: New file.
71968
71969 2007-02-24  Bruno Haible  <bruno@clisp.org>
71970
71971         * modules/isnan-nolibm-tests: New file.
71972         * tests/test-isnan.c: New file.
71973
71974         * modules/isnan-nolibm: New file.
71975         * lib/isnan.h: New file.
71976         * lib/isnan.c: New file.
71977         * m4/isnan.m4: New file.
71978
71979 2007-02-24  Bruno Haible  <bruno@clisp.org>
71980
71981         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
71982         assume that an exponent fits in 20 bits.
71983
71984 2007-02-24  Jim Meyering  <jim@meyering.net>
71985
71986         * m4/regex.m4: Update the description of the configure-time option,
71987         --without-included-regex, to state accurately what the defaults are,
71988         and perhaps to give people an idea why using this option is risky.
71989
71990 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
71991
71992         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
71993         loops on small arguments.  This attempts to avoid the problem
71994         Bruno Haible reported for AIX 4.3.2 in
71995         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
71996
71997 2007-02-23  Bruno Haible  <bruno@clisp.org>
71998
71999         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
72000         Needed for help2man.
72001
72002 2007-02-23  Karl Berry  <karl@gnu.org>
72003
72004         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
72005         exists, foo.h should be cvs-ignored, not committed.
72006
72007 2007-02-23  Eric Blake  <ebb9@byu.net>
72008
72009         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
72010         * lib/stat-time.h (includes): Likewise.
72011         * lib/utimecmp.c (includes): Likewise.
72012         * lib/utimens.h (includes): Likewise.
72013         * lib/getdate.y (includes): Also include "timespec.h" for use
72014         internal to the module.
72015         * modules/utimens (Depends-on): Revert yesterday's patch.
72016         * modules/nanosleep (Depends-on): Add missing dependency.
72017
72018 2007-02-22  Bruno Haible  <bruno@clisp.org>
72019
72020         * lib/glob.c: Don't include getlogin_r.h.
72021
72022 2007-02-22  Jim Meyering  <jim@meyering.net>
72023
72024         * modules/utimens (Depends-on): Add timespec, required for
72025         utimens.h's inclusion of timespec.h.
72026
72027 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
72028
72029         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
72030         long unreadable paths in GNU/Linux.  Problem reported by Andreas
72031         Schwab in
72032         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
72033         I'll try to think of a better way to fix the Solaris problem.
72034
72035         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
72036         like glibc; on Solaris 10, it fails with errno == EINVAL.
72037         POSIX says the behavior is unspecified if the first argument is NULL,
72038         so play it safe and never pass NULL to the system getcwd.
72039
72040 2007-02-21  Jim Meyering  <jim@meyering.net>
72041
72042         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
72043         of gettimeofday.  It would conflict with the one now always
72044         provided via sys_time_.h.  Reported by Matthew Woehlke, as
72045         an IRIX 6.5 build failure.
72046
72047 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72048
72049         Minor fixups to port to Solaris 10 with Sun C 5.8.
72050         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
72051         * modules/getcwd (Depends-on): Add dirfd.
72052         * lib/putenv.c (putenv): #undef it.
72053         (rpl_putenv): New decl.
72054         (malloc, free): Include <stdlib.h> rather than prototyping separately.
72055
72056 2007-02-20  Bruno Haible  <bruno@clisp.org>
72057
72058         * modules/stdio-tests: New file.
72059         * tests/test-stdio.c: New file.
72060
72061         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
72062         (Depends-on): Add stdio.
72063         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72064         (Include): Use <stdio.h> instead of vsnprintf.h.
72065         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72066         HAVE_DECL_VSNPRINTF.
72067         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
72068
72069         * modules/snprintf (Files): Remove lib/snprintf.h.
72070         (Depends-on): Add stdio.
72071         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72072         (Include): Use <stdio.h> instead of snprintf.h.
72073         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72074         HAVE_DECL_SNPRINTF.
72075         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
72076         * lib/getaddrinfo.c: Likewise.
72077
72078         * modules/stdio: New file.
72079         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
72080         * lib/snprintf.h: Remove file.
72081         * lib/vsnprintf.h: Remove file.
72082         * lib/.cppi-disable: Remove snprintf.h.
72083         * m4/stdio_h.m4: New file.
72084         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
72085
72086 2007-02-20  Jim Meyering  <jim@meyering.net>
72087
72088         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
72089         used by e.g., mingw.  From Bruno Haible.
72090
72091 2007-02-19  Bruno Haible  <bruno@clisp.org>
72092
72093         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
72094         warnings.
72095         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72096
72097 2007-02-19  Bruno Haible  <bruno@clisp.org>
72098
72099         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
72100         from mingw users.
72101
72102 2007-02-19  Bruno Haible  <bruno@clisp.org>
72103
72104         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
72105         warnings.
72106         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
72107
72108 2007-02-19  Jim Meyering  <jim@meyering.net>
72109
72110         Don't use FD after a successful "fdopendir (fd)".
72111         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
72112         Reset it by calling dirfd on the just-obtained DIR*.
72113
72114         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
72115         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
72116
72117 2007-02-18  Bruno Haible  <bruno@clisp.org>
72118
72119         * lib/readlink.c: Include <unistd.h>.
72120         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
72121         HAVE_READLINK.
72122         * modules/readlink (Depends-on): Add unistd.
72123         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72124         (Include): Add <unistd.h>.
72125
72126         * lib/getlogin_r.h: Remove file.
72127         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
72128         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
72129         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
72130         HAVE_DECL_GETLOGIN_R.
72131         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
72132         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72133         (Include): Use <unistd.h> instead of getlogin_r.h.
72134
72135         * lib/getcwd.h: Remove file.
72136         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
72137         * lib/xgetcwd.c: Likewise.
72138         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
72139         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
72140         * modules/getcwd (Files): Remove lib/getcwd.h.
72141         (Depends-on): Add unistd.
72142         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72143         (Include): Use <unistd.h> instad of getcwd.h.
72144
72145         * lib/ftruncate.c: Include <unistd.h> first.
72146         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
72147         Set HAVE_FTRUNCATE.
72148         * modules/ftruncate (Depends-on): Add unistd.
72149         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72150
72151         * lib/fchdir.c: Include <unistd.h> first.
72152         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
72153         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
72154         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
72155         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72156         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
72157
72158         * lib/dup2.c: Include <unistd.h> first.
72159         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
72160         HAVE_DUP2.
72161         * modules/dup2 (Depends-on): Add unistd.
72162         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72163
72164         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
72165         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
72166         REPLACE_CHOWN. Don't define chown as a macro here.
72167         * modules/chown (Depends-on): Add unistd.
72168         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72169
72170         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
72171         Add definition for GL_LINK_WARNING.
72172         (chown, dup2): New declarations.
72173         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
72174         link warning.
72175         (ftruncate): New declaration.
72176         (getcwd): New declaration, taken from old getcwd.h.
72177         (getlogin_r): New declaration, taken from old getlogin_r.h.
72178         (readlink): New declaration.
72179         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
72180         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
72181         (gl_PREREQ_UNISTD): Remove macro.
72182         (gl_UNISTD_MODULE_INDICATOR): New macro.
72183         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
72184         many new variables. Don't set UNISTD_H.
72185         * modules/unistd (Description): Change.
72186         (Depends-on): Add link-warning.
72187         (configure.ac): Update.
72188         (Makefile.am): Create unistd.h always. Substitute many new variables
72189         into it.
72190
72191 2007-02-18  Bruno Haible  <bruno@clisp.org>
72192
72193         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
72194         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
72195         HAVE_GETSUBOPT.
72196         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
72197         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
72198         * lib/getsubopt.h: Remove file.
72199         * modules/getsubopt (Files): Remove lib/getsubopt.h.
72200         (Depends-on): Add stdlib.
72201         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72202         (Includes): Use <stdlib.h> instead of getsubopt.h.
72203         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
72204         Set HAVE_GETSUBOPT.
72205         * lib/getsubopt.c: Don't include getsubopt.h.
72206
72207 2007-02-18  Bruno Haible  <bruno@clisp.org>
72208
72209         * modules/fchdir (Depends-on): Add dup2.
72210
72211 2007-02-18  Bruno Haible  <bruno@clisp.org>
72212
72213         * lib/stdlib_.h: Handle glibc's special invocation convention
72214         specially.
72215
72216 2007-02-18  Bruno Haible  <bruno@clisp.org>
72217
72218         * modules/stdlib-tests: New file.
72219         * tests/test-stdlib.c: New file.
72220
72221         * modules/mkstemp (Files): Remove lib/mkstemp.h.
72222         (Depends-on): Add stdlib.
72223         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72224         (Includes): Use <stdlib.h> instead of mkstemp.h.
72225         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72226         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
72227         * lib/mkstemp.c: Don't include mkstemp.h.
72228         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
72229         * lib/stdlib--.h: Don't include mkstemp.h.
72230
72231         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
72232         (Depends-on): Add stdlib.
72233         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72234         (Includes): Use <stdlib.h> instead of mkdtemp.h.
72235         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72236         HAVE_MKDTEMP.
72237         * lib/mkdtemp.c: Don't include mkdtemp.h.
72238         * lib/clean-temp.c: Don't include mkdtemp.h.
72239
72240         * modules/exit (Files): Remove lib/exit.h.
72241         (Depends-on): Add stdlib.
72242         (Makefile.am): Remove lib_SOURCES.
72243         (Include): Use <stdlib.h> instead of exit.h.
72244         * lib/argmatch.c: Don't include exit.h.
72245         * lib/execute.c: Likewise.
72246         * lib/pagealign_alloc.c: Likewise.
72247         * lib/pipe.c: Likewise.
72248         * lib/wait-process.c: Likewise.
72249         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
72250         * lib/exitfail.c: Likewise.
72251         * lib/savewd.c: Likewise.
72252         * lib/xsetenv.c: Likewise.
72253
72254         * modules/stdlib: New file.
72255         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
72256         and extra comments about mkstemp().
72257         * lib/exit.h: Remove file.
72258         * lib/mkdtemp.h: Remove file.
72259         * lib/mkstemp.h: Remove file.
72260         * m4/stdlib_h.m4: New file.
72261         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
72262
72263 2007-02-18  Bruno Haible  <bruno@clisp.org>
72264
72265         * modules/math-tests: New file.
72266         * tests/test-math.c: New file.
72267
72268         * modules/math: New file.
72269         * modules/mathl (Files): Remove lib/mathl.h.
72270         (Depends-on): Add math.
72271         (Makefile.am): Don't mention mathl.h.
72272         (Include): Use <math.h> instead of mathl.h.
72273         * lib/math_.h: New file.
72274         * lib/mathl.h: Remove file.
72275         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
72276         mathl.h.
72277         * lib/asinl.c: Likewise.
72278         * lib/atanl.c: Likewise.
72279         * lib/ceill.c: Likewise.
72280         * lib/cosl.c: Likewise.
72281         * lib/expl.c: Likewise.
72282         * lib/floorl.c: Likewise.
72283         * lib/frexpl.c: Likewise.
72284         * lib/ldexpl.c: Likewise.
72285         * lib/logl.c: Likewise.
72286         * lib/sincosl.c: Likewise.
72287         * lib/sinl.c: Likewise.
72288         * lib/sqrtl.c: Likewise.
72289         * lib/tanl.c: Likewise.
72290         * lib/trigl.c: Likewise.
72291         * m4/math_h.m4: New file.
72292         * MODULES.html.sh (Mathematics): Add math.
72293
72294 2007-02-17  Bruno Haible  <bruno@clisp.org>
72295
72296         * modules/wctype-tests: New file.
72297         * tests/test-wctype.c: New file.
72298
72299         * modules/wchar-tests: New file.
72300         * tests/test-wchar.c: New file.
72301
72302         * modules/unistd-tests: New file.
72303         * tests/test-unistd.c: New file.
72304
72305         * modules/time-tests: New file.
72306         * tests/test-time.c: New file.
72307
72308         * modules/sysexits-tests: New file.
72309         * tests/test-sysexits.c: New file.
72310
72311         * modules/sys_time-tests: New file.
72312         * tests/test-sys_time.c: New file.
72313
72314         * modules/sys_stat-tests: New file.
72315         * tests/test-sys_stat.c: New file.
72316
72317         * modules/sys_socket-tests: New file.
72318         * tests/test-sys_socket.c: New file.
72319
72320         * modules/sys_select-tests: New file.
72321         * tests/test-sys_select.c: New file.
72322
72323         * modules/string-tests: New file.
72324         * tests/test-string.c: New file.
72325
72326         * modules/stdbool-tests: New file.
72327         * tests/test-stdbool.c: New file.
72328
72329         * modules/netinet_in-tests: New file.
72330         * tests/test-netinet_in.c: New file.
72331
72332         * modules/inttypes-tests: New file.
72333         * tests/test-inttypes.c: New file.
72334
72335         * modules/fcntl-tests: New file.
72336         * tests/test-fcntl.c: New file.
72337
72338         * modules/byteswap-tests: New file.
72339         * tests/test-byteswap.c: New file.
72340
72341         * modules/arpa_inet-tests: New file.
72342         * tests/test-arpa_inet.c: New file.
72343
72344 2007-02-17  Bruno Haible  <bruno@clisp.org>
72345
72346         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
72347         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
72348         if the corresponding module is not enabled. Emit link warnings if
72349         the function is used nevertheless.
72350         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
72351         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
72352         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
72353         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
72354         * modules/inttypes (Depends-on): Add link-warning.
72355         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72356         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
72357         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
72358         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
72359         * modules/imaxdiv (configure.ac): Likewise.
72360         * modules/strtoimax (configure.ac): Likewise.
72361         * modules/strtoumax (configure.ac): Likewise.
72362
72363 2007-02-17  Bruno Haible  <bruno@clisp.org>
72364
72365         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
72366         gl_STRING_MODULE_INDICATOR_DEFAULTS.
72367         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
72368         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
72369
72370 2007-02-17  Bruno Haible  <bruno@clisp.org>
72371
72372         * modules/link-warning: New file.
72373         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
72374         * lib/string_.h (GL_LINK_WARNING): Remove definition.
72375         * modules/string (Depends-on): Add link-warning.
72376         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72377         string.h.
72378         * MODULES.html.sh (Support for building libraries and executables): Add
72379         link-warning.
72380
72381 2007-02-17  Bruno Haible  <bruno@clisp.org>
72382
72383         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
72384         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
72385         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
72386         long lines.
72387
72388 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
72389             Bruno Haible  <bruno@clisp.org>
72390
72391         * modules/tmpfile: New file.
72392         * lib/tmpfile.c: New file.
72393         * m4/tmpfile.m4: New file.
72394         * MODULES.html.sh (func_all_modules): New section "Input/output".
72395
72396 2007-02-15  Bruno Haible  <bruno@clisp.org>
72397
72398         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
72399         (supports_delete_on_close): New function.
72400         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
72401
72402 2007-02-14  Bruno Haible  <bruno@clisp.org>
72403
72404         * modules/mbspcasecmp-tests: New file.
72405         * tests/test-mbspcasecmp.sh: New file.
72406         * tests/test-mbspcasecmp.c: New file.
72407
72408         New module mbspcasecmp.
72409         * modules/mbspcasecmp: New file.
72410         * lib/mbspcasecmp.c: New file.
72411         * lib/string_.h (strncasecmp): Change warning message.
72412         (mbspcasecmp): New declaration.
72413         * m4/mbspcasecmp.m4: New file.
72414         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72415         GNULIB_MBSPCASECMP.
72416         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
72417         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
72418
72419 2007-02-14  Bruno Haible  <bruno@clisp.org>
72420
72421         * modules/mbsncasecmp-tests: New file.
72422         * tests/test-mbsncasecmp.sh: New file.
72423         * tests/test-mbsncasecmp.c: New file.
72424
72425         New module mbsncasecmp.
72426         * modules/mbsncasecmp: New file.
72427         * lib/mbsncasecmp.c: New file.
72428         * lib/string_.h (mbsncasecmp): New declaration.
72429         * m4/mbsncasecmp.m4: New file.
72430         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72431         GNULIB_MBSNCASECMP.
72432         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
72433         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
72434
72435 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72436
72437         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
72438         Verify that it doesn't overlap with our flags.
72439         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
72440         do not have the desired effect in multibyte locales; instead, use
72441         mbscasecmp.
72442         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
72443         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
72444         we don't require GNU fnmatch ourselves (if our users require it, they
72445         should do so explicitly).
72446
72447         Fix regex code so it doesn't rely on strcasecmp.
72448         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
72449         Otherwise, include gnulib's langinfo.h.
72450         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
72451         undesirable behavior in non-C locales.  Instead, rely on localecharset.
72452         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
72453         * modules/regex (FILES): Remove m4/codeset.m4.
72454         (Depends-on): Add localcharset.  Remove strcase.
72455
72456 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72457
72458         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
72459         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
72460
72461 2007-02-13  Bruno Haible  <bruno@clisp.org>
72462
72463         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
72464         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72465
72466 2007-02-12  Bruno Haible  <bruno@clisp.org>
72467
72468         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
72469         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
72470         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
72471         time warning rather than a link error.
72472
72473 2007-02-12  Bruno Haible  <bruno@clisp.org>
72474
72475         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
72476         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
72477         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72478
72479 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
72480
72481         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
72482         args, not 2.
72483
72484 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
72485
72486         New module 'time', so that apps can include <time.h> as per
72487         POSIX and GNU instead of separate include files like time_r.h
72488         and timegm.h.  This implementation tries out a simpler approach
72489         for replacing decls in standard include files (as compared to
72490         the string module), somewhat as an experiment.
72491
72492         * config/srclist.txt: Comment out mktime.c for now.
72493         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
72494         since it doesn't apply any more.  Use generic wording instead.
72495         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
72496         'time'.
72497         * lib/time_.h, m4/time_h.m4, modules/time: New files.
72498         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
72499         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
72500         Don't include <sys/types.h>; no longer needed since we assume C89.
72501         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
72502         * lib/strftime.c: Likewise.
72503         * lib/time_r.c: Likewise.
72504         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
72505         * lib/nanosleep.c: Include <time.h> first, to check interface.
72506         * lib/strptime.c: Likewise.
72507         * lib/time_r.c: Likewise.
72508         * lib/timegm.c: Likewise.
72509         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
72510         needed.
72511         * lib/timegm.c: Don't include timegm.h; no longer needed.
72512         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
72513         time.h now handles any problems in that area.
72514         (struct timespec, nanosleep): Remove; time.h now arranges for these.
72515         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
72516         that time.h defines struct timespec.
72517         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
72518         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
72519         handles that.
72520         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
72521         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
72522         needed.  Set REPLACE_LOCALTIME.
72523         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
72524         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
72525         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
72526         nanosleep; time_h.m4 now does that.  Don't require
72527         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
72528         module handles this now.
72529         * modules/getdate (Depends-on): Remove timespec.  Add time.
72530         * modules/nanosleep (Depends-on): Likewise.
72531         * modules/stat-time (Depends-on): Likewise.
72532         * modules/nanosleep (Include): Include time.h, not timespec.h.
72533         * modules/strptime (Files): Remove lib/strptime.h.
72534         (Depends-on): Add extensions, time.
72535         (Include): Include time.h, not strptime.h.
72536         * modules/time_r (Files): Remove lib/time_r.h.
72537         (Depends-on): Add time.
72538         (Include): Include time.h, not time_r.h.
72539         * modules/timegm: Likewise.
72540         * modules/timespec (Description): Now does timespec-related decls
72541         of our own, instead of struct timespec itself.
72542         (Depends-on): Add time; remove extensions.
72543         (Maintainer): Add self.
72544         * modules/utimecmp (Depends-on): Add time; remove timespec.
72545         * modules/utimens (Depends-on): Likewise.
72546         * modules/xnanosleep (Depends-on): Likewise.
72547
72548 2007-02-11  Bruno Haible  <bruno@clisp.org>
72549
72550         * lib/c-strstr.c: Include allocsa.h.
72551         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
72552         * lib/c-strcasestr.c: Include allocsa.h.
72553         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
72554         * lib/strcasestr.c: Include allocsa.h.
72555         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
72556         * lib/mbsstr.c: Include allocsa.h.
72557         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
72558         allocsa/freesa instead of malloc/free.
72559         * lib/mbscasestr.c: Include allocsa.h.
72560         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
72561         allocsa/freesa instead of malloc/free.
72562         * modules/c-strstr (Depends-on): Add allocsa.
72563         * modules/c-strcasestr (Depends-on): Likewise.
72564         * modules/strcasestr (Depends-on): Likewise.
72565         * modules/mbsstr (Depends-on): Likewise.
72566         * modules/mbscasestr (Depends-on): Likewise.
72567
72568 2007-02-11  Bruno Haible  <bruno@clisp.org>
72569
72570         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
72571
72572         * modules/mbsspn-tests: New file.
72573         * tests/test-mbsspn.sh: New file.
72574         * tests/test-mbsspn.c: New file.
72575
72576 2007-02-11  Bruno Haible  <bruno@clisp.org>
72577
72578         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
72579
72580         * modules/mbspbrk-tests: New file.
72581         * tests/test-mbspbrk.sh: New file.
72582         * tests/test-mbspbrk.c: New file.
72583
72584 2007-02-11  Bruno Haible  <bruno@clisp.org>
72585
72586         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
72587         unneeded cast.
72588
72589         * modules/mbscspn-tests: New file.
72590         * tests/test-mbscspn.sh: New file.
72591         * tests/test-mbscspn.c: New file.
72592
72593 2007-02-11  Bruno Haible  <bruno@clisp.org>
72594
72595         * modules/mbscasecmp-tests: New file.
72596         * tests/test-mbscasecmp.sh: New file.
72597         * tests/test-mbscasecmp.c: New file.
72598
72599 2007-02-11  Bruno Haible  <bruno@clisp.org>
72600
72601         Ensure O(n) worst-case complexity of mbscasestr.
72602         * lib/mbscasestr.c: Include stdbool.h.
72603         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
72604         functions.
72605         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
72606         the bookkeeping indicates that it's worth it.
72607         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
72608
72609         * modules/mbscasestr-tests: New file.
72610         * tests/test-mbscasestr1.c: New file.
72611         * tests/test-mbscasestr2.sh: New file.
72612         * tests/test-mbscasestr2.c: New file.
72613         * tests/test-mbscasestr3.sh: New file.
72614         * tests/test-mbscasestr3.c: New file.
72615         * tests/test-mbscasestr4.sh: New file.
72616         * tests/test-mbscasestr4.c: New file.
72617         * m4/locale-tr.m4: New file.
72618
72619 2007-02-11  Bruno Haible  <bruno@clisp.org>
72620
72621         Ensure O(n) worst-case complexity of mbsstr.
72622         * lib/mbsstr.c: Include stdbool.h.
72623         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
72624         functions.
72625         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
72626         bookkeeping indicates that it's worth it.
72627         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
72628
72629         * modules/mbsstr-tests: New file.
72630         * tests/test-mbsstr1.c: New file.
72631         * tests/test-mbsstr2.sh: New file.
72632         * tests/test-mbsstr2.c: New file.
72633         * tests/test-mbsstr3.sh: New file.
72634         * tests/test-mbsstr3.c: New file.
72635         * m4/locale-fr.m4: New file.
72636
72637 2007-02-11  Bruno Haible  <bruno@clisp.org>
72638
72639         * lib/mbsrchr.c (mbsrchr): Fix bug.
72640
72641         * modules/mbsrchr-tests: New file.
72642         * tests/test-mbsrchr.sh: New file.
72643         * tests/test-mbsrchr.c: New file.
72644
72645 2007-02-11  Bruno Haible  <bruno@clisp.org>
72646
72647         * lib/mbschr.c (mbschr): Fix bug.
72648
72649         * modules/mbschr-tests: New file.
72650         * tests/test-mbschr.sh: New file.
72651         * tests/test-mbschr.c: New file.
72652         * m4/locale-zh.m4: New file.
72653
72654 2007-02-11  Bruno Haible  <bruno@clisp.org>
72655
72656         Support for copying multibyte string iterators.
72657         * lib/mbiter.h: Include <string.h>.
72658         (mbiter_multi_copy): New function.
72659         (mbi_copy): New macro.
72660         * lib/mbuiter.h: Include <string.h>.
72661         (mbuiter_multi_copy): New function.
72662         (mbui_copy): New macro.
72663
72664 2007-02-11  Bruno Haible  <bruno@clisp.org>
72665
72666         New module mbslen.
72667         * modules/mbslen: New file.
72668         * lib/mbslen.c: New file.
72669         * lib/string_.h (mbslen): New declaration.
72670         * m4/mbslen.m4: New file.
72671         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72672         GNULIB_MBSLEN.
72673         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
72674         * MODULES.html.sh (Internationalization functions): Add mbslen.
72675
72676 2007-02-11  Bruno Haible  <bruno@clisp.org>
72677
72678         Ensure O(n) worst-case complexity of strcasestr substitute.
72679         * lib/strcasestr.c: Include stdbool.h.
72680         (knuth_morris_pratt): New function.
72681         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
72682         bookkeeping indicates that it's worth it.
72683         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
72684
72685         * modules/strcasestr-tests: New file.
72686         * tests/test-strcasestr.c: New file.
72687
72688 2007-02-11  Bruno Haible  <bruno@clisp.org>
72689
72690         Ensure O(n) worst-case complexity of c_strcasestr.
72691         * lib/c-strcasestr.c: Include stdbool.h, string.h.
72692         (knuth_morris_pratt): New function.
72693         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
72694         the bookkeeping indicates that it's worth it.
72695         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
72696
72697         * modules/c-strcasestr-tests: New file.
72698         * tests/test-c-strcasestr.c: New file.
72699
72700 2007-02-11  Bruno Haible  <bruno@clisp.org>
72701
72702         Ensure O(n) worst-case complexity of c_strstr.
72703         * lib/c-strstr.c: Include stdbool.h, string.h.
72704         (knuth_morris_pratt): New function.
72705         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
72706         bookkeeping indicates that it's worth it.
72707         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
72708
72709         * lib/c-strstr.c: Complete rewrite for maintainability.
72710
72711         * modules/c-strstr-tests: New file.
72712         * tests/test-c-strstr.c: New file.
72713
72714 2007-02-11  Bruno Haible  <bruno@clisp.org>
72715
72716         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
72717         5.2.1 and earlier, whereby \055 was treated just like the range
72718         delimiter '-'.
72719         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
72720
72721 2007-02-08  Bruno Haible  <bruno@clisp.org>
72722
72723         * modules/regex (Depends-on): Add stdbool.
72724         Reported by Dalibor Topic <robilad@kaffe.org>.
72725
72726 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
72727
72728         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
72729         Prefer returning from main to exiting from it.
72730         Remove unnecessary parens after sizeof.
72731
72732 2007-02-05  Bruno Haible  <bruno@clisp.org>
72733
72734         New module mbssep.
72735         * modules/mbssep: New file.
72736         * lib/mbssep.c: New file.
72737         * lib/string_.h (strsep): Add a conditional link warning.
72738         (mbssep): New declaration.
72739         * m4/mbssep.m4: New file.
72740         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72741         GNULIB_MBSSEP.
72742         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
72743         * MODULES.html.sh (Internationalization functions): Add mbssep.
72744
72745 2007-02-05  Bruno Haible  <bruno@clisp.org>
72746
72747         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
72748         Optimize search in case of 1 delimiter.
72749
72750 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
72751
72752         * lib/acl.h: Include sys/types.h before sys/acl.h.
72753
72754 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
72755
72756         Merge upstream fix for glibc bugzilla #3957:
72757
72758         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
72759
72760         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
72761         bit for RE_HAT_LISTS_NOT_NEWLINE.
72762         (build_charclass_op): Remove bogus comment.
72763
72764 2007-02-05  Simon Josefsson  <simon@josefsson.org>
72765
72766         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
72767
72768 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
72769
72770         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
72771         * lib/memmem.c [!defined _LIBC]: Include config.h.
72772
72773 2007-02-04  Bruno Haible  <bruno@clisp.org>
72774
72775         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
72776         warning message.
72777
72778 2007-02-04  Bruno Haible  <bruno@clisp.org>
72779
72780         New module mbstok_r.
72781         * modules/mbstok_r: New file.
72782         * lib/mbstok_r.c: New file.
72783         * lib/string_.h (strtok_r): Change argument names to match the
72784         comments. Add a conditional link warning.
72785         (mbstok_r): New declaration.
72786         * m4/mbstok_r.m4: New file.
72787         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72788         GNULIB_MBSTOK_R.
72789         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
72790         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
72791
72792 2007-02-04  Bruno Haible  <bruno@clisp.org>
72793
72794         New module mbsspn.
72795         * modules/mbsspn: New file.
72796         * lib/mbsspn.c: New file.
72797         * lib/string_.h (strspn): Add a conditional link warning.
72798         (mbsspn): New declaration.
72799         * m4/mbsspn.m4: New file.
72800         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72801         GNULIB_MBSSPN.
72802         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
72803         * MODULES.html.sh (Internationalization functions): Add mbsspn.
72804
72805 2007-02-04  Bruno Haible  <bruno@clisp.org>
72806
72807         New module mbspbrk.
72808         * modules/mbspbrk: New file.
72809         * lib/mbspbrk.c: New file.
72810         * lib/string_.h (strpbrk): Add a conditional link warning.
72811         (mbspbrk): New declaration.
72812         * m4/mbspbrk.m4: New file.
72813         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72814         GNULIB_MBSPBRK.
72815         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
72816         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
72817
72818 2007-02-04  Bruno Haible  <bruno@clisp.org>
72819
72820         New module mbscspn.
72821         * modules/mbscspn: New file.
72822         * lib/mbscspn.c: New file.
72823         * lib/string_.h (strcspn): Add a conditional link warning.
72824         (mbscspn): New declaration.
72825         * m4/mbscspn.m4: New file.
72826         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72827         GNULIB_MBSCSPN.
72828         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
72829         * MODULES.html.sh (Internationalization functions): Add mbscspn.
72830
72831 2007-02-04  Bruno Haible  <bruno@clisp.org>
72832
72833         New module mbscasestr, reduced goal of strcasestr.
72834         * modules/mbscasestr: New file.
72835         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
72836         (mbscasestr): Renamed from strcasestr.
72837         * lib/strcasestr.c: Don't include mbuiter.h.
72838         (strcasestr): Remove support for multibyte locales.
72839         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
72840         Change the conditional link warning.
72841         (mbscasestr): New declaration.
72842         * m4/mbscasestr.m4: New file.
72843         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
72844         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
72845         REPLACE_STRCASESTR.
72846         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
72847         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
72848         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
72849         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
72850         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
72851         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
72852         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
72853         (Depends-on): Remove mbuiter.
72854         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
72855
72856 2007-02-04  Bruno Haible  <bruno@clisp.org>
72857
72858         Simplify handling of strncasecmp.
72859         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
72860         the conditional link warning.
72861         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
72862         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
72863         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
72864         * modules/strcase (configure.ac): Don't invoke
72865         gl_STRING_MODULE_INDICATOR.
72866         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
72867
72868 2007-02-04  Bruno Haible  <bruno@clisp.org>
72869
72870         New module mbscasecmp, reduced goal of strcasecmp.
72871         * modules/mbscasecmp: New file.
72872         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
72873         (mbscasecmp): Renamed from strcasecmp.
72874         * lib/strcasecmp.c: Don't include mbuiter.h.
72875         (strcasecmp): Remove support for multibyte locales.
72876         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
72877         Change the conditional link warning.
72878         (mbscasecmp): New declaration.
72879         * m4/mbscasecmp.m4: New file.
72880         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
72881         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
72882         REPLACE_STRCASECMP.
72883         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
72884         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72885         GNULIB_MBSCASECMP.
72886         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
72887         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
72888         * modules/strcase (Files): Remove m4/mbrtowc.m4.
72889         (Depends-on): Remove mbuiter.
72890         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
72891
72892 2007-02-04  Bruno Haible  <bruno@clisp.org>
72893
72894         New module mbsstr. Remove module strstr.
72895         * modules/mbsstr: New file.
72896         * modules/strstr: Remove file.
72897         * lib/mbsstr.c: Renamed from lib/strstr.c.
72898         (mbsstr): Renamed from strstr.
72899         * lib/string_.h (strstr): Remove declaration. Change the conditional
72900         link warning.
72901         (mbsstr): New declaration.
72902         * m4/mbsstr.m4: New file.
72903         * m4/strstr.m4: Remove file.
72904         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
72905         REPLACE_STRSTR.
72906         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
72907         Don't initialize GNULIB_STRSTR.
72908         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
72909         substitute GNULIB_STRSTR and REPLACE_STRSTR.
72910         * MODULES.html.sh (Internationalization functions): Add mbsstr.
72911         (Support for systems lacking ANSI C 89): Remove strstr.
72912
72913 2007-02-04  Bruno Haible  <bruno@clisp.org>
72914
72915         New module mbsrchr.
72916         * modules/mbsrchr: New file.
72917         * lib/mbsrchr.c: New file.
72918         * lib/string_.h (strrchr): Add a conditional link warning.
72919         (mbsrchr): New declaration.
72920         * m4/mbsrchr.m4: New file.
72921         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72922         GNULIB_MBSRCHR.
72923         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
72924         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
72925
72926 2007-02-04  Bruno Haible  <bruno@clisp.org>
72927
72928         New module mbschr.
72929         * modules/mbschr: New file.
72930         * lib/mbschr.c: New file.
72931         * lib/string_.h (strchr): Add a conditional link warning.
72932         (mbschr): New declaration.
72933         * m4/mbschr.m4: New file.
72934         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72935         GNULIB_MBSCHR.
72936         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
72937         * MODULES.html.sh (Internationalization functions): Add mbschr.
72938
72939 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
72940
72941         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
72942
72943         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
72944
72945 2007-02-04  Bruno Haible  <bruno@clisp.org>
72946
72947         New module description section 'configure.ac-early'.
72948         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
72949         (func_get_autoconf_early_snippet): New function.
72950         (func_import, func_create_testdir): Use it. Remove special cases for
72951         modules 'extensions' and 'lock'.
72952         * modules/extensions (configure.ac-early): Require
72953         gl_USE_SYSTEM_EXTENSIONS.
72954         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
72955
72956 2007-02-04  Bruno Haible  <bruno@clisp.org>
72957
72958         Make use of gcj-4.3's -fsource and -ftarget option.
72959         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
72960         and if so try the options -fsource and -ftarget.
72961         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
72962         source_version, ftarget_option, target_version arguments.
72963         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
72964         (is_envjavac_oldgcj_14_14_usable): Renamed from
72965         is_envjavac_gcj_14_14_usable.
72966         (is_envjavac_oldgcj_14_13_usable): Renamed from
72967         is_envjavac_gcj_14_13_usable.
72968         (is_gcj_present): Update.
72969         (is_gcj_43, is_gcj43_usable): New functions.
72970         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
72971         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
72972         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
72973         try the options -fsource and -ftarget.
72974
72975 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
72976
72977         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
72978         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
72979         larger value.
72980
72981 2007-02-03  Jim Meyering  <jim@meyering.net>
72982
72983         Give tools a better chance to allocate space for very large buffers.
72984         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
72985
72986         Make pwd and readlink work also when run with an unreadable parent dir
72987         on systems with openat support.
72988         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
72989         provided getcwd function, even when we have openat support.
72990         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
72991
72992 2007-02-02  Bruno Haible  <bruno@clisp.org>
72993
72994         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
72995         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
72996         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
72997         portability problems if one of these functions is only used on specific
72998         platforms.
72999         Reported by Paul Eggert.
73000
73001 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
73002
73003         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
73004         is causing more trouble than it's curing.
73005         * lib/regex_internal.h (__mempcpy): Remove.
73006         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
73007         (and make the code a tad smaller to boot).
73008         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
73009
73010 2007-02-02  Jim Meyering  <jim@meyering.net>
73011
73012         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
73013         section, not in the Makefile.am: one.
73014
73015 2007-02-02  Eric Blake  <ebb9@byu.net>
73016
73017         * lib/strchrnul.c: Always include config.h first.
73018
73019         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
73020         gnulib strstr is not necessary here.
73021
73022 2007-02-02  Simon Josefsson  <simon@josefsson.org>
73023
73024         * m4/socklen.m4: Fix typo.
73025
73026 2007-02-02  Eric Blake  <ebb9@byu.net>
73027
73028         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
73029         * modules/netinet_in (Makefile.am): Likewise.
73030
73031 2007-02-01  Bruno Haible  <bruno@clisp.org>
73032
73033         * lib/string_.h (GL_LINK_WARNING): New macro.
73034         (strcasecmp, strstr, strcasestr): If provided by the system,
73035         conditionally define as a macro that leads to a warning instead of to
73036         an error.
73037         (strncasecmp): Conditionally define as a macro that leads to a warning.
73038
73039 2007-02-01  Karl Berry  <karl@gnu.org>
73040
73041         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
73042
73043 2007-02-01  Bruno Haible  <bruno@clisp.org>
73044
73045         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
73046         renamings.
73047
73048 2007-02-01  Eric Blake  <ebb9@byu.net>
73049
73050         * modules/regex (Depends-on): Revert dependence on mempcpy.
73051         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
73052         module's definition of mempcpy.
73053         Reported by Paul Eggert.
73054
73055 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73056
73057         * lib/string_.h: If the gnulib module XYZ is not present, undefine
73058         the symbol XYZ before redefining it.  This fixes a problem with
73059         programs that don't use XYZ, when compiled on systems that define
73060         XYZ to something else.
73061
73062 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
73063
73064         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
73065         occurs when "mkdir -m foo" creates a setgid directory that is (1)
73066         writeable to group or other and (2) is intended to have a special
73067         mode bit that is set or cleared.  In such a case, the directory
73068         should be neither group- nor other-writeable until the special
73069         mode bits are right.
73070
73071 2007-01-31  Eric Blake  <ebb9@byu.net>
73072
73073         * modules/mountlist (Depends-on): Add strstr.
73074
73075         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
73076         bug.
73077         * modules/string (Makefile.am): Remove redundant replacement.
73078         * modules/regex (Depends-on): Add mempcpy.
73079
73080 2007-01-31  Bruno Haible  <bruno@clisp.org>
73081
73082         New module description field 'Link'.
73083         * gnulib-tool (func_usage): Document --extract-link-directive.
73084         (sed_extract_prog): Recognize 'Link' directive.
73085         (func_get_link_directive): New function.
73086         (func_import): Show summary of link directives.
73087         Handle --extract-link-directive option.
73088         * modules/acl (Link): New section.
73089         * modules/clock-time (Link): New section.
73090         * modules/euidaccess (Link): New section.
73091         * modules/gettext (Link): New section.
73092         * modules/iconv (Link): New section.
73093         * modules/lock (Link): New section.
73094         * modules/nanosleep (Link): New section.
73095         * modules/readline (Link): New section.
73096
73097 2007-01-27  Bruno Haible  <bruno@clisp.org>
73098
73099         Enforce the use of gnulib modules for unportable <string.h> functions.
73100         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
73101         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
73102         (gl_HEADER_STRING_H_BODY): Require it.
73103         * lib/string_.h: If the gnulib module XYZ is not present, redefine
73104         the symbol XYZ to one that gives a link error.
73105         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
73106         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
73107         * modules/mempcpy (configure.ac): Likewise.
73108         * modules/memrchr (configure.ac): Likewise.
73109         * modules/stpcpy (configure.ac): Likewise.
73110         * modules/stpncpy (configure.ac): Likewise.
73111         * modules/strcase (configure.ac): Likewise.
73112         * modules/strcasestr (configure.ac): Likewise.
73113         * modules/strchrnul (configure.ac): Likewise.
73114         * modules/strdup (configure.ac): Likewise.
73115         * modules/strndup (configure.ac): Likewise.
73116         * modules/strnlen (configure.ac): Likewise.
73117         * modules/strpbrk (configure.ac): Likewise.
73118         * modules/strsep (configure.ac): Likewise.
73119         * modules/strstr (configure.ac): Likewise.
73120         * modules/strtok_r (configure.ac): Likewise.
73121
73122 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
73123
73124         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
73125
73126 2007-01-30  Jim Meyering  <jim@meyering.net>
73127
73128         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
73129
73130 2007-01-29  Bruno Haible  <bruno@clisp.org>
73131
73132         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
73133         * lib/execute.c: Likewise.
73134         * lib/pipe.c: Likewise.
73135         * lib/printf-args.h: Likewise.
73136         * lib/printf-args.c: Likewise.
73137         * lib/printf-parse.c: Likewise.
73138         * lib/vasnprintf.c: Likewise.
73139
73140 2007-01-29  Eric Blake  <ebb9@byu.net>
73141
73142         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
73143         declaration.
73144
73145 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
73146
73147         * lib/strptime.h (strptime): Use 'restrict' for args where
73148         POSIX requires this.
73149         * lib/strptime.c (strptime): Likewise.
73150         Change license notice from LGPL to GPL, since gnulib-tool will
73151         change this as needed.
73152         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
73153         defined.
73154         Include "strptime.h" first, to check interface.
73155         Do not #undef _LIBC and _NL_CURRENT.
73156         Do not include <stdlib.h>; no longer needed.
73157         Include "time_r.h" and declare ptime_locale_status
73158         only if _LIBC is not defined.
73159         (__P): Remove unused macro.
73160         (match_string): Bring back glibc version, but use it only if _LIBC
73161         is defined.
73162         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
73163         Remove unnecessary assertion and abort() call.
73164         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
73165         * m4/strptime.m4: Fix serial number comment.
73166         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
73167         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
73168         (Depends-on): Add time_r.
73169
73170 2007-01-29  Bruno Haible  <bruno@clisp.org>
73171
73172         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73173         strptime.
73174         * modules/strptime (Depends-on): Add stdbool.
73175         * lib/strptime.h: Include <time.h> always. Add comments.
73176
73177 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73178
73179         * modules/strptime: New file.
73180         * lib/strptime.h: New file.
73181         * lib/strptime.c: New file.
73182         * m4/strptime.m4: New file.
73183
73184 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73185
73186         * MODULES.html.sh: New module mpsort.
73187         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
73188
73189         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
73190         a circularity problem with HP-UX ia64 reported by Bob Proulx in
73191         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
73192         All uses changed.
73193         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
73194         All uses changed.
73195         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
73196         to _Restrict_.
73197         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
73198         the parameter matches the prototype.
73199
73200 2007-01-28  Jim Meyering  <jim@meyering.net>
73201
73202         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
73203         sys/time.h here, reverting that part of the previous patch:
73204         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
73205
73206 2007-01-28  Bruno Haible  <bruno@clisp.org>
73207
73208         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
73209         value of $(SYS_TIME_H).
73210         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
73211         remove it conditionally, too. [added by Jim Meyering]
73212         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
73213         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
73214         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
73215         GETTIMEOFDAY_REPLACEMENT to 1.
73216
73217 2007-01-28  Bruno Haible  <bruno@clisp.org>
73218
73219         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
73220         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
73221         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
73222         Set UNISTD_H instead of UNISTD_H2.
73223         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
73224
73225 2007-01-28  Bruno Haible  <bruno@clisp.org>
73226
73227         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
73228         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
73229
73230 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73231
73232         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
73233         (func_create_testdir): Ensure C locale for `grep' and `tr'
73234         character ranges.
73235         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
73236         ACLOCAL_AMFLAGS parsing state machine.
73237
73238 2007-01-27  Bruno Haible  <bruno@clisp.org>
73239
73240         * modules/unistr/base: Update.
73241
73242 2007-01-27  Bruno Haible  <bruno@clisp.org>
73243
73244         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
73245         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
73246         * modules/unistr/u32-mbtouc-unsafe: Renamed from
73247         modules/unistr/u32-mbtouc.
73248         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
73249         * lib/unistr.h: Update.
73250         * lib/linebreak.c: Update.
73251         * modules/unistr/u32-mbtouc: Renamed from
73252         modules/unistr/u32-mbtouc-safe.
73253         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
73254         * lib/unistr.h: Update.
73255         * lib/unistr/u32-to-u8.c: Update.
73256         * lib/unistr/u32-to-u16.c: Update.
73257
73258 2007-01-27  Bruno Haible  <bruno@clisp.org>
73259
73260         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
73261         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
73262         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
73263         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
73264         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
73265         * modules/unistr/u16-mbtouc-unsafe: Renamed from
73266         modules/unistr/u16-mbtouc.
73267         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
73268         * lib/unistr.h: Update.
73269         * lib/linebreak.c: Update.
73270         * modules/linebreak: Update.
73271         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
73272         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
73273         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
73274         * modules/unistr/u16-mbtouc: Renamed from
73275         modules/unistr/u16-mbtouc-safe.
73276         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
73277         * lib/unistr.h: Update.
73278         * lib/unistr/u16-to-u8.c: Update.
73279         * modules/unistr/u16-to-u8: Update.
73280         * lib/unistr/u16-to-u32.c: Update.
73281         * modules/unistr/u16-to-u32: Update.
73282
73283 2007-01-27  Bruno Haible  <bruno@clisp.org>
73284
73285         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
73286         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
73287         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
73288         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
73289         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
73290         * modules/unistr/u8-mbtouc-unsafe: Renamed from
73291         modules/unistr/u8-mbtouc.
73292         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
73293         * lib/unistr.h: Update.
73294         * lib/striconveh.c: Update.
73295         * modules/striconveh: Update.
73296         * lib/linebreak.c: Update.
73297         * modules/linebreak: Update.
73298         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
73299         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
73300         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
73301         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
73302         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
73303         * lib/unistr.h: Update.
73304         * lib/striconveh.c: Update.
73305         * modules/striconveh: Update.
73306         * lib/unistr/u8-to-u16.c: Update.
73307         * modules/unistr/u8-to-u16: Update.
73308         * lib/unistr/u8-to-u32.c: Update.
73309         * modules/unistr/u8-to-u32: Update.
73310
73311 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73312
73313         Sync from Libtool.
73314         * lib/argz.c: Do not include strings.h nor memory.h, include
73315         string.h unconditionally.  Patch by Simon Josefsson.
73316
73317 2007-01-27  Bruno Haible  <bruno@clisp.org>
73318
73319         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
73320         from gl_HEADER_STRING_H_BODY.
73321         (gl_HEADER_STRING_H_BODY): Require it.
73322         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
73323         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
73324         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
73325         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
73326         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
73327         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
73328         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
73329         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
73330         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
73331         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
73332         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
73333         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
73334         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
73335         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
73336         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73337
73338 2007-01-27  Bruno Haible  <bruno@clisp.org>
73339
73340         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
73341         check_PROGRAMS into noinst_PROGRAMS.
73342         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
73343         check_PROGRAMS in this case.
73344         (func_import): Set for_test to false.
73345         (func_create_testdir): Set for_test to true.
73346
73347 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
73348             Bruno Haible  <bruno@clisp.org>
73349
73350         * modules/strcasestr (Files): Remove lib/strcasestr.h.
73351         (Depends-on): Add string.
73352         (Includes): Use <string.h> instead of strcasestr.h.
73353         * modules/string (Makefile.am): Also substitute the value of
73354         REPLACE_STRCASESTR.
73355         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
73356         assume strcasestr is declared in <string.h> not <strings.h>. Also
73357         set REPLACE_STRCASESTR.
73358         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
73359         REPLACE_STRCASESTR.
73360         * lib/strcasestr.h: Remove file.
73361         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
73362         * lib/string_.h (strcasestr): New declaration.
73363
73364 2007-01-27  Bruno Haible  <bruno@clisp.org>
73365
73366         * lib/string_.h: Use 'extern'.
73367
73368 2007-01-27  Jim Meyering  <jim@meyering.net>
73369
73370         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
73371         of set-but-not-used local, "q".
73372
73373         * lib/mempcpy.c: Include <config.h> before <string.h>.
73374         This fixes a compilation error on HP-UX, due to the system's
73375         "restrict"-using mempcpy prototype.
73376
73377 2007-01-26  Bruno Haible  <bruno@clisp.org>
73378
73379         Small optimization.
73380         * lib/javacomp.c: Include c-strstr.h.
73381          (is_envjavac_gcj): Use c_strstr instead of strstr.
73382         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
73383
73384 2007-01-26  Bruno Haible  <bruno@clisp.org>
73385
73386         * MODULES.html.sh (Unicode string functions): Add the new modules.
73387
73388         * modules/uniconv/u32-strconv-to-locale: New file.
73389         * lib/uniconv/u32-strconv-to-locale.c: New file.
73390
73391         * modules/uniconv/u16-strconv-to-locale: New file.
73392         * lib/uniconv/u16-strconv-to-locale.c: New file.
73393
73394         * modules/uniconv/u8-strconv-to-locale: New file.
73395         * lib/uniconv/u8-strconv-to-locale.c: New file.
73396
73397         * modules/uniconv/u32-strconv-from-locale: New file.
73398         * lib/uniconv/u32-strconv-from-locale.c: New file.
73399
73400         * modules/uniconv/u16-strconv-from-locale: New file.
73401         * lib/uniconv/u16-strconv-from-locale.c: New file.
73402
73403         * modules/uniconv/u8-strconv-from-locale: New file.
73404         * lib/uniconv/u8-strconv-from-locale.c: New file.
73405
73406         * modules/uniconv/u32-strconv-to-enc: New file.
73407         * lib/uniconv/u32-strconv-to-enc.c: New file.
73408         * modules/uniconv/u32-strconv-to-enc-tests: New file.
73409         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
73410
73411         * modules/uniconv/u16-strconv-to-enc: New file.
73412         * lib/uniconv/u16-strconv-to-enc.c: New file.
73413         * lib/uniconv/u-strconv-to-enc.h: New file.
73414         * modules/uniconv/u16-strconv-to-enc-tests: New file.
73415         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
73416
73417         * modules/uniconv/u8-strconv-to-enc: New file.
73418         * lib/uniconv/u8-strconv-to-enc.c: New file.
73419         * modules/uniconv/u8-strconv-to-enc-tests: New file.
73420         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
73421
73422         * modules/uniconv/u32-strconv-from-enc: New file.
73423         * lib/uniconv/u32-strconv-from-enc.c: New file.
73424         * modules/uniconv/u32-strconv-from-enc-tests: New file.
73425         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
73426
73427         * modules/uniconv/u16-strconv-from-enc: New file.
73428         * lib/uniconv/u16-strconv-from-enc.c: New file.
73429         * modules/uniconv/u16-strconv-from-enc-tests: New file.
73430         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
73431
73432         * modules/uniconv/u8-strconv-from-enc: New file.
73433         * lib/uniconv/u8-strconv-from-enc.c: New file.
73434         * lib/uniconv/u-strconv-from-enc.h: New file.
73435         * modules/uniconv/u8-strconv-from-enc-tests: New file.
73436         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
73437
73438         * modules/uniconv/u32-conv-from-enc: New file.
73439         * lib/uniconv/u32-conv-from-enc.c: New file.
73440         * modules/uniconv/u32-conv-from-enc-tests: New file.
73441         * tests/uniconv/test-u32-conv-from-enc.c: New file.
73442
73443         * modules/uniconv/u16-conv-from-enc: New file.
73444         * lib/uniconv/u16-conv-from-enc.c: New file.
73445         * lib/uniconv/u-conv-from-enc.h: New file.
73446         * modules/uniconv/u16-conv-from-enc-tests: New file.
73447         * tests/uniconv/test-u16-conv-from-enc.c: New file.
73448
73449         * modules/uniconv/u8-conv-from-enc: New file.
73450         * lib/uniconv/u8-conv-from-enc.c: New file.
73451         * modules/uniconv/u8-conv-from-enc-tests: New file.
73452         * tests/uniconv/test-u8-conv-from-enc.c: New file.
73453
73454         * modules/uniconv/base: New file.
73455         * lib/uniconv.h: New file.
73456
73457 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
73458
73459         * doc/gnulib-tool.texi (Initial import): Update to match current
73460         behavior with strdup module.
73461         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
73462         * lib/memmem.h: Remove; all uses removed.  This is now done
73463         by <string.h>.
73464         * lib/mempcpy.h: Likewise.
73465         * lib/memrchr.h: Likewise.
73466         * lib/stpcpy.h: Likewise.
73467         * lib/stpncpy.h: Likewise.
73468         * lib/strcase.h: Likewise.
73469         * lib/strchrnul.h: Likewise.
73470         * lib/strdup.h: Likewise.
73471         * lib/strndup.h: Likewise.
73472         * lib/strnlen.h: Likewise.
73473         * lib/strpbrk.h: Likewise.
73474         * lib/strsep.h: Likewise.
73475         * lib/strstr.h: Likewise.
73476         * lib/strtok_r.h: Likewise.
73477         * lib/string_.h: New file.
73478         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
73479         Rely on <string.h> instead.
73480         * lib/canon-host.c: Likewise.
73481         * lib/chdir-long.c: Likewise.
73482         * lib/concatpath.c: Likewise.
73483         * lib/exclude.c: Likewise.
73484         * lib/fchdir.c: Likewise.
73485         * lib/getaddrinfo.c: Likewise.
73486         * lib/getcwd.c: Likewise.
73487         * lib/getsubopt.c: Likewise.
73488         * lib/glob.c: Likewise.
73489         * lib/hard-locale.c: Likewise.
73490         * lib/iconvme.c: Likewise.
73491         * lib/javacomp.c: Likewise.
73492         * lib/mempcpy.c: Likewise.
73493         * lib/memrchr.c: Likewise.
73494         * lib/regex_internal.h: Likewise.
73495         * lib/stpncpy.c: Likewise.
73496         * lib/strcasecmp.c: Likewise.
73497         * lib/strchrnul.c: Likewise.
73498         * lib/strdup.c: Likewise.
73499         * lib/striconv.c: Likewise.
73500         * lib/striconveh.c: Likewise.
73501         * lib/striconveha.c: Likewise.
73502         * lib/strncasecmp.c: Likewise.
73503         * lib/strndup.c: Likewise.
73504         * lib/strnlen.c: Likewise.
73505         * lib/strsep.c: Likewise.
73506         * lib/strstr.c: Likewise.
73507         * lib/strtok_r.c: Likewise.
73508         * lib/userspec.c: Likewise.
73509         * lib/w32spawn.h: Likewise.
73510         * lib/xstrndup.c: Likewise.
73511         * lib/mountlist.c (strstr): Remove decl.
73512         * m4/string_h.m4: New file.
73513         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
73514         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
73515         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
73516         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
73517         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
73518         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
73519         Set REPLACE_STRCASECMP if necessary.
73520         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
73521         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
73522         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
73523         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
73524         HAVE_DECL_STRDUP if necessary.
73525         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
73526         since gl_FUNC_STRNDUP does that now.
73527         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
73528         Check for decl here...
73529         (gl_PREREQ_STRNLEN): ... not here.
73530         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
73531         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
73532         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
73533         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
73534         necessary.
73535         * modules/string: New file.
73536         * modules/memmem (Files): Remove special-purpose include file.
73537         (Depends-on): Add string.
73538         (Include): Include <string.h>, not the removed file.
73539         * modules/mempcpy: Likewise.
73540         * modules/memrchr: Likewise.
73541         * modules/stpcpy: Likewise.
73542         * modules/stpncpy: Likewise.
73543         * modules/strcase: Likewise.
73544         * modules/strchrnul: Likewise.
73545         * modules/strdup: Likewise.
73546         * modules/strndup: Likewise.
73547         * modules/strnlen: Likewise.
73548         * modules/strpbrk: Likewise.
73549         * modules/strsep: Likewise.
73550         * modules/strstr: Likewise.
73551         * modules/strtok_r: Likewise.
73552         * tests/test-dirname.c: Don't include "strdup.h", since
73553         <string.h> now suffices.
73554         * tests/test-memmem.c: Don't include "memmem.h", since
73555         <string.h> now suffices.
73556
73557 2007-01-25  Bruno Haible  <bruno@clisp.org>
73558
73559         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
73560         *resultp is 0.
73561
73562         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
73563         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
73564         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
73565         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
73566
73567         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
73568         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
73569         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
73570         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
73571         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
73572         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
73573
73574 2007-01-24  Bruno Haible  <bruno@clisp.org>
73575
73576         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
73577         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
73578         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
73579         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
73580         gl_FUNC_FTS_CORE.
73581         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
73582         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
73583         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
73584         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
73585         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
73586         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
73587         gl_FUNC_FCHOWNAT.
73588         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
73589         gl_FUNC_STRFTIME.
73590         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
73591         Reported by Ralf Wildenhues.
73592
73593 2007-01-24  Bruno Haible  <bruno@clisp.org>
73594
73595         Drop AC_REQUIRE calls that are redundant with the module dependencies.
73596         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
73597         gl_GETADDRINFO.
73598         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
73599         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
73600         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
73601
73602 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
73603
73604         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
73605         Don't use 'exit'; just return from 'main'.
73606         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
73607
73608         * lib/fnmatch_.h: Readjust white space and comments to match
73609         glibc, to avoid spurious diffs.
73610
73611 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73612
73613         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
73614         2004-12-01 change by Jakub Jelinek, since this code won't compile
73615         if !LIBC.  Problem reported by Bob Proulx.
73616
73617 2007-01-23  Bruno Haible  <bruno@clisp.org>
73618
73619         * lib/striconveh.c: Include c-strcaseeq.h.
73620         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
73621         * modules/striconveh (Depends-on): Add c-strcaseeq.
73622
73623 2007-01-23  Bruno Haible  <bruno@clisp.org>
73624
73625         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
73626
73627         * modules/c-strcaseeq: New file.
73628         * lib/c-strcaseeq.h: New file.
73629
73630         * modules/streq: New file.
73631         * lib/streq.h: New file.
73632
73633 2007-01-23  Bruno Haible  <bruno@clisp.org>
73634
73635         * modules/striconveha-tests: New file.
73636         * tests/test-striconveha.c: New file.
73637
73638         * lib/striconveha.h: Include <stdbool.h>.
73639         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
73640         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
73641         (mem_iconveha_notranslit): Renamed from mem_iconveha.
73642         (mem_iconveha): New function.
73643         (str_iconveha_notranslit): Renamed from str_iconveha.
73644         (str_iconveha): New function.
73645         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
73646         c-strcase.
73647
73648 2007-01-23  Bruno Haible  <bruno@clisp.org>
73649
73650         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
73651         encodings without forgiving before trying any encoding with handler.
73652         (str_iconveha): Try all encodings without forgiving before trying any
73653         encoding with handler.
73654
73655 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73656
73657         Import the following changes from libc.
73658
73659         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
73660
73661         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
73662
73663         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
73664
73665         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
73666         normal_bracket label.
73667
73668         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
73669
73670         [BZ #361]
73671         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
73672         to normal_bracket after fetching the next character.
73673
73674 2007-01-22  Bruno Haible  <bruno@clisp.org>
73675
73676         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
73677         argument.
73678         * lib/striconveh.c (iconv_carefully_1): New function.
73679         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
73680         argument.
73681         (str_cd_iconveh): Update.
73682         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
73683         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
73684         * tests/test-striconveh.c (MAGIC): New macro.
73685         (new_offsets): New function.
73686         (main): Test call with and without offsets.
73687
73688 2007-01-22  Bruno Haible  <bruno@clisp.org>
73689
73690         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
73691         * modules/sys_select (Makefile.am): Likewise.
73692         * modules/sys_socket (Makefile.am): Likewise.
73693         * modules/sys_time (Makefile.am): Likewise.
73694
73695 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
73696
73697         * modules/gettimeofday (License): Change from GPL to LGPL, since
73698         gettimeofday is a library function.
73699
73700 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73701
73702         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
73703
73704 2007-01-21  Bruno Haible  <bruno@clisp.org>
73705
73706         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
73707
73708 2007-01-21  Bruno Haible  <bruno@clisp.org>
73709
73710         * modules/striconveha: New file.
73711         * lib/striconveha.h: New file.
73712         * lib/striconveha.c: New file.
73713         * MODULES.html.sh (Internationalization functions): Add striconveha.
73714         * lib/striconv.c (str_iconv): Optimize the case of an empty input
73715         string.
73716         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
73717
73718 2007-01-21  Bruno Haible  <bruno@clisp.org>
73719
73720         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
73721         * lib/striconveh.c (str_iconveh): Likewise.
73722
73723 2007-01-21  Bruno Haible  <bruno@clisp.org>
73724
73725         * lib/striconveh.h (mem_iconveh): New declaration.
73726         * lib/striconveh.c (mem_iconveh): New function.
73727         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
73728
73729 2007-01-21  Bruno Haible  <bruno@clisp.org>
73730
73731         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
73732
73733         * lib/striconveh.h (mem_cd_iconveh): Change specification.
73734         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
73735         original result buffer.
73736         (str_cd_iconveh): Update.
73737         * tests/test-striconveh.c (main): Update.
73738
73739         * lib/striconv.h (mem_cd_iconv): Change specification.
73740         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
73741         result buffer.
73742         (str_cd_iconv): Update.
73743         * tests/test-striconv.c (main): Update.
73744
73745 2007-01-21  Bruno Haible  <bruno@clisp.org>
73746
73747         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
73748
73749 2007-01-20  Jim Meyering  <jim@meyering.net>
73750
73751         * lib/userspec.c (parse_with_separator): If a user or group string
73752         starts with "+", skip the corresponding name-to-ID look-up, since
73753         such a look-up must fail: user and group names may not include "+".
73754
73755 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
73756
73757         * lib/poll.c: Include sys/time.h and time.h unconditionally,
73758         since we now assume the sys_time module.
73759         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
73760         check for sys/time.h; no longer needed.
73761         * modules/poll (Depends-on): Depend on sys_time.
73762
73763 2007-01-18  Bruno Haible  <bruno@clisp.org>
73764
73765         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
73766         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
73767
73768         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
73769         gettimeofday.
73770
73771         * tests/test-gettimeofday.c: Include <time.h>.
73772         (dummy): Remove variable.
73773
73774         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
73775         gl_HEADER_SYS_TIME_H.
73776         (gl_HEADER_SYS_TIME_H): New macro.
73777
73778         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
73779         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73780         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
73781         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
73782         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73783         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
73784         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
73785         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73786         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
73787         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
73788         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73789
73790         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
73791         last change; it caused a compilation error when cross-compiling to
73792         Cygwin.
73793
73794 2007-01-18  Jim Meyering  <jim@meyering.net>
73795
73796         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
73797         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
73798         than the race-prone "test -d sys || mkdir sys".
73799         (configure.ac): Use AC_PROG_MKDIR_P.
73800         * modules/sys_select: Likewise.
73801         * modules/sys_socket: Likewise.
73802         * modules/sys_time: Likewise.
73803
73804 2007-01-18  Eric Blake  <ebb9@byu.net>
73805
73806         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
73807         replace gettimeofday.
73808         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
73809         name, to avoid infinite recursion.
73810
73811 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
73812
73813         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
73814         module sys_time.
73815         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
73816         assume timespec.h defines struct timeval.
73817         * lib/settime.c: Likewise.
73818         * lib/utimens.c: Likewise.
73819         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
73820         since we now assume the gettimeofday module.
73821         * lib/tempname.c (__gen_tempname): Likewise.
73822         * lib/gettimeofday.h: Remove.
73823         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
73824         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
73825         Include <time.h>, for 'time()'.
73826         (localtime_buffer_addr): Also use this workaround if
73827         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
73828         to simplify the uses.  All uses changed.
73829         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
73830         that #undef is inside {}, and 'const' follows type name consistently.
73831         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
73832         (gettimeofday): Do not use the maximum possible value for
73833         tv->tv_usec, since that might break usages other than ls.c.
73834         Instead, we'll leave ls.c alone.  This undoes today's patch
73835         by Bruno.  Add a compile-time warning for 1s-clock resolution;
73836         we've never observed the problem but might as well keep the
73837         canary.
73838         * lib/nanosleep.c: Include timespec.h first, for interface check.
73839         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
73840         now assume the sys_time module.
73841         * lib/tempname.c: Likewise.
73842         * lib/timespec.h: Likewise.
73843         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
73844         needed.
73845         * lib/strftime.c: Likewise.
73846         * lib/timespec.h: Likewise.
73847         * lib/posixtm.c: Include posixtm.h first, for interface check.
73848         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
73849         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
73850         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
73851         * lib/sys_time_.h: New file.
73852         * lib/timespec.h (struct timespec): Use long int, not long.
73853         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
73854         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
73855         Remove obsolescent call to AC_HEADER_TIME.
73856         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
73857         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
73858         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
73859         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
73860         Likewise.
73861         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
73862         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
73863         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
73864         into the sys_time module.  Check for gettimeofday just once.
73865         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
73866         for gettimeofday signature to just check the signature.  Merely
73867         compile it, since linking doesn't test signature.  Improve test for
73868         whether gettimeofday.o is actually needed.
73869         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
73870         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
73871         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
73872         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73873         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
73874         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
73875         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
73876         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
73877         than worrying about sys/time.h.
73878         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
73879         Don't bother worrying about TIME_WITH_SYS_TIME.
73880         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
73881         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
73882         * m4/sys_time_h.m4: New file.
73883         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
73884         Don't include sys/time.h.  Return from main rather than exiting.
73885         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
73886         all uses changed.
73887         * modules/gethrxtime (Depends-on): Add sys_time.
73888         * modules/gettime (Depends-on): Likewise.
73889         * modules/gettimeofday (Depends-on): Likewise.
73890         * modules/nanosleep (Depends-on): Likewise.
73891         * modules/settime (Depends-on): Likewise.
73892         * modules/tempname (Depends-on): Likewise.
73893         * modules/utimens (Depends-on): Likewise.
73894         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
73895         (Include): Change back to <sys/time.h>.
73896         (Maintainer): Add self.
73897         * modules/sys_time: New file.
73898         * modules/tempname (Depends-on): Add gettimeofday.
73899         * tests/test-gettimeofday.c: Include <sys/time.h>
73900         rather than gettimeofday.h.
73901
73902 2007-01-17  Bruno Haible  <bruno@clisp.org>
73903
73904         * gnulib-tool (func_get_license): Revert last patch. Instead, let
73905         the license default to GPL.
73906         (func_create_testdir): Don't complain if a module is LGPL and its
73907         tests module depends on GPLed modules.
73908
73909 2007-01-17  Bruno Haible  <bruno@clisp.org>
73910
73911         * lib/gettimeofday.c (gettimeofday): Add code for the case
73912         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
73913         maximum possible value for tv->tv_usec, rather than the minimum one.
73914
73915 2005-10-08  Martin Lambers  <marlam@marlam.de>
73916 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
73917 2007-01-16  Bruno Haible  <bruno@clisp.org>
73918
73919         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
73920         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
73921         gl_FUNC_GETTIMEOFDAY.
73922         (Include): Add gettimeofday.h.
73923         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
73924         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
73925         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
73926         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
73927         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
73928         * lib/gettimeofday.h: New file.
73929         * lib/gettimeofday.c: Include <sys/timeb.h>.
73930         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
73931         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73932         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
73933         fall back on time().
73934
73935         * tests/test-gettimeofday.c: New file.
73936         * modules/gettimeofday-tests: New file.
73937
73938 2007-01-16  Eric Blake  <ebb9@byu.net>
73939
73940         * modules/fnmatch (Depends-on): Depend on wchar.
73941         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
73942         * m4/fnmatch.m4: Likewise.
73943         * modules/mbchar (Makefile.am): Assume <wchar.h>.
73944         * m4/mbchar.m4: Likewise.
73945         * modules/mbswidth (Depends-on): Depend on wchar.
73946         * lib/mbswidth.c: Assume <wchar.h>.
73947         * m4/mbswidth.m4: Likewise.
73948         * modules/quotearg (Depends-on): Depend on wchar.
73949         * lib/quotearg.c: Assume <wchar.h>.
73950         * m4/quotearg.m4: Likewise.
73951         * modules/regex (Depends-on): Depend on wchar.
73952         * lib/regex_internal.h: Assume <wchar.h>.
73953         * m4/regex.m4: Likewise.
73954         * modules/stdint (Depends-on): Depend on wchar.
73955         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
73956         * m4/stdint.m4: Likewise.
73957         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
73958         * modules/strftime (Depends-on): Depend on wchar.
73959         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
73960         * modules/strtol (Depends-on): Depend on wchar.
73961         * lib/strtol.c: Assume <wchar.h>.
73962         * modules/wcwidth (Depends-on): Depend on wchar.
73963         * lib/wcwidth.h: Assume <wchar.h>.
73964         * m4/wcwidth.m4: Likewise.
73965
73966 2007-01-16  Bruno Haible  <bruno@clisp.org>
73967
73968         * modules/csharpexec-script: New, created from...
73969         * modules/csharpexec: ... this.
73970
73971 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
73972
73973         * modules/javaexec-script: New, created from...
73974         * modules/javaexec: ... this.
73975
73976 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73977
73978         * modules/poll (Dependencies): Add sys_select.
73979
73980 2007-01-15  Jim Meyering  <jim@meyering.net>
73981
73982         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
73983         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
73984         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
73985         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
73986
73987 2007-01-15  Bruno Haible  <bruno@clisp.org>
73988
73989         * modules/striconveh: New file.
73990         * lib/striconveh.h: New file.
73991         * lib/striconveh.c: New file.
73992         * MODULES.html.sh (Internationalization functions): Add striconveh.
73993
73994         * modules/striconveh-tests: New file.
73995         * tests/test-striconveh.c: New file.
73996
73997 2007-01-15  Bruno Haible  <bruno@clisp.org>
73998
73999         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
74000         not from GNU libiconv or GNU libc.
74001
74002 2007-01-15  Bruno Haible  <bruno@clisp.org>
74003
74004         * doc/gnulib-intro.texi (Copyright): Explain the different license
74005         terms for module descriptions, autoconf macros, tests, documentation.
74006
74007 2007-01-14  Bruno Haible  <bruno@clisp.org>
74008
74009         * modules/striconv-tests: New file.
74010         * tests/test-striconv.c: New file.
74011
74012 2007-01-14  Bruno Haible  <bruno@clisp.org>
74013
74014         * modules/iconv-tests: New file.
74015         * tests/test-iconv.c: New file.
74016
74017 2007-01-14  Bruno Haible  <bruno@clisp.org>
74018
74019         * gnulib-tool (func_get_license): For test modules, use the license of
74020         the main module.
74021
74022 2007-01-14  Bruno Haible  <bruno@clisp.org>
74023
74024         * modules/iconv (Include): Clarify that <iconv.h> can only be included
74025         if iconv is found to exist.
74026
74027 2007-01-14  Bruno Haible  <bruno@clisp.org>
74028
74029         * modules/c-ctype-tests: New file.
74030         * tests/test-c-ctype.c: New file.
74031
74032 2007-01-14  Bruno Haible  <bruno@clisp.org>
74033
74034         * modules/binary-io-tests: New file.
74035         * tests/test-binary-io.sh: New file.
74036         * tests/test-binary-io.c: New file.
74037
74038 2007-01-14  Bruno Haible  <bruno@clisp.org>
74039
74040         * modules/array-oset-tests: New file.
74041         * tests/test-array_oset.c: New file.
74042
74043 2007-01-14  Bruno Haible  <bruno@clisp.org>
74044
74045         * modules/array-list-tests: New file.
74046         * tests/test-array_list.c: New file.
74047
74048 2007-01-14  Bruno Haible  <bruno@clisp.org>
74049
74050         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
74051         and make.
74052         Reported by Simon Josefsson in
74053         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
74054
74055 2007-01-14  Bruno Haible  <bruno@clisp.org>
74056
74057         * modules/allocsa-tests: New file.
74058         * tests/test-allocsa.c: New file.
74059
74060 2007-01-14  Bruno Haible  <bruno@clisp.org>
74061
74062         * modules/fchdir (Depends-on): Add absolute-header.
74063         * modules/unistd (Depends-on): Likewise.
74064
74065 2006-12-30  Bruno Haible  <bruno@clisp.org>
74066
74067         * modules/fchdir: New file.
74068         * modules/unistd (Files): Add lib/unistd_.h.
74069         (Makefile.am): Generate unistd.h from unistd_.h.
74070         * lib/fchdir.c: New file.
74071         * lib/dirent_.h: New file.
74072         * lib/unistd_.h: New file.
74073         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
74074         * m4/fchdir.m4: New file.
74075         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
74076         (gl_HEADER_UNISTD): Invoke it.
74077         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
74078         function.
74079         * lib/backupfile.c (opendir, closedir): Undefine.
74080         * lib/chown.c (open, close): Undefine.
74081         * lib/clean-temp.c (open, close): Undefine.
74082         * lib/copy-file.c (open, close): Undefine.
74083         * lib/execute.c (open, close): Undefine.
74084         * lib/fsusage.c (open, close): Undefine.
74085         * lib/gc-gnulib.c (open, close): Undefine.
74086         * lib/getcwd.c (opendir, closedir): Undefine.
74087         * lib/glob.c (opendir, closedir): Undefine.
74088         * lib/javacomp.c (open, close): Undefine.
74089         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
74090         * lib/openat-proc.c (open, close): Undefine.
74091         * lib/pagealign_alloc.c (open, close): Undefine.
74092         * lib/pipe.c (open, close): Undefine.
74093         * lib/progreloc.c (open, close): Undefine.
74094         * lib/savedir.c (opendir, closedir): Undefine.
74095         * lib/utime.c (open, close): Undefine.
74096         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
74097
74098 2007-01-10  Bruno Haible  <bruno@clisp.org>
74099
74100         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
74101
74102 2007-01-12  Eric Blake  <ebb9@byu.net>
74103
74104         Provide a robust <wchar.h>.  Further simplifications are now
74105         possible in other modules, but not included here.
74106         * modules/wchar: New module.
74107         * m4/wchar.m4: New file.
74108         * lib/wchar_.h: Likewise.
74109         * modules/mbchar (Depends-on): Depend on wchar, as the first use
74110         of the new module.
74111         * MODULES.html.sh (Extended multibyte and wide character utilities):
74112         New section.
74113
74114 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
74115
74116         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
74117         to a reasonable default for memory allocation.
74118         (xreadlink): Don't allocate a huge buffer, to work around a buggy
74119         file system that reports garbage st_size values for symlinks.
74120         Problem reported by Liyang Hu.
74121
74122 2007-01-11  Simon Josefsson  <simon@josefsson.org>
74123
74124         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
74125         Emacs .#* auto-save files).
74126
74127 2007-01-11  Bruno Haible  <bruno@clisp.org>
74128
74129         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
74130         directory.
74131
74132 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74133
74134         Use @...@ consistently in lib/wctype_.h.
74135         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
74136         on it being set to 1 or 0.
74137         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
74138         go back to AC_SUBSTing it.
74139         * modules/wctype (Makefile.am): Undo previous change.
74140
74141 2007-01-10  Eric Blake  <ebb9@byu.net>
74142
74143         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
74144         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
74145         * modules/wctype (Makefile.am): Likewise.
74146         Reported by Chris McGuire.
74147
74148 2007-01-10  Jim Meyering  <jim@meyering.net>
74149
74150         fts.c: a small readability/maintainability improvement
74151         * lib/fts.c (fts_read): Make this code slightly more readable and
74152         maintainable by hoisting the "sp->fts_cur = p" assignments to
74153         immediately follow the statements that set P.  Derived from
74154         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
74155
74156 2007-01-10  Eric Blake  <ebb9@byu.net>
74157
74158         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
74159         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
74160         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
74161         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
74162         Reported by Chris McGuire.
74163
74164 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74165
74166         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
74167         in sed script.
74168
74169 2007-01-09  Bruno Haible  <bruno@clisp.org>
74170
74171         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
74172         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
74173         variables.
74174         (func_module): Use them.
74175
74176 2007-01-09  Bruno Haible  <bruno@clisp.org>
74177
74178         * modules/unistr/base: New file.
74179         * lib/unistr.h: New file.
74180
74181         * modules/unistr/u8-to-u16: New file.
74182         * lib/unistr/u8-to-u16.c: New file.
74183
74184         * modules/unistr/u8-to-u32: New file.
74185         * lib/unistr/u8-to-u32.c: New file.
74186
74187         * modules/unistr/u16-to-u8: New file.
74188         * lib/unistr/u16-to-u8.c: New file.
74189
74190         * modules/unistr/u16-to-u32: New file.
74191         * lib/unistr/u16-to-u32.c: New file.
74192
74193         * modules/unistr/u32-to-u8: New file.
74194         * lib/unistr/u32-to-u8.c: New file.
74195
74196         * modules/unistr/u32-to-u16: New file.
74197         * lib/unistr/u32-to-u16.c: New file.
74198
74199         * modules/unistr/u8-check: New file.
74200         * modules/unistr/u16-check: New file.
74201         * modules/unistr/u32-check: New file.
74202         * lib/unistr/u8-check.c: New file.
74203         * lib/unistr/u16-check.c: New file.
74204         * lib/unistr/u32-check.c: New file.
74205
74206         * modules/unistr/u8-chr: New file.
74207         * modules/unistr/u16-chr: New file.
74208         * modules/unistr/u32-chr: New file.
74209         * lib/unistr/u8-chr.c: New file.
74210         * lib/unistr/u16-chr.c: New file.
74211         * lib/unistr/u32-chr.c: New file.
74212
74213         * modules/unistr/u8-cmp: New file.
74214         * modules/unistr/u16-cmp: New file.
74215         * modules/unistr/u32-cmp: New file.
74216         * lib/unistr/u8-cmp.c: New file.
74217         * lib/unistr/u16-cmp.c: New file.
74218         * lib/unistr/u32-cmp.c: New file.
74219
74220         * modules/unistr/u8-cpy: New file.
74221         * modules/unistr/u16-cpy: New file.
74222         * modules/unistr/u32-cpy: New file.
74223         * lib/unistr/u8-cpy.c: New file.
74224         * lib/unistr/u16-cpy.c: New file.
74225         * lib/unistr/u32-cpy.c: New file.
74226         * lib/unistr/u-cpy.h: New file.
74227
74228         * modules/unistr/u8-cpy-alloc: New file.
74229         * modules/unistr/u16-cpy-alloc: New file.
74230         * modules/unistr/u32-cpy-alloc: New file.
74231         * lib/unistr/u8-cpy-alloc.c: New file.
74232         * lib/unistr/u16-cpy-alloc.c: New file.
74233         * lib/unistr/u32-cpy-alloc.c: New file.
74234         * lib/unistr/u-cpy-alloc.h: New file.
74235
74236         * modules/unistr/u8-endswith: New file.
74237         * modules/unistr/u16-endswith: New file.
74238         * modules/unistr/u32-endswith: New file.
74239         * lib/unistr/u8-endswith.c: New file.
74240         * lib/unistr/u16-endswith.c: New file.
74241         * lib/unistr/u32-endswith.c: New file.
74242         * lib/unistr/u-endswith.h: New file.
74243
74244         * modules/unistr/u8-mblen: New file.
74245         * modules/unistr/u16-mblen: New file.
74246         * modules/unistr/u32-mblen: New file.
74247         * lib/unistr/u8-mblen.c: New file.
74248         * lib/unistr/u16-mblen.c: New file.
74249         * lib/unistr/u32-mblen.c: New file.
74250
74251         * modules/unistr/u8-mbtouc: New file.
74252         * modules/unistr/u16-mbtouc: New file.
74253         * modules/unistr/u32-mbtouc: New file.
74254         * lib/unistr/u8-mbtouc.c: New file.
74255         * lib/unistr/u16-mbtouc.c: New file.
74256         * lib/unistr/u32-mbtouc.c: New file.
74257
74258         * modules/unistr/u8-mbtouc-safe: New file.
74259         * modules/unistr/u16-mbtouc-safe: New file.
74260         * modules/unistr/u32-mbtouc-safe: New file.
74261         * lib/unistr/u8-mbtouc-safe.c: New file.
74262         * lib/unistr/u16-mbtouc-safe.c: New file.
74263         * lib/unistr/u32-mbtouc-safe.c: New file.
74264
74265         * modules/unistr/u8-move: New file.
74266         * modules/unistr/u16-move: New file.
74267         * modules/unistr/u32-move: New file.
74268         * lib/unistr/u8-move.c: New file.
74269         * lib/unistr/u16-move.c: New file.
74270         * lib/unistr/u32-move.c: New file.
74271         * lib/unistr/u-move.h: New file.
74272
74273         * modules/unistr/u8-next: New file.
74274         * modules/unistr/u16-next: New file.
74275         * modules/unistr/u32-next: New file.
74276         * lib/unistr/u8-next.c: New file.
74277         * lib/unistr/u16-next.c: New file.
74278         * lib/unistr/u32-next.c: New file.
74279
74280         * modules/unistr/u8-prev: New file.
74281         * modules/unistr/u16-prev: New file.
74282         * modules/unistr/u32-prev: New file.
74283         * lib/unistr/u8-prev.c: New file.
74284         * lib/unistr/u16-prev.c: New file.
74285         * lib/unistr/u32-prev.c: New file.
74286
74287         * modules/unistr/u8-set: New file.
74288         * modules/unistr/u16-set: New file.
74289         * modules/unistr/u32-set: New file.
74290         * lib/unistr/u8-set.c: New file.
74291         * lib/unistr/u16-set.c: New file.
74292         * lib/unistr/u32-set.c: New file.
74293         * lib/unistr/u-set.h: New file.
74294
74295         * modules/unistr/u8-startswith: New file.
74296         * modules/unistr/u16-startswith: New file.
74297         * modules/unistr/u32-startswith: New file.
74298         * lib/unistr/u8-startswith.c: New file.
74299         * lib/unistr/u16-startswith.c: New file.
74300         * lib/unistr/u32-startswith.c: New file.
74301         * lib/unistr/u-startswith.h: New file.
74302
74303         * modules/unistr/u8-stpcpy: New file.
74304         * modules/unistr/u16-stpcpy: New file.
74305         * modules/unistr/u32-stpcpy: New file.
74306         * lib/unistr/u8-stpcpy.c: New file.
74307         * lib/unistr/u16-stpcpy.c: New file.
74308         * lib/unistr/u32-stpcpy.c: New file.
74309         * lib/unistr/u-stpcpy.h: New file.
74310
74311         * modules/unistr/u8-stpncpy: New file.
74312         * modules/unistr/u16-stpncpy: New file.
74313         * modules/unistr/u32-stpncpy: New file.
74314         * lib/unistr/u8-stpncpy.c: New file.
74315         * lib/unistr/u16-stpncpy.c: New file.
74316         * lib/unistr/u32-stpncpy.c: New file.
74317         * lib/unistr/u-stpncpy.h: New file.
74318
74319         * modules/unistr/u8-strcat: New file.
74320         * modules/unistr/u16-strcat: New file.
74321         * modules/unistr/u32-strcat: New file.
74322         * lib/unistr/u8-strcat.c: New file.
74323         * lib/unistr/u16-strcat.c: New file.
74324         * lib/unistr/u32-strcat.c: New file.
74325         * lib/unistr/u-strcat.h: New file.
74326
74327         * modules/unistr/u8-strchr: New file.
74328         * modules/unistr/u16-strchr: New file.
74329         * modules/unistr/u32-strchr: New file.
74330         * lib/unistr/u8-strchr.c: New file.
74331         * lib/unistr/u16-strchr.c: New file.
74332         * lib/unistr/u32-strchr.c: New file.
74333
74334         * modules/unistr/u8-strcmp: New file.
74335         * modules/unistr/u16-strcmp: New file.
74336         * modules/unistr/u32-strcmp: New file.
74337         * lib/unistr/u8-strcmp.c: New file.
74338         * lib/unistr/u16-strcmp.c: New file.
74339         * lib/unistr/u32-strcmp.c: New file.
74340
74341         * modules/unistr/u8-strcpy: New file.
74342         * modules/unistr/u16-strcpy: New file.
74343         * modules/unistr/u32-strcpy: New file.
74344         * lib/unistr/u8-strcpy.c: New file.
74345         * lib/unistr/u16-strcpy.c: New file.
74346         * lib/unistr/u32-strcpy.c: New file.
74347         * lib/unistr/u-strcpy.h: New file.
74348
74349         * modules/unistr/u8-strcspn: New file.
74350         * modules/unistr/u16-strcspn: New file.
74351         * modules/unistr/u32-strcspn: New file.
74352         * lib/unistr/u8-strcspn.c: New file.
74353         * lib/unistr/u16-strcspn.c: New file.
74354         * lib/unistr/u32-strcspn.c: New file.
74355         * lib/unistr/u-strcspn.h: New file.
74356
74357         * modules/unistr/u8-strdup: New file.
74358         * modules/unistr/u16-strdup: New file.
74359         * modules/unistr/u32-strdup: New file.
74360         * lib/unistr/u8-strdup.c: New file.
74361         * lib/unistr/u16-strdup.c: New file.
74362         * lib/unistr/u32-strdup.c: New file.
74363         * lib/unistr/u-strdup.h: New file.
74364
74365         * modules/unistr/u8-strlen: New file.
74366         * modules/unistr/u16-strlen: New file.
74367         * modules/unistr/u32-strlen: New file.
74368         * lib/unistr/u8-strlen.c: New file.
74369         * lib/unistr/u16-strlen.c: New file.
74370         * lib/unistr/u32-strlen.c: New file.
74371         * lib/unistr/u-strlen.h: New file.
74372
74373         * modules/unistr/u8-strmblen: New file.
74374         * modules/unistr/u16-strmblen: New file.
74375         * modules/unistr/u32-strmblen: New file.
74376         * lib/unistr/u8-strmblen.c: New file.
74377         * lib/unistr/u16-strmblen.c: New file.
74378         * lib/unistr/u32-strmblen.c: New file.
74379
74380         * modules/unistr/u8-strmbtouc: New file.
74381         * modules/unistr/u16-strmbtouc: New file.
74382         * modules/unistr/u32-strmbtouc: New file.
74383         * lib/unistr/u8-strmbtouc.c: New file.
74384         * lib/unistr/u16-strmbtouc.c: New file.
74385         * lib/unistr/u32-strmbtouc.c: New file.
74386
74387         * modules/unistr/u8-strncat: New file.
74388         * modules/unistr/u16-strncat: New file.
74389         * modules/unistr/u32-strncat: New file.
74390         * lib/unistr/u8-strncat.c: New file.
74391         * lib/unistr/u16-strncat.c: New file.
74392         * lib/unistr/u32-strncat.c: New file.
74393         * lib/unistr/u-strncat.h: New file.
74394
74395         * modules/unistr/u8-strncmp: New file.
74396         * modules/unistr/u16-strncmp: New file.
74397         * modules/unistr/u32-strncmp: New file.
74398         * lib/unistr/u8-strncmp.c: New file.
74399         * lib/unistr/u16-strncmp.c: New file.
74400         * lib/unistr/u32-strncmp.c: New file.
74401
74402         * modules/unistr/u8-strncpy: New file.
74403         * modules/unistr/u16-strncpy: New file.
74404         * modules/unistr/u32-strncpy: New file.
74405         * lib/unistr/u8-strncpy.c: New file.
74406         * lib/unistr/u16-strncpy.c: New file.
74407         * lib/unistr/u32-strncpy.c: New file.
74408         * lib/unistr/u-strncpy.h: New file.
74409
74410         * modules/unistr/u8-strnlen: New file.
74411         * modules/unistr/u16-strnlen: New file.
74412         * modules/unistr/u32-strnlen: New file.
74413         * lib/unistr/u8-strnlen.c: New file.
74414         * lib/unistr/u16-strnlen.c: New file.
74415         * lib/unistr/u32-strnlen.c: New file.
74416         * lib/unistr/u-strnlen.h: New file.
74417
74418         * modules/unistr/u8-strpbrk: New file.
74419         * modules/unistr/u16-strpbrk: New file.
74420         * modules/unistr/u32-strpbrk: New file.
74421         * lib/unistr/u8-strpbrk.c: New file.
74422         * lib/unistr/u16-strpbrk.c: New file.
74423         * lib/unistr/u32-strpbrk.c: New file.
74424         * lib/unistr/u-strpbrk.h: New file.
74425
74426         * modules/unistr/u8-strrchr: New file.
74427         * modules/unistr/u16-strrchr: New file.
74428         * modules/unistr/u32-strrchr: New file.
74429         * lib/unistr/u8-strrchr.c: New file.
74430         * lib/unistr/u16-strrchr.c: New file.
74431         * lib/unistr/u32-strrchr.c: New file.
74432
74433         * modules/unistr/u8-strspn: New file.
74434         * modules/unistr/u16-strspn: New file.
74435         * modules/unistr/u32-strspn: New file.
74436         * lib/unistr/u8-strspn.c: New file.
74437         * lib/unistr/u16-strspn.c: New file.
74438         * lib/unistr/u32-strspn.c: New file.
74439         * lib/unistr/u-strspn.h: New file.
74440
74441         * modules/unistr/u8-strstr: New file.
74442         * modules/unistr/u16-strstr: New file.
74443         * modules/unistr/u32-strstr: New file.
74444         * lib/unistr/u8-strstr.c: New file.
74445         * lib/unistr/u16-strstr.c: New file.
74446         * lib/unistr/u32-strstr.c: New file.
74447         * lib/unistr/u-strstr.h: New file.
74448
74449         * modules/unistr/u8-strtok: New file.
74450         * modules/unistr/u16-strtok: New file.
74451         * modules/unistr/u32-strtok: New file.
74452         * lib/unistr/u8-strtok.c: New file.
74453         * lib/unistr/u16-strtok.c: New file.
74454         * lib/unistr/u32-strtok.c: New file.
74455         * lib/unistr/u-strtok.h: New file.
74456
74457         * modules/unistr/u8-uctomb: New file.
74458         * modules/unistr/u16-uctomb: New file.
74459         * modules/unistr/u32-uctomb: New file.
74460         * lib/unistr/u8-uctomb.c: New file.
74461         * lib/unistr/u16-uctomb.c: New file.
74462         * lib/unistr/u32-uctomb.c: New file.
74463
74464         * MODULES.html.sh (Unicode string functions): Add the new modules.
74465
74466 2007-01-08  Bruno Haible  <bruno@clisp.org>
74467
74468         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
74469         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
74470         subdirectories.
74471
74472 2007-01-08  Karl Berry  <karl@gnu.org>
74473
74474         * doc/error.texi: mention that main() fns must set program_name
74475         when progname is used.
74476
74477 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
74478
74479         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
74480         WCTYPE_H is empty, for the benefit of builds from non-distclean
74481         directories.  Problem reported by Eric Blake in
74482         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
74483
74484 2007-01-08  Bruno Haible  <bruno@clisp.org>
74485
74486         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
74487         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
74488         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
74489         PROVIDE_CANONICALIZE_FILENAME_MODE.
74490         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
74491
74492 2007-01-08  Bruno Haible  <bruno@clisp.org>
74493
74494         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
74495         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
74496         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
74497         * lib/fts.c: Likewise.
74498         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
74499
74500 2006-12-25  Bruno Haible  <bruno@clisp.org>
74501
74502         * modules/utf8-ucs4-safe: New file.
74503         * lib/utf8-ucs4-safe.h: New file.
74504         * lib/unistr/utf8-ucs4-safe.c: New file.
74505
74506         * modules/utf16-ucs4-safe: New file.
74507         * lib/utf16-ucs4-safe.h: New file.
74508         * lib/unistr/utf16-ucs4-safe.c: New file.
74509
74510         * MODULES.html.sh (Unicode string functions): Add the new modules.
74511
74512 2007-01-08  Bruno Haible  <bruno@clisp.org>
74513
74514         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
74515         (Depends-on): Add unitypes.
74516         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
74517         (u8_mbtouc_aux): Move out to separate file.
74518         (u8_mbtouc): Use ucs4_t, uint8_t types.
74519         * lib/unistr/utf8-ucs4.c: New file.
74520
74521         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
74522         (Depends-on): Add unitypes.
74523         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
74524         (u16_mbtouc_aux): Move out to separate file.
74525         (u16_mbtouc): Use ucs4_t, uint16_t types.
74526         * lib/unistr/utf16-ucs4.c: New file.
74527
74528         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
74529         (Depends-on): Add unitypes.
74530         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
74531         (u8_uctomb_aux): Move out to separate file.
74532         (u8_uctomb): Use ucs4_t, uint8_t types.
74533         * lib/unistr/ucs4-utf8.c: New file.
74534
74535         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
74536         (Depends-on): Add unitypes.
74537         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
74538         (u16_uctomb_aux): Move out to separate file.
74539         (u16_uctomb): Use ucs4_t, uint16_t types.
74540         * lib/unistr/ucs4-utf16.c: New file.
74541
74542 2006-12-25  Bruno Haible  <bruno@clisp.org>
74543
74544         * modules/unitypes: New file.
74545         * lib/unitypes.h: New file.
74546         * MODULES.html.sh (func_all_modules): New section "Unicode string
74547         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
74548         this section. Add unitypes.
74549
74550 2007-01-08  Bruno Haible  <bruno@clisp.org>
74551
74552         Avoid variable names that conflict with those from libtool.
74553         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
74554         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
74555         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
74556         library_names_spec to acl_library_names_spec, hardcode_* to
74557         acl_hardcode_*.
74558         Reported by Ralf Wildenhues.
74559
74560 2007-01-08  Bruno Haible  <bruno@clisp.org>
74561
74562         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
74563         definition.
74564         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
74565         definition.
74566         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
74567         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
74568         definition.
74569         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
74570         definition.
74571         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
74572         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
74573         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
74574         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
74575         definition.
74576         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
74577         definition.
74578         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
74579         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
74580         GC_USE_<algorithm>.
74581         * lib/gc-libgcrypt.c: Likewise.
74582         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
74583         * modules/gc-arctwo (configure.ac): Likewise.
74584         * modules/gc-des (configure.ac): Likewise.
74585         * modules/gc-hmac-md5 (configure.ac): Likewise.
74586         * modules/gc-hmac-sha1 (configure.ac): Likewise.
74587         * modules/gc-md2 (configure.ac): Likewise.
74588         * modules/gc-md4 (configure.ac): Likewise.
74589         * modules/gc-md5 (configure.ac): Likewise.
74590         * modules/gc-random (configure.ac): Likewise.
74591         * modules/gc-rijndael (configure.ac): Likewise.
74592         * modules/gc-sha1 (configure.ac): Likewise.
74593
74594 2007-01-08  Bruno Haible  <bruno@clisp.org>
74595
74596         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
74597         macro definition.
74598         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
74599         definition.
74600         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
74601         definition.
74602         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
74603         * modules/fcntl-safer (configure.ac): Likewise.
74604         * modules/fopen-safer (configure.ac): Likewise.
74605         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
74606         GNULIB_FWRITEERROR macro definition.
74607
74608 2007-01-08  Bruno Haible  <bruno@clisp.org>
74609
74610         * m4/gnulib-common.m4: New file.
74611         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
74612         (func_get_filelist): Add m4/gnulib-common.m4.
74613
74614 2007-01-08  Bruno Haible  <bruno@clisp.org>
74615
74616         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
74617         command.
74618
74619 2007-01-08  Jim Meyering  <jim@meyering.net>
74620
74621         Use a more robust test for a "can't happen" condition.
74622         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
74623         narrowed the st_size value.  Presuming the "can't happen" condition
74624         is true, that narrowing could conceivably convert an invalid st_size
74625         value into a valid one.  Instead, use a change based on Matthew
74626         Woehlke's original patch.
74627
74628         Slight readability improvement: use an assert-like macro
74629         in place of literal "abort ()" uses.
74630         * lib/fts.c (fts_assert): Define.
74631         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
74632         Use this macro instead of a bare 'abort'.
74633
74634 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
74635
74636         Don't worry about using IRIX 5.3's wctype.h broken definitions;
74637         simply work around them.
74638         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
74639         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
74640         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
74641         declaring.
74642         Don't bother to define as macros, since the standard doesn't require it.
74643         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
74644         longer worry about IRIX 5.3.
74645         (HAVE_WCTYPE_CTMP_BUG): Remove.
74646
74647 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
74648
74649         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
74650         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
74651         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
74652         Problems reported by Georg Schwarz for IRIX 5.3.
74653
74654         * gnulib-tool (autoconf_minversion): Take the maximum version number
74655         found, not the minimum.  Problem reported by James Youngman.
74656
74657 2007-01-03  Karl Berry  <karl@gnu.org>
74658
74659         * doc/error.texi: new file, explaining interaction with progname.
74660         * doc/gnulib.texi: include it.  Update copyright.
74661
74662 2007-01-03  Simon Josefsson  <simon@josefsson.org>
74663
74664         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
74665         AC_CANONICAL_HOST, to improve autobuild outputs.
74666
74667 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
74668             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
74669
74670         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
74671         sockets, server sockets, and other file descriptors.  Count errors
74672         to compute the return value.  Reorder the code a bit to be easier
74673         to follow.  Don't set event bits that were not requested (except
74674         POLLERR and POLLHUP).
74675
74676 2007-01-01  Bruno Haible  <bruno@clisp.org>
74677
74678         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
74679
74680 2007-01-03  Jim Meyering  <jim@meyering.net>
74681
74682         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
74683
74684 2007-01-02  Bruno Haible  <bruno@clisp.org>
74685
74686         * modules/settime (Include): Require timespec.h.
74687         * modules/nanosleep (Include): Likewise.
74688
74689 2007-01-01  Bruno Haible  <bruno@clisp.org>
74690
74691         * gnulib-tool (func_emit_copyright_notice): Bump year.
74692         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
74693
74694 2007-01-01  Bruno Haible  <bruno@clisp.org>
74695
74696         Improve support for OpenBSD.
74697         * build-aux/config.rpath (libname_spec): Export.
74698         (library_names_spec): New variable. Export.
74699         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
74700         library_names_spec from the config.rpath output. Locate shared library
74701         through the name pattern in library_names_spec.
74702
74703 2007-01-01  Eric Blake  <ebb9@byu.net>
74704
74705         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
74706
74707 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
74708
74709         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
74710         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
74711         assume the C locale, and avoid an "eval" that could cause trouble.
74712         Problem with SORT reported by Bob Proulx.
74713
74714         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
74715         Define.  Trivial patch from Henning Nielsen Lund, originally
74716         sent to bug-grep@gnu.org today.
74717
74718 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
74719
74720         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
74721         struct stat.  Problem reported by Henning Nielsen Lund.
74722         * lib/acl.c: Include acl.h first, to check interface.  Don't
74723         bother to include sys/types.h and sys/stat.h again.
74724
74725 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
74726
74727         Import the following change from libc; problem reported by
74728         Sven Verdoolaege.
74729
74730         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
74731
74732         [BZ #1373]
74733         * lib/argp.h: Remove __NTH for __argp_usage inline function.
74734
74735 2006-12-28  Jim Meyering  <jim@meyering.net>
74736
74737         * build-aux/announce-gen: Do not assume that the package
74738         builds any of tar.gz, tar.bz2, and .xdelta files.
74739         Suggestion from Simon Josefsson.
74740
74741 2006-12-28  Simon Josefsson  <simon@josefsson.org>
74742
74743         * modules/announce-gen: New file.
74744
74745 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
74746
74747         * lib/mbchar.h: Just include <wctype.h>; the wctype module
74748         handles its gotchas now.
74749         * lib/mbswidth.c: Likewise.
74750         * lib/wcwidth.h: Likewise.
74751         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
74752         and iswcntrl; the wctype module does this stuff now.
74753         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
74754         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
74755         * modules/mbchar (Depends-on): Add wctype.
74756         * modules/mbswidth (Depends-on): Likewise.
74757         * modules/wcwidth (Depends-on): Likewise.
74758
74759 2006-12-27  Eric Blake  <ebb9@byu.net>
74760
74761         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
74762         module uses more than what <wctype.h> is required to provide.
74763
74764 2006-12-26  Eric Blake  <ebb9@byu.net>
74765
74766         * gnulib-tool (sed_extract_prog): Avoid space-tab.
74767
74768 2006-12-26  Eric Blake  <ebb9@byu.net>
74769
74770         * modules/absolute-header: New module.
74771         * modules/fcntl (Depends-on): Depend on it.
74772         * modules/inttypes (Depends-on): Likewise.
74773         * modules/stdint (Depends-on): Likewise.
74774         * modules/sys_stat (Depends-on): Likewise.
74775         * modules/wctype (Depends-on): Likewise.
74776         * MODULES.html.sh (Support for building libraries and
74777         executables): Document it.
74778
74779 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
74780
74781         * gnulib-tool (SED): Remove, undoing previous change.
74782         The problem was that it broke coreutils on Solaris, because
74783         "sed --posix" leaked into a makefile.
74784         (sed): New alias, if 'alias' and GNU sed.
74785
74786 2006-12-24  Jim Meyering  <jim@meyering.net>
74787
74788         Work around an fchownat bug in glibc-2.4:
74789         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
74790         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
74791         in spite of the -P option.
74792         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
74793         New macros.
74794         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
74795         * modules/openat (Files): Add lib/fchownat.c.
74796         * lib/openat.c (fchownat): Don't define here.  Move to...
74797         * lib/fchownat.c: ...this new file.
74798
74799 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
74800
74801         Fix bug reported by Bruno Haible in
74802         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
74803         where quotearg.c didn't compile on Mac OS X 10.2 because it
74804         lacks <wchar.h> and wint_t.
74805         * lib/wctype_.h (__wctype_wint_t): New type.
74806         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
74807         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
74808         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
74809         Arg is now of type __wctype_wint_t, not wint_t.
74810         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
74811         substitute HAVE_WINT_T.
74812         * modules/wctype (Files): Add m4/wint_t.m4.
74813         (wctype.h): Substitute HAVE_WINT_T.
74814
74815 2006-12-23  Bruno Haible  <bruno@clisp.org>
74816
74817         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
74818
74819 2006-12-23  Bruno Haible  <bruno@clisp.org>
74820
74821         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
74822         S_ISLNK.
74823         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
74824         mingw.
74825
74826 2006-12-22  Bruno Haible  <bruno@clisp.org>
74827
74828         * lib/copy-file.c: Include acl.h.
74829         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
74830         Close the file descriptors only after being done with copy_acl.
74831         * modules/copy-file (Depends-on): Add acl.
74832
74833 2006-12-22  Bruno Haible  <bruno@clisp.org>
74834
74835         * gnulib-tool (SED): New variable.
74836         Use $SED instead of sed everywhere.
74837
74838 2006-12-22  Bruno Haible  <bruno@clisp.org>
74839
74840         * modules/no-c++: New file.
74841         * m4/no-c++.m4: New file.
74842         * MODULES.html.sh (Support for building libraries and executables):
74843         Add no-c++.
74844
74845 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
74846
74847         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
74848         Include <limits.h>, and use its INT_MAX to rewrite the
74849         j loop so that it does not overflow 'int'.  Problem reported by
74850         Ralf Wildenhues in
74851         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
74852         Play it safe by shifting left by 1 rather than multiplying by 2,
74853         as GCC is less likely to optimize this away when the value
74854         is signed (when it assumes overflow leads to undefined behavior).
74855         Also, don't assume time_t uses two's complement.
74856
74857 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
74858
74859         * MODULES.html.sh: New module wctype.
74860         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
74861         * lib/fnmatch.c: Don't bother to include <wchar.h> before
74862         <wctype.h>, since the new wctype module should fix this.
74863         * lib/quotearg.c: Include <wctype.h> unconditionally, since
74864         the wctype module should arrange for it.
74865         * lib/regex_internal.h: Likewise.
74866         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
74867         since the wctype module should handle this now.
74868         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
74869         * modules/fnmatch (Depends-on): Add wctype.
74870         * modules/quotearg (Depends-on): Likewise.
74871         * modules/regex (Depends-on): Likewise.
74872
74873 2006-12-19  Bruno Haible  <bruno@clisp.org>
74874
74875         * lib/strdup.h [C++]: Wrap definitions in extern "C".
74876         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
74877
74878 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74879
74880         * modules/savewd (Depends-on): Fix dependency on fcntl.
74881
74882 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
74883
74884         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
74885         conforms to C99, rather than relying on the user's environment
74886         setting of STDINT_H.
74887
74888 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
74889         and Eric Blake  <ebb9@byu.net>
74890
74891         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
74892         This is more consistent with the other defines here.
74893         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
74894         Port to z/OS.  Problem reported by Paul Gilmartin.
74895         Change local vars to use gl_ prefix rather than ac_.
74896         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
74897         with other defines.
74898         * modules/double-slash-root: New module.
74899         * modules/dirname (Files): Remove m4/double-slash-root.m4.
74900         (Depends-on): Add double-slash-root.
74901         * MODULES.html.sh (File system functions): Mention new module.
74902
74903 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
74904
74905         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
74906         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
74907         This is for the benefit of gzip, which doesn't do i18n.
74908
74909 2006-12-12  Jim Meyering  <jim@meyering.net>
74910
74911         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
74912         Reported by Andreas Schwab <schwab@suse.de>.
74913
74914 2006-12-12  Bruno Haible  <bruno@clisp.org>
74915
74916         Merge these changes.
74917         2006-09-05  Bruno Haible  <bruno@clisp.org>
74918         * lib/iconvme.c (iconv_string): No need to save and restore errno when
74919         iconv_alloc succeeded.
74920         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
74921         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
74922         test for " && dest " at the end - dest is always != NULL there. Call
74923         iconv with 4xNULL arguments initially, to reset the state. Call iconv
74924         with 2xNULL arguments, also to flush the state storage. Handle the
74925         IRIX iconv behaviour. Realloc the final result, to throw away unused
74926         memory.
74927
74928 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
74929
74930         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
74931         and fchmodat unconditionally, since glibc 2.4 has them.
74932         Problem reported by Arkadiusz Miskiewicz.
74933
74934 2006-12-10  Bruno Haible  <bruno@clisp.org>
74935
74936         * gnulib-tool (func_import): Show the include files only for those
74937         modules that are copied and specified.
74938         Reported by Karl Berry.
74939
74940 2006-12-08  Jim Meyering  <jim@meyering.net>
74941
74942         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
74943         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
74944
74945         * build-aux/announce-gen: Add two new options, both optional:
74946         --bootstrap-tools=TOOL_LIST
74947               a comma-separated list of tools, e.g.,
74948               autoconf,automake,bison,gnulib
74949         --gnulib-snapshot-date=DATE
74950               if gnulib is in the bootstrap tool list,
74951               then report this as the snapshot date.
74952               If not specified, use the current date/time.
74953               If you specify a date here, be sure it's UTC.
74954
74955 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74956
74957         * tests/test-argp-2.sh: Fix test to match actual output.
74958         (func_compare): Fix sed script to be portable.
74959
74960 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
74961
74962         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
74963         workaround for this case.  It is not autoconfigured now; offhand
74964         it's hard to see how to autoconfigure it.
74965
74966 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
74967
74968         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
74969         a directory that is about to be chowned.  Such a directory's
74970         initial file permissions should permit the owner only and this
74971         should not be changed until after the chown, since the group and
74972         other bits would be incorrect if they granted permission before
74973         the chown.
74974
74975         Fix porting problem for iswctype reported by Georg Schwarz in:
74976         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
74977         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
74978         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
74979         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
74980         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
74981
74982 2006-12-03  Jim Meyering  <jim@meyering.net>
74983
74984         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
74985         p->fts_statp may not yet be defined.
74986         (fts_read): Instead, set it in the caller, once p->fts_statp is
74987         sure to be defined, and corresponds to a top-level directory.
74988         This bug made du -x fail.  Here's the coreutils test case:
74989         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
74990         Reported by Mike Frysinger.
74991
74992 2006-12-01  Jim Meyering  <jim@meyering.net>
74993
74994         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
74995         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
74996         Reported by Simon Josefsson.
74997
74998 2006-11-30  Jim Meyering  <jim@meyering.net>
74999
75000         * m4/warning.m4: Use the all-permissive copyright notice
75001         recommended by RMS (rather than LGPL).
75002         * m4/vararrays.m4: Likewise.
75003         * m4/flexmember.m4: Likewise.
75004
75005 2006-11-29  Bruno Haible  <bruno@clisp.org>
75006
75007         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75008         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
75009         using +=.
75010         Reported by Simon Josefsson <simon@josefsson.org>.
75011
75012 2006-11-28  James Youngman <jay@gnu.org>
75013
75014         * README: Advise users that they might find the bug-gnulib@gnu.org
75015         and autotools-announce@gnu.org mailing lists useful.
75016
75017 2006-11-28  Bruno Haible  <bruno@clisp.org>
75018
75019         * m4/ptrdiff_max.m4: Remove file.
75020
75021 2006-11-21  Bruno Haible  <bruno@clisp.org>
75022
75023         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
75024         _AC_COMPUTE_INT.
75025         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75026         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
75027         _AC_COMPUTE_INT.
75028         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75029         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
75030         _AC_COMPUTE_INT.
75031         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75032
75033 2006-11-28  Jim Meyering  <jim@meyering.net>
75034
75035         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
75036         warning from "gcc -Wshadow" about shadowing the builtin.
75037
75038 2006-11-27  Bruno Haible  <bruno@clisp.org>
75039
75040         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
75041         _AC_COMPUTE_INT.
75042         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75043
75044 2006-11-27  Bruno Haible  <bruno@clisp.org>
75045             Paul Eggert  <eggert@cs.ucla.edu>
75046
75047         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
75048
75049 2006-11-26  Bruno Haible  <bruno@clisp.org>
75050
75051         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75052         noinst_LTLIBRARIES.
75053
75054 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
75055             Bruno Haible  <bruno@clisp.org>
75056
75057         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
75058         if compiling with "gcc -ansi".
75059
75060 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
75061
75062         Fix some incompatibilities with gcc -ansi -pedantic.
75063         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
75064         if compiling pedantically with GCC, unless it's C99 or later.
75065         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
75066         it mishandles gcc -ansi -pedantic as well.
75067         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
75068         if gcc -pedantic.
75069         * lib/regexec.c (check_node_accept_bytes): Don't use auto
75070         initializers for struct if -pedantic, unless it's C99 or later.
75071
75072 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
75073
75074         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
75075         Don't close an fd more than once. Identical atimes indicate
75076         success, not failure.
75077
75078 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
75079
75080         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
75081
75082 2006-11-23  Jim Meyering  <jim@meyering.net>
75083
75084         * build-aux/announce-gen: New file.  From coreutils.
75085
75086 2006-11-22  Jim Meyering  <jim@meyering.net>
75087
75088         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
75089         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
75090         (fts_read): Use a temporary to narrow the overused st_size member
75091         before using it in a switch statement.  Reported by Matthew Woehlke.
75092
75093         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
75094         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
75095
75096 2006-11-20  Bruno Haible  <bruno@clisp.org>
75097
75098         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
75099         changequote instead of pairs of brackets.
75100         Reported by Andreas Schwab <schwab@suse.de>.
75101
75102 2006-11-21  Jim Meyering  <jim@meyering.net>
75103
75104         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
75105         so as to remain compatible with older compilers.
75106         Patch from Michael Deutschmann.
75107
75108 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75109
75110         * MODULES.html.sh (File system functions): Add openat.
75111
75112         * lib/openat.h (rpl_fstatat): New macro, if
75113         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
75114         (fstatat): Define to rpl_fstatat under the same conditions,
75115         unless COMPILING_FSTATAT.
75116         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
75117         seems to have the bug.
75118         * lib/fstatat.c: New file.
75119         * modules/openat (Files): Add it.
75120
75121 2006-11-20  Bruno Haible  <bruno@clisp.org>
75122
75123         * Makefile: New file.
75124
75125 2006-11-20  Jim Meyering  <jim@meyering.net>
75126
75127         The beginnings of syntax-related checks for gnulib.
75128         * lib/Makefile: New file.
75129         * lib/t-idcache: New script.  Ensure that the two halves of
75130         idcache.c stay in sync.
75131
75132         * lib/idcache.c: Adjust comments in user- and group- portions to
75133         be more accurate, and to be consistent with one another.
75134
75135 2006-11-20  Jim Meyering  <jim@meyering.net>
75136
75137         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
75138         continue using the flexible array member (thus, this module performs
75139         half as many malloc calls), with the addition that...
75140         (getgroup, getuser): Consistently record a non-match via an empty
75141         "name" string, and map an empty string match to a NULL return value.
75142         * modules/idcache (Depends-on): Re-add flexmember.
75143
75144         * lib/idcache.c (getuser): Remove all uses of the register keyword.
75145         (getuidbyname, getgroup, getgidbyname): Likewise.
75146
75147         Use cleaner syntax: NULL rather than 0.
75148         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
75149
75150 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75151
75152         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
75153         It mishandled the case where the group was missing.
75154         Problem reported by Greg Schafer.
75155         * modules/idcache: Likewise.
75156
75157 2006-11-18  Jim Meyering  <jim@meyering.net>
75158
75159         * check-module (%exempt_header): Add exception for some
75160         conditionally-included headers.
75161
75162         * modules/i-ring (Depends-on): Add verify.
75163         (License): Change to LGPL.
75164
75165 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75166
75167         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
75168         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
75169         and inttostr.h.  Use snprintf rather than uinttostr, so that
75170         LGPLed code doesn't depend on GPLed.
75171
75172 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
75173
75174         * modules/inline (License): Change from GPL to LGPL.
75175
75176 2006-11-17  Jim Meyering  <jim@meyering.net>
75177
75178         * modules/d-type (License): Switch to LGPL.
75179
75180 2006-11-15  Bruno Haible  <bruno@clisp.org>
75181
75182         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
75183
75184 2006-11-15  Eric Blake  <ebb9@byu.net>
75185
75186         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
75187         the module dependency.
75188
75189 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75190             Bruno Haible  <bruno@clisp.org>
75191
75192         * gnulib-tool (func_create_testdir): Add license consistency check.
75193
75194 2006-11-15  Eric Blake  <ebb9@byu.net>
75195
75196         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
75197         random "(cached)" in configure output.
75198
75199 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75200
75201         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
75202         test for conforming inttypes.h is both announced and cached.
75203
75204         * MODULES.html.sh (seen_modules, seen_files): New variables.
75205         (func_module): Rewrite to use a few less gnulib-tool and sed
75206         invocations.  Avoid a couple of quadratic algorithms for ...
75207         (missed_modules, missed_files): ... these, with ...
75208         (func_append, func_tmpdir): ... these new functions, from
75209         gnulib-tool.  Analogously, install traps for cleanup.
75210
75211         * tests/test-gc.c (main): Remove unused variables.
75212         * tests/test-read-file.c: Include stdlib.h, for 'free'.
75213
75214 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
75215
75216         * modules/inttostr (License): Change to LGPL.
75217
75218 2006-11-14  Eric Blake  <ebb9@byu.net>
75219
75220         * modules/tempname (License): Change to LGPL.
75221
75222 2006-11-14  Eric Blake  <ebb9@byu.net>
75223
75224         * doc/functions.texi (Function Portability): *printf functions on
75225         Cygwin now understand all POSIX size specifiers.
75226
75227 2006-11-14  Bruno Haible  <bruno@clisp.org>
75228
75229         * modules/c-ctype (License): Change to LGPL.
75230
75231 2006-11-12  Bruno Haible  <bruno@clisp.org>
75232
75233         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
75234         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
75235         for GNOME libraries, for which the include files are installed in
75236         subdirectories of $prefix/include.
75237
75238 2006-11-12  Bruno Haible  <bruno@clisp.org>
75239
75240         * m4/lib-link.m4: Require at least autoconf-2.54.
75241         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
75242         name to underscores for the --with option.
75243
75244 2006-11-13  Bruno Haible  <bruno@clisp.org>
75245
75246         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
75247         the tests directory.
75248         Reported by Ralf Wildenhues.
75249
75250 2006-11-13  Bruno Haible  <bruno@clisp.org>
75251
75252         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
75253         (func_emit_initmacro_end): Undo the override here.
75254         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
75255         Works around the famous automake error in coreutils.
75256
75257 2006-11-13  Eric Blake  <ebb9@byu.net>
75258
75259         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
75260         element, not its node.
75261
75262 2006-11-12  Bruno Haible  <bruno@clisp.org>
75263
75264         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
75265         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
75266
75267 2006-11-12  Bruno Haible  <bruno@clisp.org>
75268
75269         * gnulib-tool: New option --local-symlink.
75270         (func_usage): Document it.
75271         (lsymbolic): New variable.
75272         (func_import, func_create_testdir): If --symlink was not specified,
75273         test whether --local-symlink was specified and the file comes from
75274         the local_gnulib_dir.
75275
75276 2006-11-12  Bruno Haible  <bruno@clisp.org>
75277
75278         * gnulib-tool (func_ln): New function.
75279         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
75280
75281 2006-11-12  Bruno Haible  <bruno@clisp.org>
75282
75283         Finish support for source files in subdirectories.
75284         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
75285         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
75286         AUTOMAKE_OPTIONS.
75287         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
75288
75289 2006-11-12  Bruno Haible  <bruno@clisp.org>
75290
75291         * gnulib-tool (func_get_automake_snippet): Synthesize also an
75292         EXTRA_lib_SOURCES augmentation.
75293         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
75294
75295 2006-11-12  Jim Meyering  <jim@meyering.net>
75296
75297         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
75298         file descriptors.  This also averts a failure on systems with
75299         native openat support when a traversed directory lacks "x" access.
75300         * lib/fts_.h: Include "i-ring.h"
75301         (struct FTS) [fts_fd_ring]: New member.
75302         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
75303         (FCHDIR): Add parentheses.
75304         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
75305         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
75306         When descending, rather than simply closing the previous
75307         fts_cwd_fd value, push that file descriptor onto the ring.
75308         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
75309         (fts_open): Initialize the new fd_ring member.
75310         (fts_close): Clear the ring.
75311         (fts_safe_changedir): When possible, use our new fd_ring to skip
75312         the diropen and fstat and dev/ino comparison that would normally
75313         accompany a virtual `chdir ("..")'.
75314
75315         * modules/fts (Depends-on): Add i-ring.
75316         * modules/i-ring: New module.
75317         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
75318         * m4/i-ring.m4: New file.
75319
75320 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75321
75322         * gnulib-tool (func_create_testdir): Fix replacement of
75323         `build-aux' in configure.ac.  Run autotools in gltests
75324         subdirectory.
75325         (func_create_testdir, func_create_megatestdir, test): There is
75326         no need for '--force' in most autotool invocations in a new
75327         tree.  Actually fail the whole test if any of the tools, or the
75328         configure or make stages fail.
75329
75330         Sync from Automake.
75331         * build-aux/gnupload: Revert last change.  Add pointer to upload
75332         instructions of the GNU Maintenance Instructions.
75333         Suggestion by Karl Berry.
75334
75335 2006-11-10  Jim Meyering  <jim@meyering.net>
75336
75337         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
75338
75339 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75340
75341         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
75342         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
75343         (bind_textdomain_codeset) [! ENABLE_NLS]:
75344         Evaluate all the arguments.  That way, callers get compatible behavior
75345         if the arguments have side effects.  Also, it avoids some GCC
75346         diagnostics in some cases; Joel E. Denny reported problems when Bison
75347         was configured with --enable-gcc-warnigs.
75348
75349 2006-11-10  Jim Meyering  <jim@meyering.net>
75350
75351         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
75352         relevant options in CFLAGS (like -O, -fno-inline) are taken into
75353         account.
75354
75355 2006-11-10  Jim Meyering  <jim@meyering.net>
75356
75357         * modules/inline: New file/module.
75358         * modules/xalloc (Files): Remove m4/inline.m4.
75359         (Depends-on): Add inline, instead.
75360         * modules/oset: Likewise.
75361         * modules/list: Likewise.
75362
75363 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75364
75365         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
75366         Problem reported by Matthew Woehlke.
75367
75368 2006-11-09  Bruno Haible  <bruno@clisp.org>
75369
75370         * lib/tempname.c (gen_tempname): Remove variant that invokes
75371         __gen_tempname.
75372         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
75373         __gen_tempname.
75374
75375 2006-11-08  Bruno Haible  <bruno@clisp.org>
75376
75377         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
75378         to 'yes' instead of 'cross-compiling'.
75379
75380 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
75381
75382         * lib/quotearg.h (quotearg_free): New decl.
75383         * lib/quotearg.c (quotearg_free): New function.
75384         (slot0, nslots, slotvec0, slotvec):
75385         Now file-scope so that quotearg_free can get at them.
75386
75387 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75388
75389         Sync from Automake.
75390         * build-aux/gnupload: Add missing 'gnu' to example URL.
75391         Report by Karl Berry.
75392
75393 2006-11-08  Bruno Haible  <bruno@clisp.org>
75394
75395         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
75396         Suggested by Paul Eggert.
75397
75398 2006-11-08  Jim Meyering  <jim@meyering.net>
75399
75400         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
75401         It's already included if !_LIBC.
75402         (fts_safe_changedir): Add a comment.
75403
75404 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75405
75406         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
75407         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
75408         Matthew Woehlke.
75409
75410         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
75411         definitions up, to avoid colliding with change below.
75412         (static_inline) [HAVE_INLINE]: New macro.
75413         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
75414         Provide extern decls when !HAVE_INLINE.  Do not define unless
75415         static_inline is defined, either by us or by xmalloc.c.  Use
75416         static_inline rather than static inline.
75417         (XCALLOC): Optimize sizeof(T) = 1 case.
75418         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
75419
75420 2006-11-07  Bruno Haible  <bruno@clisp.org>
75421
75422         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
75423         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
75424         AC_C_INLINE.
75425         * modules/xalloc (Files): Add m4/inline.m4.
75426
75427 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75428
75429         * README: Fix typo.
75430         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
75431         (Miscellanous Notes): ...from this.
75432
75433 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75434
75435         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
75436         Mention that offsetof should be used instead of sizeof.
75437         From Bruno Haible.
75438
75439 2006-11-07  Bruno Haible  <bruno@clisp.org>
75440
75441         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
75442
75443 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
75444
75445         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
75446         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
75447         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
75448         (gl_tree_add_before, gl_tree_add_after):
75449         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
75450         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
75451         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
75452         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
75453         (gl_linked_add_after, gl_linked_add_at): Likewise.
75454         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
75455         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
75456         (gl_tree_add_before, gl_tree_add_after): Likewise.
75457         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
75458         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
75459         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
75460
75461 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75462
75463         * lib/gl_oset.h: Use C comment style, not C++ comment style.
75464
75465 2006-11-06  Bruno Haible  <bruno@clisp.org>
75466
75467         * m4/inline.m4: New file.
75468         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
75469         * modules/list (Files): Add m4/inline.m4.
75470         * modules/oset (Files): Likewise.
75471
75472 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
75473
75474         * lib/idcache.c: Include <stddef.h>, for offsetof.
75475         (struct userid.name): Change from char * to a flexible array member.
75476         All uses changed.
75477         * modules/idcache (Depends-on): Add flexmember.
75478
75479         * MODULES.html.sh (Core language properties): New module flexmember.
75480         * modules/flexmember, m4/flexmember.m4: New files.
75481
75482         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
75483         inline functions that are identical with the old xnmalloc_inline,
75484         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
75485         that we can avoid some unnecessary integer multiplications and
75486         divisions in the common case where the element size is known at
75487         compile time.
75488         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
75489         needed.
75490         (xnboundedmalloc): Remove.
75491         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
75492         arguments, for consistency with rest of this header.
75493         (xcharalloc): Rewrite using XNMALLOC.
75494         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
75495         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
75496         versions have been moved to lib/xalloc.h and renamed to be the
75497         non-*_inline versions.
75498         (xmalloc, xrealloc): Implement without reference to the xnmalloc
75499         and xnrealloc functions, since those functions are now inline and
75500         now call us.
75501         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
75502         renaming described above.
75503         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
75504         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
75505         captures the dependency in AC_C_INLINE.
75506
75507         New module canonicalize-lgpl, proposed by Charles Wilson in
75508         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
75509         with a few small changes afterwards.
75510         * MODULES.html.sh (File system functions): New module
75511         canonicalize-lgpl.
75512         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
75513         and canonicalize_file_name.
75514         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
75515         * modules/canonicalize-lgpl: New files.
75516
75517 2006-11-05  Bruno Haible  <bruno@clisp.org>
75518
75519         * gnulib-tool (func_import, func_create_testdir): Create directories
75520         also for files in subdirectories of lib/.
75521
75522 2006-11-05  Bruno Haible  <bruno@clisp.org>
75523
75524         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
75525         ANSI C compliant.
75526
75527 2006-11-03  Bruno Haible  <bruno@clisp.org>
75528
75529         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
75530         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
75531         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
75532         (xnboundedmalloc): New inline function.
75533         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
75534         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
75535         xmalloc.
75536         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
75537         xmalloc.
75538         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
75539         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
75540         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
75541         xmalloc.
75542         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
75543         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
75544         xmalloc.
75545         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
75546         gl_tree_add_after): Use XMALLOC instead of xmalloc.
75547         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
75548         xmalloc.
75549         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
75550         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
75551         gl_tree_add_after): Use XMALLOC instead of xmalloc.
75552         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
75553         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
75554         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
75555         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
75556
75557 2006-11-03  Bruno Haible  <bruno@clisp.org>
75558
75559         * lib/c-ctype.h [C++]: Define functions without name mangling.
75560         * lib/fwriteerror.h [C++]: Likewise.
75561         * lib/gcd.h [C++]: Likewise.
75562         * lib/linebreak.h [C++]: Likewise.
75563
75564 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
75565
75566         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
75567         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
75568         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
75569         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
75570         Check for functions and headers just once.
75571         Check for declaration of canonicalize_file_name.
75572         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
75573
75574 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
75575
75576         * gnulib-tool (func_import): Fix typo in actioncmd.
75577
75578 2006-11-02  Bruno Haible  <bruno@clisp.org>
75579
75580         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
75581         newline sequence in the Makefile.am snippet as a space, like "make"
75582         does.
75583         Reported by Roger Persson <perrog@gmail.com>.
75584
75585 2006-11-01  Bruno Haible  <bruno@clisp.org>
75586
75587         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
75588         already declared in <string.h>.
75589         * lib/strcase.h (strncasecmp): Don't declare it if yes.
75590
75591 2006-11-01  Bruno Haible  <bruno@clisp.org>
75592
75593         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
75594         * lib/strcase.h: Include <string.h>.
75595         (strcasecmp): Define to rpl_strcasecmp here.
75596
75597 2006-11-01  Bruno Haible  <bruno@clisp.org>
75598
75599         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
75600
75601 2006-11-01  Eric Blake  <ebb9@byu.net>
75602
75603         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
75604
75605         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
75606
75607 2006-10-29  Bruno Haible  <bruno@clisp.org>
75608
75609         Make it compile in C++ mode.
75610         * lib/full-write.c (full_rw): Add a cast.
75611
75612 2006-11-01  Bruno Haible  <bruno@clisp.org>
75613
75614         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
75615         be POSIX compliant.
75616         Reported by Roger Persson <perrog@gmail.com>.
75617
75618 2006-11-01  Eric Blake  <ebb9@byu.net>
75619
75620         * lib/getopt_.h: Fix comments.
75621
75622 2006-10-31  Eric Blake  <ebb9@byu.net>
75623
75624         * modules/tmpdir (Depends-on): Add sys_stat.
75625         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
75626         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
75627         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
75628         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
75629         tempname.
75630
75631 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
75632
75633         Avoid some C++ diagnostics reported by Bruno Haible.
75634         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
75635         xmalloc.
75636         (quotearg_alloc): Use xcharalloc rather than xmalloc.
75637         (struct slotvec): Move to top level.
75638         (quotearg_n_options): Rewrite to avoid xmalloc.
75639         * lib/xalloc.h (xcharalloc): New function.
75640         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
75641         [defined __cplusplus]: Add function template that provides result
75642         type propagation.  This part of the change is from Bruno Haible.
75643
75644 2006-10-29  Bruno Haible  <bruno@clisp.org>
75645
75646         Make it compile in C++ mode.
75647         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
75648         * lib/strnlen1.c (strnlen1): Cast memchr result.
75649         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
75650         * lib/clean-temp.c (string_equals, string_hash): Add casts.
75651         (create_temp_dir): Rename local variable 'template'.
75652         (compile_csharp_using_sscli): Add cast.
75653         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
75654         * lib/findprog.c (find_in_path): Likewise.
75655         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
75656         * lib/wait-process.c (register_slave_subprocess): Likewise.
75657
75658 2006-10-22  Bruno Haible  <bruno@clisp.org>
75659
75660         * modules/tsearch: New file.
75661         * lib/tsearch.h: New file.
75662         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
75663         * m4/tsearch.m4: New file.
75664         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
75665
75666 2006-10-29  Eric Blake  <ebb9@byu.net>
75667
75668         * lib/arcfour.c: Assume config.h.
75669         * lib/arctwo.c: Likewise.
75670         * lib/base64.c: Likewise.
75671         * lib/check-version.c: Likewise.
75672         * lib/crc.c: Likewise.
75673         * lib/des.c: Likewise.
75674         * lib/gc-gnulib.c: Likewise.
75675         * lib/gc-libgcrypt.c: Likewise.
75676         * lib/gc-pbkdf2-sha1.c: Likewise.
75677         * lib/getaddrinfo.c: Likewise.
75678         * lib/getdelim.c: Likewise.
75679         * lib/getline.c: Likewise.
75680         * lib/hmac-md5.c: Likewise.
75681         * lib/hmac-sha1.c: Likewise.
75682         * lib/iconvme.c: Likewise.
75683         * lib/md2.c: Likewise.
75684         * lib/md4.c: Likewise.
75685         * lib/memxor.c: Likewise.
75686         * lib/read-file.c: Likewise.
75687         * lib/readline.c: Likewise.
75688         * lib/rijndael-alg-fst.c: Likewise.
75689         * lib/rijndael-api-fst.c: Likewise.
75690         * lib/xgetdomainname.c: Likewise.
75691
75692 2006-10-28  Eric Blake  <ebb9@byu.net>
75693
75694         * lib/xstrndup.c: Assume config.h.
75695
75696 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
75697
75698         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
75699         stat-macros.h is now for our own macros, whereas stat_h is for
75700         macros in the <sys/stat.h> name space.
75701         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
75702         (STAT_MACROS_H): Remove.
75703         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
75704         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
75705         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
75706         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
75707         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
75708         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
75709         Move these macros to ...
75710         * lib/stat_.h: here.  Don't include stat-macros.h.
75711         * lib/canonicalize.c: Don't include stat-macros.h.
75712         * lib/chown.c: Likewise.
75713         * lib/euidaccess.c: Likewise.
75714         * lib/file-type.c: Likewise.
75715         * lib/filemode.c: Likewise.
75716         * lib/glob.c: Likewise.
75717         * lib/isapipe.c: Likewise.
75718         * lib/lchown.c: Likewise.
75719         * lib/lstat.c: Likewise.
75720         * lib/mkdir-p.c: Likewise.
75721         * lib/rmdir.c: Likewise.
75722         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
75723         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
75724         unless mkdir isn't declared, to speed up 'configure'.
75725         Always create sys/stat.h, since it's unlikely any real sys/stat.h
75726         would define all the S_* symbols.
75727         * modules/canonicalize (Depends-on):
75728         Depend on sys_stat, not stat-macros.
75729         * modules/chown: Likewise.
75730         * modules/euidaccess: Likewise.
75731         * modules/filemode: Likewise.
75732         * modules/file-type: Likewise.
75733         * modules/glob: Likewise.
75734         * modules/isapipe: Likewise.
75735         * modules/lchown: Likewise.
75736         * modules/lstat: Likewise.
75737         * modules/mkancesdirs: Likewise.
75738         * modules/rmdir: Likewise.
75739         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
75740         * modules/modechange: Likewise.
75741         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
75742         (configure.ac): Remove gl_STAT_MACROS.
75743         * modules/sys_stat (Depends-on): Remove stat-macros.
75744
75745 2006-10-27  Bruno Haible  <bruno@clisp.org>
75746
75747         * m4/signed.m4: Remove file.
75748         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
75749         invocation.
75750         * modules/vasnprintf (Files): Remove m4/signed.m4.
75751
75752 2006-10-27  Bruno Haible  <bruno@clisp.org>
75753
75754         Update to GNU gettext 0.16.
75755         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
75756         m4/inttypes-h.m4, m4/signed.m4.
75757         * m4/gettext.m4: Update to GNU gettext 0.16.
75758         * m4/intl.m4: New file, from GNU gettext.
75759         * m4/intldir.m4: New file, from GNU gettext.
75760         * config/srclist.txt: Update
75761
75762 2006-10-27  Eric Blake  <ebb9@byu.net>
75763
75764         * MODULES.html.sh: Document tempname.
75765         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
75766         dependencies.
75767         (Files): Move lib/tempname.c...
75768         * modules/tempname: ...to this new module.
75769         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
75770         (gl_PREREQ_TEMPNAME): Move...
75771         * m4/tempname.m4: ...to this new file.
75772         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
75773         * modules/sys_stat (Depends-on): Add stat-macros.
75774         * lib/stat_.h (includes): Pick up stat macros.
75775         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
75776         if stat macros are broken.
75777         * lib/tempname.c (includes): No need to include "stat-macros.h".
75778         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
75779         (direxists, __path_search) [!_LIBC]: Don't compile these in
75780         gnulib; the tmpdir module covers that.
75781         * lib/tempname.h: New file.
75782
75783 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
75784
75785         * COPYING: Explain how gnulib-tool converts licence headers.
75786         Almost all wording by Eric Blake.
75787
75788 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
75789
75790         * lib/mbchar.h (is_basic_table): Make read-only.
75791         * lib/mbchar.c (is_basic_table): Likewise.
75792         Reported by John Darrington.
75793
75794 2006-10-25  Bruno Haible  <bruno@clisp.org>
75795
75796         * lib/progname.h (set_program_name): Undefine before defining.
75797
75798 2006-10-25  Bruno Haible  <bruno@clisp.org>
75799
75800         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
75801         false for non-gcc C++ compilers.
75802         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
75803
75804 2006-10-24  Bruno Haible  <bruno@clisp.org>
75805
75806         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
75807         iconv implementations like Irix iconv.
75808
75809 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
75810
75811         * modules/vararrays: New file.
75812         * m4/vararrays.m4: New file, taken from diffutils.
75813         * MODULES.html.sh: New module vararrays.
75814
75815 2006-10-24  Karl Berry  <karl@gnu.org>
75816
75817         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
75818         Don't call GNU Unix.
75819
75820 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75821
75822         * users.txt: Add Libtool.
75823
75824         Sync from Libtool:
75825
75826         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
75827
75828         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
75829         to gnulib's policy of including config.h unconditionally.
75830
75831 2006-10-24  Bruno Haible  <bruno@clisp.org>
75832
75833         * modules/wcwidth (Files): Add m4/wint_t.m4.
75834         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
75835         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
75836
75837 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
75838
75839         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
75840         to pacify GCC with some -W flags enabled.  Problem reported by
75841         Bruno Haible.
75842
75843 2006-10-24  Jim Meyering  <jim@meyering.net>
75844
75845         * MODULES.html.sh: Remove uinttostr.  It's not a module.
75846         Reported by Karl Berry.
75847
75848 2006-10-23  Bruno Haible  <bruno@clisp.org>
75849
75850         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
75851
75852 2006-10-24  Bruno Haible  <bruno@clisp.org>
75853
75854         * lib/gl_list.h: Use C comment style, not C++ comment style.
75855
75856 2006-10-23  Eric Blake  <ebb9@byu.net>
75857
75858         * lib/getaddrinfo.c (includes): Add missing include.
75859
75860 2006-10-23  Bruno Haible  <bruno@clisp.org>
75861             Paul Eggert  <eggert@cs.ucla.edu>
75862
75863         Ability to rename obstack_free.
75864         * lib/obstack.h (__obstack_free): New macro. Declare instead of
75865         obstack_free.
75866         (obstack_free): Invoke the __obstack_free macro.
75867         * lib/obstack.c (obstack_free): Use __obstack_free macro.
75868
75869 2006-10-23  Bruno Haible  <bruno@clisp.org>
75870             Paul Eggert  <eggert@cs.ucla.edu>
75871
75872         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
75873         __argc, __argv from the declaration. (They are defined as macros on
75874         mingw.)
75875
75876 2006-10-22  Bruno Haible  <bruno@clisp.org>
75877
75878         * doc/gnulib-intro.texi: New file.
75879         * doc/gnulib.texi: Include it.
75880
75881 2006-10-21  Bruno Haible  <bruno@clisp.org>
75882
75883         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
75884         "Introduction", "Miscellanous Notes", "Particular Modules".
75885
75886 2006-10-21  Bruno Haible  <bruno@clisp.org>
75887
75888         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75889         Change mostlyclean-local rule to avoid sh syntax error from bash
75890         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
75891
75892 2006-10-23  Jim Meyering  <jim@meyering.net>
75893
75894         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
75895         in place of snprintf.
75896
75897         * modules/inttostr (Files): Add lib/uinttostr.c.
75898         * lib/uinttostr.c (inttostr): New file/function.
75899         * lib/inttostr.h (uinttostr): Declare.
75900         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
75901         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
75902         Add uinttostr.
75903         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
75904
75905 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
75906
75907         * lib/canonicalize.c (ELOOP): Define if not already defined.
75908         Problem reported by Bruno Haible in
75909         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
75910
75911 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
75912
75913         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
75914         Problem reported by Perry Smith and Ville Laurikari.
75915
75916         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
75917         uses.
75918
75919 2006-10-19  Bruno Haible  <bruno@clisp.org>
75920
75921         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
75922         for mingw.
75923
75924 2006-10-19  Bruno Haible  <bruno@clisp.org>
75925
75926         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
75927         Needed for mingw.
75928
75929 2006-10-19  Bruno Haible  <bruno@clisp.org>
75930
75931         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
75932
75933 2006-10-19  Bruno Haible  <bruno@clisp.org>
75934
75935         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
75936         it.
75937
75938 2006-10-19  Bruno Haible  <bruno@clisp.org>
75939
75940         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
75941         invocation.
75942
75943 2006-10-19  Bruno Haible  <bruno@clisp.org>
75944
75945         * gnulib-tool (func_create_testdir): Don't include ftruncate and
75946         mountlist by default.
75947
75948 2006-10-16  Bruno Haible  <bruno@clisp.org>
75949
75950         * lib/c-strstr.c: Include c-strstr.h.
75951
75952 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
75953
75954         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
75955         in a slash.
75956
75957 2006-10-18  Bruno Haible  <bruno@clisp.org>
75958
75959         * lib/lock.h [C++]: Wrap definitions in extern "C".
75960
75961 2006-10-18  Bruno Haible  <bruno@clisp.org>
75962
75963         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
75964         gl_LIBOBJS list.
75965
75966 2006-10-18  Bruno Haible  <bruno@clisp.org>
75967
75968         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
75969
75970 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
75971
75972         * lib/xstrtol.h: Include gettext.h.
75973         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
75974         Problem reported by Eric Blake.
75975         * modules/xstrtol (Depends-on): Add gettext-h.
75976
75977 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
75978
75979         * lib/strftime.c (advance): New macro.
75980         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
75981         incomplete type, so you can't add 0 to it.  Problem and patch
75982         reported by Eelco Dolstra for dietlibc.
75983
75984 2006-10-18  Jim Meyering  <jim@meyering.net>
75985
75986         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
75987         type for a local, and rename it: s/up/user_proc/.
75988
75989 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
75990
75991         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
75992         READ_UTMP_USER_PROCESS.
75993         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
75994
75995 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
75996
75997         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
75998         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
75999
76000 2006-10-17  Eric Blake  <ebb9@byu.net>
76001
76002         * lib/sigprocmask.c (sigprocmask): Fix typo.
76003
76004         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
76005
76006         * modules/clean-temp (Makefile.am): Don't add to make output...
76007         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
76008         config.h.
76009
76010 2006-10-17  Bruno Haible  <bruno@clisp.org>
76011
76012         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
76013         differently if DEFAULT_TEXT_DOMAIN is set.
76014
76015 2006-10-16  Bruno Haible  <bruno@clisp.org>
76016
76017         * lib/clean-temp.c: Include fwriteerror.h.
76018
76019 2006-10-16  Bruno Haible  <bruno@clisp.org>
76020
76021         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
76022
76023 2006-10-16  Bruno Haible  <bruno@clisp.org>
76024
76025         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
76026         * lib/sigprocmask.h: Include <sys/types.h>.
76027         (sigset_t): Use the system's definition if present.
76028
76029 2006-10-17  Eric Blake  <ebb9@byu.net>
76030
76031         * lib/xvasprintf.c (includes): Assume config.h.
76032         * lib/xasprintf.c (includes): Likewise.
76033
76034 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
76035
76036         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
76037         at least as wide as intmax_t.
76038
76039 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
76040
76041         (Imported from Automake.)
76042         * build-aux/gnupload: Update to version 1.1 of directive file.
76043
76044 2006-10-16  Eric Blake  <ebb9@byu.net>
76045
76046         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
76047         match Automake 1.10a.
76048
76049 2006-10-14  Bruno Haible  <bruno@clisp.org>
76050
76051         * modules/sigprocmask: New file.
76052         * lib/sigprocmask.h: New file.
76053         * lib/sigprocmask.c: New file.
76054         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
76055         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
76056         request sigprocmask.o.
76057         (gl_PREREQ_SIGPROCMASK): New macro.
76058         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
76059         (Depends-on): Add sigprocmask.
76060         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
76061         gt_SIGNALBLOCKING. Test for 'raise' only once.
76062         * lib/fatal-signal.c: Include sigprocmask.h.
76063         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
76064         unblock_fatal_signals): Define always.
76065         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76066         sigprocmask.
76067
76068 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76069
76070         Sync from Automake.
76071         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
76072         which incorrectly sets the mode of an existing destination
76073         directory.  In some cases the unpatched install-sh could do the
76074         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
76075         system.  We hope this is rare in practice, but it's clearly worth
76076         fixing.  Problem reported by Alex Unleashed in
76077         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
76078         Also, don't bother to check for -m bugs unless we're using -m;
76079         suggested by Stepan Kasal.
76080
76081 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76082
76083         Sync from Automake.
76084         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
76085         `-c' flag, so they appear at the same position as in %FASTDEP%
76086         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
76087         which ignores unknown options only after the first non-option.
76088         Bug report against M4 by Nelson H. F. Beebe.
76089
76090 2006-10-13  Jim Meyering  <jim@meyering.net>
76091
76092         Fix a bug in yesterday's change.
76093         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
76094         p->fts_statp->st_dev would be used uninitialized.
76095         Ensures that we always call fts_stat on the very first entry.
76096         Miklos Szeredi reported that find -xdev stopped working.
76097
76098 2006-10-12  Bruno Haible  <bruno@clisp.org>
76099
76100         * gnulib-tool (func_get_automake_snippet): Append an automatically
76101         computed EXTRA_DIST augmentation.
76102         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
76103         * modules/alloca-opt (Makefile.am): Likewise.
76104         * modules/allocsa (Makefile.am): Likewise.
76105         * modules/arcfour (Makefile.am): Likewise.
76106         * modules/arctwo (Makefile.am): Likewise.
76107         * modules/argmatch (Makefile.am): Likewise.
76108         * modules/argz (Makefile.am): Likewise.
76109         * modules/atexit (Makefile.am): Likewise.
76110         * modules/backupfile (Makefile.am): Likewise.
76111         * modules/byteswap (Makefile.am): Likewise.
76112         * modules/c-strtod (Makefile.am): Likewise.
76113         * modules/c-strtold (Makefile.am): Likewise.
76114         * modules/calloc (Makefile.am): Likewise.
76115         * modules/canon-host (Makefile.am): Likewise.
76116         * modules/canonicalize (Makefile.am): Likewise.
76117         * modules/chdir-long (Makefile.am): Likewise.
76118         * modules/chdir-safer (Makefile.am): Likewise.
76119         * modules/check-version (Makefile.am): Likewise.
76120         * modules/chown (Makefile.am): Likewise.
76121         * modules/cloexec (Makefile.am): Likewise.
76122         * modules/close-stream (Makefile.am): Likewise.
76123         * modules/closeout (Makefile.am): Likewise.
76124         * modules/crc (Makefile.am): Likewise.
76125         * modules/csharpexec (Makefile.am): Likewise.
76126         * modules/cycle-check (Makefile.am): Likewise.
76127         * modules/des (Makefile.am): Likewise.
76128         * modules/dev-ino (Makefile.am): Likewise.
76129         * modules/dirfd (Makefile.am): Likewise.
76130         * modules/dirname (Makefile.am): Likewise.
76131         * modules/dup2 (Makefile.am): Likewise.
76132         * modules/eealloc (Makefile.am): Likewise.
76133         * modules/error (Makefile.am): Likewise.
76134         * modules/euidaccess (Makefile.am): Likewise.
76135         * modules/exclude (Makefile.am): Likewise.
76136         * modules/exitfail (Makefile.am): Likewise.
76137         * modules/fcntl-safer (Makefile.am): Likewise.
76138         * modules/fcntl (Makefile.am): Likewise.
76139         * modules/file-type (Makefile.am): Likewise.
76140         * modules/fileblocks (Makefile.am): Likewise.
76141         * modules/filemode (Makefile.am): Likewise.
76142         * modules/filenamecat (Makefile.am): Likewise.
76143         * modules/fnmatch (Makefile.am): Likewise.
76144         * modules/fopen-safer (Makefile.am): Likewise.
76145         * modules/fpending (Makefile.am): Likewise.
76146         * modules/fprintftime (Makefile.am): Likewise.
76147         * modules/free (Makefile.am): Likewise.
76148         * modules/fsusage (Makefile.am): Likewise.
76149         * modules/ftruncate (Makefile.am): Likewise.
76150         * modules/fts (Makefile.am): Likewise.
76151         * modules/gc-arcfour (Makefile.am): Likewise.
76152         * modules/gc-des (Makefile.am): Likewise.
76153         * modules/gc-hmac-md5 (Makefile.am): Likewise.
76154         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
76155         * modules/gc-md4 (Makefile.am): Likewise.
76156         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76157         * modules/gc-sha1 (Makefile.am): Likewise.
76158         * modules/gc (Makefile.am): Likewise.
76159         * modules/getaddrinfo (Makefile.am): Likewise.
76160         * modules/getcwd (Makefile.am): Likewise.
76161         * modules/getdelim (Makefile.am): Likewise.
76162         * modules/getdomainname (Makefile.am): Likewise.
76163         * modules/getgroups (Makefile.am): Likewise.
76164         * modules/gethostname (Makefile.am): Likewise.
76165         * modules/gethrxtime (Makefile.am): Likewise.
76166         * modules/getline (Makefile.am): Likewise.
76167         * modules/getloadavg (Makefile.am): Likewise.
76168         * modules/getlogin_r (Makefile.am): Likewise.
76169         * modules/getndelim2 (Makefile.am): Likewise.
76170         * modules/getopt (Makefile.am): Likewise.
76171         * modules/getpagesize (Makefile.am): Likewise.
76172         * modules/getpass-gnu (Makefile.am): Likewise.
76173         * modules/getpass (Makefile.am): Likewise.
76174         * modules/getsubopt (Makefile.am): Likewise.
76175         * modules/gettime (Makefile.am): Likewise.
76176         * modules/gettimeofday (Makefile.am): Likewise.
76177         * modules/getugroups (Makefile.am): Likewise.
76178         * modules/getusershell (Makefile.am): Likewise.
76179         * modules/glob (Makefile.am): Likewise.
76180         * modules/group-member (Makefile.am): Likewise.
76181         * modules/hard-locale (Makefile.am): Likewise.
76182         * modules/hash (Makefile.am): Likewise.
76183         * modules/hmac-md5 (Makefile.am): Likewise.
76184         * modules/hmac-sha1 (Makefile.am): Likewise.
76185         * modules/human (Makefile.am): Likewise.
76186         * modules/idcache (Makefile.am): Likewise.
76187         * modules/imaxabs (Makefile.am): Likewise.
76188         * modules/imaxdiv (Makefile.am): Likewise.
76189         * modules/inet_ntop (Makefile.am): Likewise.
76190         * modules/inet_pton (Makefile.am): Likewise.
76191         * modules/intprops (Makefile.am): Likewise.
76192         * modules/inttostr (Makefile.am): Likewise.
76193         * modules/inttypes (Makefile.am): Likewise.
76194         * modules/isapipe (Makefile.am): Likewise.
76195         * modules/javaversion (Makefile.am): Likewise.
76196         * modules/lchmod (Makefile.am): Likewise.
76197         * modules/lchown (Makefile.am): Likewise.
76198         * modules/localcharset (Makefile.am): Likewise.
76199         * modules/long-options (Makefile.am): Likewise.
76200         * modules/lstat (Makefile.am): Likewise.
76201         * modules/malloc (Makefile.am): Likewise.
76202         * modules/mathl (Makefile.am): Likewise.
76203         * modules/mbchar (Makefile.am): Likewise.
76204         * modules/md2 (Makefile.am): Likewise.
76205         * modules/md4 (Makefile.am): Likewise.
76206         * modules/md5 (Makefile.am): Likewise.
76207         * modules/memcasecmp (Makefile.am): Likewise.
76208         * modules/memchr (Makefile.am): Likewise.
76209         * modules/memcmp (Makefile.am): Likewise.
76210         * modules/memcoll (Makefile.am): Likewise.
76211         * modules/memcpy (Makefile.am): Likewise.
76212         * modules/memmem (Makefile.am): Likewise.
76213         * modules/memmove (Makefile.am): Likewise.
76214         * modules/mempcpy (Makefile.am): Likewise.
76215         * modules/memrchr (Makefile.am): Likewise.
76216         * modules/memset (Makefile.am): Likewise.
76217         * modules/memxor (Makefile.am): Likewise.
76218         * modules/mkancesdirs (Makefile.am): Likewise.
76219         * modules/mkdir-p (Makefile.am): Likewise.
76220         * modules/mkdir (Makefile.am): Likewise.
76221         * modules/mkdtemp (Makefile.am): Likewise.
76222         * modules/mkstemp (Makefile.am): Likewise.
76223         * modules/mktime (Makefile.am): Likewise.
76224         * modules/modechange (Makefile.am): Likewise.
76225         * modules/mountlist (Makefile.am): Likewise.
76226         * modules/nanosleep (Makefile.am): Likewise.
76227         * modules/obstack (Makefile.am): Likewise.
76228         * modules/openat (Makefile.am): Likewise.
76229         * modules/pagealign_alloc (Makefile.am): Likewise.
76230         * modules/pathmax (Makefile.am): Likewise.
76231         * modules/physmem (Makefile.am): Likewise.
76232         * modules/poll (Makefile.am): Likewise.
76233         * modules/posixtm (Makefile.am): Likewise.
76234         * modules/posixver (Makefile.am): Likewise.
76235         * modules/putenv (Makefile.am): Likewise.
76236         * modules/quote (Makefile.am): Likewise.
76237         * modules/quotearg (Makefile.am): Likewise.
76238         * modules/raise (Makefile.am): Likewise.
76239         * modules/read-file (Makefile.am): Likewise.
76240         * modules/readline (Makefile.am): Likewise.
76241         * modules/readlink (Makefile.am): Likewise.
76242         * modules/readtokens (Makefile.am): Likewise.
76243         * modules/readutmp (Makefile.am): Likewise.
76244         * modules/realloc (Makefile.am): Likewise.
76245         * modules/regex (Makefile.am): Likewise.
76246         * modules/rename-dest-slash (Makefile.am): Likewise.
76247         * modules/rename (Makefile.am): Likewise.
76248         * modules/rijndael (Makefile.am): Likewise.
76249         * modules/rmdir (Makefile.am): Likewise.
76250         * modules/rpmatch (Makefile.am): Likewise.
76251         * modules/safe-read (Makefile.am): Likewise.
76252         * modules/safe-write (Makefile.am): Likewise.
76253         * modules/same-inode (Makefile.am): Likewise.
76254         * modules/same (Makefile.am): Likewise.
76255         * modules/save-cwd (Makefile.am): Likewise.
76256         * modules/savedir (Makefile.am): Likewise.
76257         * modules/setenv (Makefile.am): Likewise.
76258         * modules/settime (Makefile.am): Likewise.
76259         * modules/sha1 (Makefile.am): Likewise.
76260         * modules/sig2str (Makefile.am): Likewise.
76261         * modules/snprintf (Makefile.am): Likewise.
76262         * modules/stat-macros (Makefile.am): Likewise.
76263         * modules/stat-time (Makefile.am): Likewise.
76264         * modules/stdbool (Makefile.am): Likewise.
76265         * modules/stdint (Makefile.am): Likewise.
76266         * modules/stdlib-safer (Makefile.am): Likewise.
76267         * modules/stpcpy (Makefile.am): Likewise.
76268         * modules/stpncpy (Makefile.am): Likewise.
76269         * modules/strcase (Makefile.am): Likewise.
76270         * modules/strcasestr (Makefile.am): Likewise.
76271         * modules/strchrnul (Makefile.am): Likewise.
76272         * modules/strcspn (Makefile.am): Likewise.
76273         * modules/strdup (Makefile.am): Likewise.
76274         * modules/strerror (Makefile.am): Likewise.
76275         * modules/strftime (Makefile.am): Likewise.
76276         * modules/strndup (Makefile.am): Likewise.
76277         * modules/strnlen (Makefile.am): Likewise.
76278         * modules/strpbrk (Makefile.am): Likewise.
76279         * modules/strsep (Makefile.am): Likewise.
76280         * modules/strstr (Makefile.am): Likewise.
76281         * modules/strtod (Makefile.am): Likewise.
76282         * modules/strtoimax (Makefile.am): Likewise.
76283         * modules/strtok_r (Makefile.am): Likewise.
76284         * modules/strtol (Makefile.am): Likewise.
76285         * modules/strtoll (Makefile.am): Likewise.
76286         * modules/strtoul (Makefile.am): Likewise.
76287         * modules/strtoull (Makefile.am): Likewise.
76288         * modules/strtoumax (Makefile.am): Likewise.
76289         * modules/strverscmp (Makefile.am): Likewise.
76290         * modules/sys_socket (Makefile.am): Likewise.
76291         * modules/sys_stat (Makefile.am): Likewise.
76292         * modules/sysexits (Makefile.am): Likewise.
76293         * modules/time_r (Makefile.am): Likewise.
76294         * modules/timegm (Makefile.am): Likewise.
76295         * modules/timespec (Makefile.am): Likewise.
76296         * modules/tmpfile-safer (Makefile.am): Likewise.
76297         * modules/trim (Makefile.am): Likewise.
76298         * modules/unistd-safer (Makefile.am): Likewise.
76299         * modules/unlinkdir (Makefile.am): Likewise.
76300         * modules/unlocked-io (Makefile.am): Likewise.
76301         * modules/userspec (Makefile.am): Likewise.
76302         * modules/utime (Makefile.am): Likewise.
76303         * modules/utimecmp (Makefile.am): Likewise.
76304         * modules/utimens (Makefile.am): Likewise.
76305         * modules/vasnprintf (Makefile.am): Likewise.
76306         * modules/vasprintf (Makefile.am): Likewise.
76307         * modules/vsnprintf (Makefile.am): Likewise.
76308         * modules/xalloc (Makefile.am): Likewise.
76309         * modules/xgetcwd (Makefile.am): Likewise.
76310         * modules/xnanosleep (Makefile.am): Likewise.
76311         * modules/xreadlink (Makefile.am): Likewise.
76312         * modules/xstrtod (Makefile.am): Likewise.
76313         * modules/xstrtol (Makefile.am): Likewise.
76314         * modules/xstrtold (Makefile.am): Likewise.
76315         * modules/yesno (Makefile.am): Likewise.
76316         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
76317
76318 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
76319
76320         * modules/error (Makefile.am): Distribute files through
76321         EXTRA_DIST, not lib_SOURCES.
76322
76323 2006-10-12  Eric Blake  <ebb9@byu.net>
76324
76325         * modules/error (Makefile.am): Distribute files in /lib.
76326         * modules/obstack (Makefile.am): Likewise.
76327
76328 2006-10-12  Bruno Haible  <bruno@clisp.org>
76329
76330         * modules/acl (Makefile.am): Distribute all files in lib/ through
76331         EXTRA_DIST.
76332         * modules/arcfour (Makefile.am): Likewise.
76333         * modules/arctwo (Makefile.am): Likewise.
76334         * modules/argmatch (Makefile.am): Likewise.
76335         * modules/argz (Makefile.am): Likewise.
76336         * modules/atexit (Makefile.am): Likewise.
76337         * modules/backupfile (Makefile.am): Likewise.
76338         * modules/c-strtod (Makefile.am): Likewise.
76339         * modules/c-strtold (Makefile.am): Likewise.
76340         * modules/calloc (Makefile.am): Likewise.
76341         * modules/canon-host (Makefile.am): Likewise.
76342         * modules/canonicalize (Makefile.am): Likewise.
76343         * modules/chdir-long (Makefile.am): Likewise.
76344         * modules/chdir-safer (Makefile.am): Likewise.
76345         * modules/check-version (Makefile.am): Likewise.
76346         * modules/chown (Makefile.am): Likewise.
76347         * modules/cloexec (Makefile.am): Likewise.
76348         * modules/close-stream (Makefile.am): Likewise.
76349         * modules/closeout (Makefile.am): Likewise.
76350         * modules/crc (Makefile.am): Likewise.
76351         * modules/cycle-check (Makefile.am): Likewise.
76352         * modules/des (Makefile.am): Likewise.
76353         * modules/dirfd (Makefile.am): Likewise.
76354         * modules/dirname (Makefile.am): Likewise.
76355         * modules/dup2 (Makefile.am): Likewise.
76356         * modules/euidaccess (Makefile.am): Likewise.
76357         * modules/exclude (Makefile.am): Likewise.
76358         * modules/exitfail (Makefile.am): Likewise.
76359         * modules/fcntl-safer (Makefile.am): Likewise.
76360         * modules/file-type (Makefile.am): Likewise.
76361         * modules/fileblocks (Makefile.am): Likewise.
76362         * modules/filemode (Makefile.am): Likewise.
76363         * modules/filenamecat (Makefile.am): Likewise.
76364         * modules/fnmatch (Makefile.am): Likewise.
76365         * modules/fopen-safer (Makefile.am): Likewise.
76366         * modules/fpending (Makefile.am): Likewise.
76367         * modules/fprintftime (Makefile.am): Likewise.
76368         * modules/free (Makefile.am): Likewise.
76369         * modules/fsusage (Makefile.am): Likewise.
76370         * modules/ftruncate (Makefile.am): Likewise.
76371         * modules/fts (Makefile.am): Likewise.
76372         * modules/gc (Makefile.am): Likewise.
76373         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76374         * modules/getaddrinfo (Makefile.am): Likewise.
76375         * modules/getcwd (Makefile.am): Likewise.
76376         * modules/getdelim (Makefile.am): Likewise.
76377         * modules/getdomainname (Makefile.am): Likewise.
76378         * modules/getgroups (Makefile.am): Likewise.
76379         * modules/gethostname (Makefile.am): Likewise.
76380         * modules/gethrxtime (Makefile.am): Likewise.
76381         * modules/getline (Makefile.am): Likewise.
76382         * modules/getloadavg (Makefile.am): Likewise.
76383         * modules/getlogin_r (Makefile.am): Likewise.
76384         * modules/getopt (Makefile.am): Likewise.
76385         * modules/getpass (Makefile.am): Likewise.
76386         * modules/getpass-gnu (Makefile.am): Likewise.
76387         * modules/getsubopt (Makefile.am): Likewise.
76388         * modules/gettime (Makefile.am): Likewise.
76389         * modules/gettimeofday (Makefile.am): Likewise.
76390         * modules/getugroups (Makefile.am): Likewise.
76391         * modules/getusershell (Makefile.am): Likewise.
76392         * modules/glob (Makefile.am): Likewise.
76393         * modules/group-member (Makefile.am): Likewise.
76394         * modules/hard-locale (Makefile.am): Likewise.
76395         * modules/hash (Makefile.am): Likewise.
76396         * modules/hmac-md5 (Makefile.am): Likewise.
76397         * modules/hmac-sha1 (Makefile.am): Likewise.
76398         * modules/human (Makefile.am): Likewise.
76399         * modules/idcache (Makefile.am): Likewise.
76400         * modules/imaxabs (Makefile.am): Likewise.
76401         * modules/imaxdiv (Makefile.am): Likewise.
76402         * modules/inet_ntop (Makefile.am): Likewise.
76403         * modules/inet_pton (Makefile.am): Likewise.
76404         * modules/inttostr (Makefile.am): Likewise.
76405         * modules/isapipe (Makefile.am): Likewise.
76406         * modules/lchown (Makefile.am): Likewise.
76407         * modules/long-options (Makefile.am): Likewise.
76408         * modules/lstat (Makefile.am): Likewise.
76409         * modules/malloc (Makefile.am): Likewise.
76410         * modules/mathl (Makefile.am): Likewise.
76411         * modules/mbchar (Makefile.am): Likewise.
76412         * modules/md2 (Makefile.am): Likewise.
76413         * modules/md4 (Makefile.am): Likewise.
76414         * modules/md5 (Makefile.am): Likewise.
76415         * modules/memcasecmp (Makefile.am): Likewise.
76416         * modules/memchr (Makefile.am): Likewise.
76417         * modules/memcmp (Makefile.am): Likewise.
76418         * modules/memcoll (Makefile.am): Likewise.
76419         * modules/memcpy (Makefile.am): Likewise.
76420         * modules/memmem (Makefile.am): Likewise.
76421         * modules/memmove (Makefile.am): Likewise.
76422         * modules/mempcpy (Makefile.am): Likewise.
76423         * modules/memrchr (Makefile.am): Likewise.
76424         * modules/memset (Makefile.am): Likewise.
76425         * modules/memxor (Makefile.am): Likewise.
76426         * modules/mkancesdirs (Makefile.am): Likewise.
76427         * modules/mkdir (Makefile.am): Likewise.
76428         * modules/mkdir-p (Makefile.am): Likewise.
76429         * modules/mkdtemp (Makefile.am): Likewise.
76430         * modules/mkstemp (Makefile.am): Likewise.
76431         * modules/mktime (Makefile.am): Likewise.
76432         * modules/modechange (Makefile.am): Likewise.
76433         * modules/mountlist (Makefile.am): Likewise.
76434         * modules/nanosleep (Makefile.am): Likewise.
76435         * modules/openat (Makefile.am): Likewise.
76436         * modules/pagealign_alloc (Makefile.am): Likewise.
76437         * modules/physmem (Makefile.am): Likewise.
76438         * modules/poll (Makefile.am): Likewise.
76439         * modules/posixtm (Makefile.am): Likewise.
76440         * modules/posixver (Makefile.am): Likewise.
76441         * modules/putenv (Makefile.am): Likewise.
76442         * modules/quote (Makefile.am): Likewise.
76443         * modules/quotearg (Makefile.am): Likewise.
76444         * modules/raise (Makefile.am): Likewise.
76445         * modules/read-file (Makefile.am): Likewise.
76446         * modules/readline (Makefile.am): Likewise.
76447         * modules/readlink (Makefile.am): Likewise.
76448         * modules/readtokens (Makefile.am): Likewise.
76449         * modules/readutmp (Makefile.am): Likewise.
76450         * modules/realloc (Makefile.am): Likewise.
76451         * modules/regex (Makefile.am): Likewise.
76452         * modules/rename (Makefile.am): Likewise.
76453         * modules/rename-dest-slash (Makefile.am): Likewise.
76454         * modules/rijndael (Makefile.am): Likewise.
76455         * modules/rmdir (Makefile.am): Likewise.
76456         * modules/rpmatch (Makefile.am): Likewise.
76457         * modules/safe-read (Makefile.am): Likewise.
76458         * modules/safe-write (Makefile.am): Likewise.
76459         * modules/same (Makefile.am): Likewise.
76460         * modules/save-cwd (Makefile.am): Likewise.
76461         * modules/savedir (Makefile.am): Likewise.
76462         * modules/setenv (Makefile.am): Likewise.
76463         * modules/settime (Makefile.am): Likewise.
76464         * modules/sha1 (Makefile.am): Likewise.
76465         * modules/sig2str (Makefile.am): Likewise.
76466         * modules/snprintf (Makefile.am): Likewise.
76467         * modules/stdlib-safer (Makefile.am): Likewise.
76468         * modules/stpcpy (Makefile.am): Likewise.
76469         * modules/stpncpy (Makefile.am): Likewise.
76470         * modules/strcase (Makefile.am): Likewise.
76471         * modules/strcasestr (Makefile.am): Likewise.
76472         * modules/strchrnul (Makefile.am): Likewise.
76473         * modules/strcspn (Makefile.am): Likewise.
76474         * modules/strdup (Makefile.am): Likewise.
76475         * modules/strerror (Makefile.am): Likewise.
76476         * modules/strftime (Makefile.am): Likewise.
76477         * modules/strndup (Makefile.am): Likewise.
76478         * modules/strnlen (Makefile.am): Likewise.
76479         * modules/strpbrk (Makefile.am): Likewise.
76480         * modules/strsep (Makefile.am): Likewise.
76481         * modules/strstr (Makefile.am): Likewise.
76482         * modules/strtod (Makefile.am): Likewise.
76483         * modules/strtoimax (Makefile.am): Likewise.
76484         * modules/strtok_r (Makefile.am): Likewise.
76485         * modules/strtol (Makefile.am): Likewise.
76486         * modules/strtoll (Makefile.am): Likewise.
76487         * modules/strtoul (Makefile.am): Likewise.
76488         * modules/strtoull (Makefile.am): Likewise.
76489         * modules/strtoumax (Makefile.am): Likewise.
76490         * modules/strverscmp (Makefile.am): Likewise.
76491         * modules/time_r (Makefile.am): Likewise.
76492         * modules/timegm (Makefile.am): Likewise.
76493         * modules/tmpfile-safer (Makefile.am): Likewise.
76494         * modules/unistd-safer (Makefile.am): Likewise.
76495         * modules/unlinkdir (Makefile.am): Likewise.
76496         * modules/userspec (Makefile.am): Likewise.
76497         * modules/utime (Makefile.am): Likewise.
76498         * modules/utimecmp (Makefile.am): Likewise.
76499         * modules/utimens (Makefile.am): Likewise.
76500         * modules/vasnprintf (Makefile.am): Likewise.
76501         * modules/vasprintf (Makefile.am): Likewise.
76502         * modules/vsnprintf (Makefile.am): Likewise.
76503         * modules/xalloc (Makefile.am): Likewise.
76504         * modules/xgetcwd (Makefile.am): Likewise.
76505         * modules/xnanosleep (Makefile.am): Likewise.
76506         * modules/xreadlink (Makefile.am): Likewise.
76507         * modules/xstrtod (Makefile.am): Likewise.
76508         * modules/xstrtol (Makefile.am): Likewise.
76509         * modules/xstrtold (Makefile.am): Likewise.
76510         * modules/yesno (Makefile.am): Likewise.
76511
76512 2006-10-12  Jim Meyering  <jim@meyering.net>
76513
76514         * m4/getloadavg.m4: Revert the change below.
76515
76516         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
76517         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
76518         fail with a symlink, which is what coreutils' ./bootstrap now
76519         creates by default.
76520
76521 2006-10-12  Bruno Haible  <bruno@clisp.org>
76522
76523         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
76524         mingw.
76525         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
76526         MSVC and mingw explicitly.
76527
76528 2006-10-11  Simon Josefsson  <jas@extundo.com>
76529             Bruno Haible  <bruno@clisp.org>
76530
76531         Add support for multiple gnulib-tool invocations in the scope of a
76532         single configure.ac file.
76533         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
76534         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
76535         with the same contents as the _LIBADD variable.
76536         (func_emit_initmacro_start, func_emit_initmacro_end,
76537         func_emit_initmacro_done): New functions.
76538         (func_import, func_create_testdir): Invoke them. Allow the identifiers
76539         gl_LIBOBJS and gl_LTLIBOBJS.
76540
76541 2006-10-11  Bruno Haible  <bruno@clisp.org>
76542
76543         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
76544         (func_create_testdir): Don't create po/Makefile.am, don't invoke
76545         autoreconf. Instead, invoke autopoint explicitly but move back the
76546         *.m4 files from gnulib.
76547
76548 2006-10-11  Bruno Haible  <bruno@clisp.org>
76549
76550         * gnulib-tool (func_usage): Make module names after --create-testdir
76551         optional.
76552         (func_create_testdir): If no module was specified, use nearly all
76553         modules.
76554
76555 2006-10-12  Jim Meyering  <jim@meyering.net>
76556
76557         Big performance improvement for fts-based tools that use FTS_NOSTAT.
76558         Avoid spurious inode-mismatch problems on non-POSIX file systems.
76559         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
76560         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
76561         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
76562         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
76563         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
76564         (fts_set_stat_required): New function.
76565         (fts_open): Defer the calls to fts_stat, if possible or requested.
76566         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
76567         into fts_stat itself.
76568         (fts_read): Perform any required (deferred) fts_stat call.
76569         (fts_build): Likewise, for the directory we're about to open and read.
76570         In the readdir loop, carefully decide whether each entry will require
76571         an eventual call to fts_stat, using dirent.d_type info if available.
76572         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
76573         a command line argument into this function.  Update all callers.
76574         Map a return value of FTS_DOT to FTS_D for a command line argument.
76575         * modules/fts (Depends-on): Add d-type.  Alphabetize.
76576         Thanks to Miklos Szeredi for his tenacity and for the initial
76577         bug report about "find" failing on a FUSE-based file system.
76578
76579         * lib/fts.c (fts_open): Use consistent indentation.
76580
76581 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
76582
76583         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
76584         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
76585         reported by Jim Meyering.  All uses of cache variables renamed
76586         to match Autoconf's.
76587         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
76588         the other one.
76589
76590         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
76591         Fix misspelling in diagnostic.
76592
76593 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
76594
76595         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
76596         defined.  Problem reported by Matthew Woehlke.
76597
76598         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
76599         Add support for Tandem NonStop R series.
76600         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
76601         Use new macro.
76602
76603         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
76604         (has_trailing_slash): Omit size arg; all callers changed.
76605         Omit 'inline', since it doesn't help performance and we'd
76606         need to configure it.
76607         Don't count //, ///, etc. as having a trailing slash.
76608         As a side effect, this removes a C99ism reported by Matthew Woehlke.
76609         (rpl_rename_dest_slash): On failure, use rename's errno rather
76610         than (in some cases) an incorrect or junk errno.
76611         Simplify code by removing need to compute length; this does
76612         cause it to make two passes instead of one over the file name,
76613         but it's worth it.
76614
76615         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
76616         change, since Autoconf's version may no longer be appropriate now
76617         that we are using CVS Autoconf's version.  Add support for Tandem.
76618
76619 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
76620             Bruno Haible  <bruno@clisp.org>
76621
76622         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
76623         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
76624         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
76625         gl_AC_TYPE_LONG_LONG.
76626
76627         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
76628         instead of HAVE_LONG_LONG.
76629         * lib/printf-args.c (printf_fetchargs): Likewise.
76630         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
76631         * lib/vasnprintf.c (VASNPRINTF): Likewise.
76632         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
76633         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
76634         gl_AC_TYPE_LONG_LONG.
76635
76636 2006-10-11  Bruno Haible  <bruno@clisp.org>
76637
76638         * m4/longlong.m4: Add comments.
76639         * m4/ulonglong.m4: Likewise.
76640
76641 2006-10-10  Bruno Haible  <bruno@clisp.org>
76642
76643         Make it possible to #define stpcpy, strdup to aliases.
76644         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
76645         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
76646
76647 2006-10-10  Bruno Haible  <bruno@clisp.org>
76648
76649         Make it possible to #define gcd to an alias.
76650         * lib/gcd.c: Include config.h.
76651
76652 2006-10-10  Bruno Haible  <bruno@clisp.org>
76653
76654         Make it possible to #define c_isascii to an alias.
76655         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
76656         defined. Undefine the macros before defining them, to avoid gcc
76657         warnings.
76658         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
76659         define NO_C_CTYPE_MACROS early.
76660
76661 2006-10-10  Bruno Haible  <bruno@clisp.org>
76662
76663         Make it possible to #define set_program_name to an alias.
76664         * lib/progname.c: Don't undefine set_program_name; instead, undefine
76665         ENABLE_RELOCATABLE early.
76666
76667 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
76668
76669         Port to Tandem NSK OSS, which has 64-bit signed int but at most
76670         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
76671         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
76672         More generally, don't assume that 64-bit signed int is available
76673         if unsigned int is, and vice versa.
76674         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
76675         unsigned symbols, not on their signed counterparts.
76676         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
76677         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
76678         (UINT64_C, UINTMAX_C):
76679         Likewise.
76680         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
76681         unsigned counterparts.
76682         (Have_long_long, Unsigned): New macros.
76683         (Int): Renamed from INT.
76684         (strtoimax): Use the new macros.
76685         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
76686         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
76687         * modules/inttypes (inttypes.h): Substitute
76688         HAVE_UNSIGNED_LONG_LONG_INT.
76689         * modules/stdint (stdint.h): Likewise.
76690         (Files): Add m4/ulonglong.m4.
76691
76692 2006-10-10  Bruno Haible  <bruno@clisp.org>
76693
76694         Fix a gcc -Wshadow warning.
76695         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
76696         to 'bucket'.
76697         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
76698         gl_linked_indexof_from_to): Likewise.
76699         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
76700         Likewise.
76701         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
76702         Likewise.
76703         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
76704         Reported by Eric Blake.
76705
76706 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
76707
76708         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
76709         for NetBSD.  Problem reported by Bruno Haible.
76710
76711 2006-10-09  Jim Meyering  <jim@meyering.net>
76712
76713         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
76714         Patch from Bruno Haible.
76715
76716 2006-10-09  Jim Meyering  <jim@meyering.net>
76717
76718         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
76719         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
76720         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
76721
76722 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
76723
76724         Don't include <config.h> twice; this doesn't work in some cases,
76725         e.g., when config.h has "#define intmax_t long long int" and
76726         we include <config.h>, <inttypes.h>, <config.h> in that order.
76727         Problem reported by Matthew Woehlke in:
76728         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
76729         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
76730         * lib/fts-cycle.c: Don't include config.h.
76731         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
76732         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
76733         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
76734         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
76735         inttypes.h.
76736         * lib/xstrtoumax.c: Likewise.
76737         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
76738         __strtol and the like, so that this module is more like its siblings.
76739         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
76740         Remove; no longer needed now that we assume gnulib inttypes.h.
76741
76742 2006-10-08  Bruno Haible  <bruno@clisp.org>
76743
76744         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
76745         option.
76746
76747 2006-10-07  Jim Meyering  <jim@meyering.net>
76748
76749         * modules/inttypes (inttypes.h): Revert what seems to have been
76750         an inadvertent part of today's change: use "|", not "/" in the
76751         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
76752
76753 2006-10-07  Bruno Haible  <bruno@clisp.org>
76754
76755         * modules/sublist: New file.
76756
76757 2006-10-07  Bruno Haible  <bruno@clisp.org>
76758
76759         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
76760         * modules/argz (argz.h): Likewise.
76761         * modules/arpa_inet (arpa/inet.h): Likewise.
76762         * modules/byteswap (byteswap.h): Likewise.
76763         * modules/configmake (configmake.h): Likewise.
76764         * modules/fcntl (fcntl.h): Likewise.
76765         * modules/fnmatch (fnmatch.h): Likewise.
76766         * modules/getopt (getopt.h): Likewise.
76767         * modules/glob (glob.h): Likewise.
76768         * modules/inttypes (inttypes.h): Likewise.
76769         * modules/netinet_in (netinet/in.h): Likewise.
76770         * modules/poll (poll.h): Likewise.
76771         * modules/stdbool (stdbool.h): Likewise.
76772         * modules/stdint (stdint.h): Likewise.
76773         * modules/sys_select (sys/select.h): Likewise.
76774         * modules/sys_socket (sys/socket.h): Likewise.
76775         * modules/sys_stat (sys/stat.h): Likewise.
76776         * modules/sysexits (sysexits.h): Likewise.
76777         * modules/unistd (unistd.h): Likewise.
76778         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76779         Add a "DO NOT EDIT" comment to the generated file.
76780         (func_import): Likewise for gnulib-comp.m4.
76781
76782 2006-10-07  Bruno Haible  <bruno@clisp.org>
76783
76784         * lib/gl_sublist.h: New file.
76785         * lib/gl_sublist.c: New file.
76786
76787 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
76788
76789         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
76790         name (relative to the original working directory) and the file
76791         name component (relative to the temporary working directory).  All
76792         callers changed.
76793         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
76794         * lib/mkdir-p.c (make_dir_parents): Likewise.
76795         * lib/mkdir-p.h (make_dir_parents): Likewise.
76796
76797 2006-10-06  Eric Blake  <ebb9@byu.net>
76798
76799         Define several macros for use by the clean-temp module.
76800         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
76801         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
76802         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
76803
76804         * lib/clean-temp.h (close_stream_temp): New declaration.
76805         * lib/clean-temp.c (includes): Pull in headers according to what
76806         other modules are in use.
76807         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
76808
76809 2006-10-06  Bruno Haible  <bruno@clisp.org>
76810
76811         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
76812         instead of fopen, fwriteerror.
76813
76814 2006-10-06  Bruno Haible  <bruno@clisp.org>
76815
76816         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
76817         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
76818         int.
76819         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
76820         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
76821         Return an error indicator.
76822         Suggested by Eric Blake.
76823
76824 2006-10-06  Bruno Haible  <bruno@clisp.org>
76825
76826         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
76827         Reported by Eric Blake.
76828
76829 2006-10-06  Bruno Haible  <bruno@clisp.org>
76830
76831         * modules/closeout (Description): Mention stderr too.
76832
76833 2006-10-06  Bruno Haible  <bruno@clisp.org>
76834         and Paul Eggert  <eggert@cs.ucla.edu>
76835
76836         * lib/closeout.c (close_stdout): Also close stderr.
76837         * lib/closeout.h: Update comment.
76838
76839 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
76840
76841         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
76842         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
76843         * lib/dirchownmod.c: Include lchown.h.
76844         * lib/lchown.c: Don't include files that lchown.h now includes.
76845         Don't declare chown, since lchown.h now does that.
76846         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
76847         (lchown): Define to rpl_chown if lchown is declared but
76848         does not exist.  Declare using a prototype if lchown is not
76849         declared.  Add a copyright notice.
76850         * lib/mkstemp.h: Include <unistd.h>.
76851         * lib/openat.c: Include lchown.h.
76852
76853         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
76854         we now test for that separately.
76855         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
76856         rather than O_NOFOLLOW, when testing whether it's possible to
76857         avoid a race condition reliably.
76858         * lib/savewd.c (savewd_chdir): Likewise.
76859
76860         Remove macros that are no longer needed now that stdint.h is
76861         reliable.
76862         * lib/fsusage.c (UINTMAX_MAX): Remove.
76863         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
76864         * lib/utimecmp.c (SIZE_MAX): Remove.
76865
76866         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
76867
76868         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
76869         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
76870         O_NOATIME works.
76871
76872 2006-10-05  Bruno Haible  <bruno@clisp.org>
76873
76874         * lib/gl_list.h (gl_sortedlist_search_from_to,
76875         gl_sortedlist_indexof_from_to): New declarations.
76876         (gl_list_implementation): New fields sortedlist_search_from_to,
76877         sortedlist_indexof_from_to.
76878         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
76879         inline functions.
76880         * lib/gl_list.c (gl_sortedlist_search_from_to,
76881         gl_sortedlist_indexof_from_to): New functions.
76882         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
76883         function.
76884         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
76885         (gl_array_sortedlist_search_from_to): New function.
76886         (gl_array_list_implementation): Update.
76887         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
76888         function.
76889         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
76890         (gl_carray_sortedlist_search_from_to): New function.
76891         (gl_carray_list_implementation): Update.
76892         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
76893         gl_linked_sortedlist_indexof_from_to): New functions.
76894         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
76895         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
76896         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
76897         gl_tree_sortedlist_indexof_from_to): New functions.
76898         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
76899         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
76900         Update.
76901         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
76902         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
76903         Update.
76904
76905 2006-10-05  Bruno Haible  <bruno@clisp.org>
76906
76907         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
76908         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
76909         (struct gl_list_implementation): Add fields search_from_to,
76910         indexof_from_to. Remove fields search, indexof.
76911         (gl_list_search): Use the search_from_to method.
76912         (gl_list_search_from, gl_list_search_from_to): New functions.
76913         (gl_list_indexof): Use the indexof_from_to method.
76914         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
76915         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
76916         (gl_list_search_from, gl_list_search_from_to): New functions.
76917         (gl_list_indexof): Use the indexof_from_to method.
76918         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
76919         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
76920         gl_array_indexof. Add start_index, end_index arguments.
76921         (gl_array_search_from_to): Renamed from gl_array_search. Add
76922         start_index, end_index arguments.
76923         (gl_array_remove, gl_array_list_implementation): Update.
76924         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
76925         gl_carray_indexof. Add start_index, end_index arguments.
76926         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
76927         start_index, end_index arguments.
76928         (gl_carray_remove, gl_carray_list_implementation): Update.
76929         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
76930         gl_linked_search. Add start_index, end_index arguments.
76931         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
76932         start_index, end_index arguments.
76933         (gl_linked_remove): Update.
76934         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
76935         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
76936         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
76937         field to 'size_t'.
76938         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
76939         gl_tree_search. Add start_index, end_index arguments.
76940         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
76941         start_index, end_index arguments.
76942         (gl_tree_remove): Update.
76943         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
76944         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
76945         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
76946         function.
76947         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
76948         gl_tree_search. Add start_index, end_index arguments.
76949         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
76950         start_index, end_index arguments.
76951         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
76952         Update.
76953         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
76954
76955 2006-10-05  Bruno Haible  <bruno@clisp.org>
76956
76957         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
76958
76959         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
76960         fwriteerror_temp): New declarations.
76961         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
76962         (descriptors): New variable.
76963         (cleanup): First, close the descriptors.
76964         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
76965         fclose_temp, fwriteerror_temp): New functions.
76966
76967 2006-10-04  Jim Meyering  <jim@meyering.net>
76968
76969         * lib/fts.c (fts_open): Tiny comment change.
76970
76971 2006-10-04  Bruno Haible  <bruno@clisp.org>
76972
76973         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
76974         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
76975         gl_LOCK_BODY.
76976         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
76977         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
76978         gl_LOCK_EARLY_BODY.
76979         (gl_LOCK): Require gl_LOCK_BODY.
76980
76981 2006-10-04  Bruno Haible  <bruno@clisp.org>
76982
76983         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
76984         (gl_oset_search_atleast): New declaration.
76985         (struct gl_oset_implementation): Add field 'search_atleast'.
76986         (gl_oset_search_atleast): New inline function.
76987         * lib/gl_oset.c (gl_oset_search_atleast): New function.
76988         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
76989         (gl_array_oset_implementation): Update.
76990         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
76991         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
76992         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
76993
76994 2006-10-04  Bruno Haible  <bruno@clisp.org>
76995
76996         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
76997
76998 2006-10-03  Bruno Haible  <bruno@clisp.org>
76999
77000         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
77001         from gl_avltreehash_list_implementation.
77002
77003 2006-10-03  Bruno Haible  <bruno@clisp.org>
77004
77005         * lib/gl_oset.c (gl_oset_add): Fix return type.
77006
77007 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
77008
77009         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
77010
77011 2006-10-02  Eric Blake  <ebb9@byu.net>
77012
77013         * modules/strnlen (Depends-on): Add extensions.
77014
77015 2006-10-02  Eric Blake  <ebb9@byu.net>
77016
77017         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
77018         definition in 2.60+.
77019
77020 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
77021
77022         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
77023         checks.
77024
77025 2006-10-02  Bruno Haible  <bruno@clisp.org>
77026
77027         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
77028         to the AUTOMAKE_OPTIONS.
77029         Reported by Jim Meyering.
77030
77031 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77032
77033         Work around bug in Solaris 10 /proc file system:
77034         /proc/self/fd/NNN/.. isn't the parent directory of
77035         the directory whose file descriptor is NNN.  This needs to
77036         be worked around at run time, not compile time, since a
77037         program might be built on Solaris 8, where things work, and
77038         run on Solaris 10.
77039         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
77040         to use the following interface instead:
77041         (OPENAT_BUFFER_SIZE): New macro.
77042         (openat_proc_name): New function.
77043         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
77044         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
77045         Likewise.
77046         * lib/openat-proc.c: New file.
77047         * modules/openat (Files): Add lib/openat-proc.c.
77048         (Depends-on): Add same-inode, stdbool.
77049         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
77050
77051 2006-09-29  Bruno Haible  <bruno@clisp.org>
77052
77053         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
77054         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
77055         argument. Set stdout_closed before testing for ferror, not after.
77056         (fwriteerror, fwriteerror_no_ebadf): New functions.
77057
77058 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77059
77060         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
77061
77062 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
77063
77064         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
77065         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
77066
77067 2006-09-28  Jim Meyering  <jim@meyering.net>
77068
77069         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
77070         Include <unistd.h>.
77071
77072 2006-09-28  Bruno Haible  <bruno@clisp.org>
77073
77074         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
77075         * modules/linkedhash-list (Depends-on): Likewise.
77076         * modules/rbtreehash-list (Depends-on): Likewise.
77077
77078 2006-09-28  Bruno Haible  <bruno@clisp.org>
77079
77080         * lib/strndup.h: Simplify the redefinition of strndup.
77081         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
77082         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
77083
77084 2006-09-28  Bruno Haible  <bruno@clisp.org>
77085
77086         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
77087         * lib/gl_linkedhash_list.c: Likewise.
77088         * lib/gl_rbtreehash_list.c: Likewise.
77089
77090 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77091
77092         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
77093         getaddrinfo.
77094
77095         * lib/__fpending.h: Don't include <stdio_ext.h> unless
77096         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
77097         it causes <stdio_ext.h> to cause a compile-time error.
77098         Problem reported by Nelson H. F. Beebe.
77099         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
77100         of HAVE_DECL___PENDING.
77101
77102         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
77103         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
77104         declaration.
77105
77106 2006-09-27  Jim Meyering  <jim@meyering.net>
77107
77108         This file could end up with a definition for a function
77109         named __strndup, rather than rpl_strndup on a system with
77110         incomplete weak_alias support.
77111         * lib/strndup.c (strndup): Rename from __strndup.
77112         Remove #defines that used to map __strndup to strndup.
77113         Don't use K&R prototypes.
77114         Remove LIBC-related code, since this file is not sync'd with glibc.
77115         * lib/strndup.h: Revamp, accordingly.
77116         * m4/strndup.m4: Modernize.
77117
77118 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77119
77120         * modules/savewd (Depends-on): Add 'raise'.
77121         * lib/savewd.c: Include <signal.h>, for 'raise'.
77122
77123 2006-09-26  Jim Meyering  <jim@meyering.net>
77124
77125         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
77126         when we detect Darwin 8.7.0's acl_get_file bug.
77127         Rearrange to perform the new (below) run-test while $LIBS
77128         contains any acl-related library.  Set USE_ACL at the end.
77129         (gl_ACL_GET_FILE): New function.
77130
77131 2006-09-26  Eric Blake  <ebb9@byu.net>
77132
77133         * lib/verror.c: Include <config.h> unconditionally.
77134
77135 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
77136
77137         * modules/clock-time (Maintainer): Add self.
77138         * modules/getlogin_r (Depends-on): Add extensions.
77139
77140 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77141
77142         * modules/clock-time: New module.
77143         * modules/nanosleep (Depends-on): Add clock-time.
77144         * modules/gethrxtime (Depends-on): Likewise.
77145         * modules/gettime (Depends-on): Likewise.
77146         * modules/settime (Depends-on): Likewise.
77147
77148         * modules/fts-lgpl: Depend on openat.
77149         * modules/mkancesdirs: Depend on savewd.
77150         * modules/mkdir-p: Likewise.
77151
77152 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77153
77154         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
77155
77156         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
77157         `gl_have_arbitrary_file_name_length_limit' to
77158         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
77159         actually works between configure runs.
77160
77161 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77162             Bruno Haible  <bruno@clisp.org>
77163
77164         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
77165
77166 2006-09-25  Jim Meyering  <jim@meyering.net>
77167
77168         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
77169         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
77170
77171 2006-09-25  Eric Blake  <ebb9@byu.net>
77172
77173         * gnulib-tool (func_import, func_create_testdir): Fix typos in
77174         exec's in 2006-09-18 patch when shuffling fds.
77175
77176 2006-09-25  Bruno Haible  <bruno@clisp.org>
77177
77178         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
77179         Reported by Jim Meyering.
77180
77181 2006-09-24  Jim Meyering  <jim@meyering.net>
77182
77183         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
77184         compare a pointer against a literal "0".  That caused failures with
77185         at least HP-UX's hpcc.
77186
77187 2006-09-22  Simon Josefsson  <jas@extundo.com>
77188
77189         * modules/gc-sha1:
77190         * modules/gc-md4:
77191         * modules/gc-hmac-sha1:
77192         * modules/gc-hmac-md5:
77193         * modules/gc-des:
77194         * modules/gc-arcfour: Distribute more files.
77195
77196 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77197
77198         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
77199         (gl_linked_iterator_from_to): Initialize struct completely.
77200         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
77201         (gl_tree_iterator_from_to): Likewise
77202         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
77203         * lib/gl_array_list.c [lint] (gl_array_iterator)
77204         (gl_array_iterator_from_to): Likewise.
77205         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
77206         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
77207         (gl_carray_iterator_from_to): Likewise.
77208
77209         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
77210         * lib/md4.c (md4_process_block): Remove unused variable.
77211         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
77212         parentheses for clarity.
77213
77214 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77215
77216         * modules/bison-i18n (Depends-on): Add gettext.
77217
77218 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77219
77220         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
77221         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
77222         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
77223         also add missing comma that caused broken test.
77224         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
77225         stdlib.h, for `abort'.
77226         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
77227         variables.
77228         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
77229         include unistd.h if present, for `rmdir'.
77230         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
77231         variables.
77232         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
77233         in the process include standard headers for prototypes.
77234         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
77235         gets declared on GNU/Linux.
77236         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
77237         unistd.h, for `rmdir'.
77238         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
77239
77240         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
77241         always true.
77242         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
77243
77244         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
77245
77246 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77247
77248         * gnulib-tool (func_version): Create output all at once.  This
77249         may help avoid triggering unnecessary SIGPIPEs, and at any
77250         rate it doesn't hurt.
77251
77252 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77253             Bruno Haible  <bruno@clisp.org>
77254
77255         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
77256         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
77257         * m4/signed.m4 (bh_C_SIGNED): Likewise.
77258
77259         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
77260         (gl_FUNC_VASPRINTF): Invoke it.
77261
77262 2006-09-22  Bruno Haible  <bruno@clisp.org>
77263
77264         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
77265         getloadavg.c as first argument.
77266
77267 2006-09-22  Bruno Haible  <bruno@clisp.org>
77268
77269         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
77270         at the beginning of the gl_INIT macro.
77271         * modules/getloadavg (configure.ac): Pass $gl_source_base to
77272         gl_GETLOADAVG.
77273
77274 2006-09-22  Bruno Haible  <bruno@clisp.org>
77275
77276         * gnulib-tool (func_create_megatestdir): Don't include the config-h
77277         module.
77278         Suggested by Ralf Wildenhues.
77279
77280 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
77281
77282         Import this patch from libc:
77283
77284         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
77285
77286         * lib/regex_internal.c (re_string_reconstruct): Handle
77287         offset < pstr->valid_raw_len && pstr->offsets_needed case.
77288         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
77289         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
77290         re_string_context_at.
77291
77292         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
77293         now requires it.
77294         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
77295         gl_REGEX now does it for us.
77296         (gl_REGEX): Add test taken from
77297         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
77298
77299         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
77300         Check that large offsets work.  Modernize Autoconf usages.
77301         Prefer "yes" to mean a good thing rather than a bad.
77302         Don't put "#define mkstemp" in config.h, as this might interfere
77303         with standard system headers that "#define mkstemp mkstemp64".
77304
77305         * modules/mkstemp (Depends-on): Add extensions, so that
77306         mkstemp is visible on some platforms.
77307         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
77308         (Include): Change to "mkstemp.h" from <stdlib.h>.
77309         (Files): Add mkstemp.h.
77310
77311         * lib/mkstemp.h: New file, since some standard headers
77312         #define mkstemp.
77313         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
77314         Include "mkstemp.h".
77315         Make the _LIBC code resemble glibc original more,
77316         e.g., use K&R style.
77317         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
77318         (mkstemp): Remove, since mkstemp.h does this for us.
77319         * lib/stdlib--.h: Include mkstemp.h.
77320
77321         Import this patch from libc:
77322
77323         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77324
77325         * lib/tempname.c (__gen_tempname): Change attempts_min
77326         into a macro.  Use preprocessor to decide how to initialize
77327         attempts [Coverity CID 67].
77328
77329 2006-09-20  Bruno Haible  <bruno@clisp.org>
77330
77331         * lib/mkdtemp.c: Import from libc.
77332         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77333                 * sysdeps/posix/tempname.c (__gen_tempname): Change
77334                 attempts_min into a macro.  Use preprocessor to decide how to
77335                 initialize attempts [Coverity CID 67].
77336         2001-11-27  Paul Eggert  <eggert@twinsun.com>
77337                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
77338                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
77339
77340 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77341
77342         * gnulib-tool (func_exit): New function, to allow to pass the
77343         exit status portably through the trap.  Use everywhere.
77344         (--help, --version): Signal a write error.
77345         (trap): catch SIGPIPE, for write errors.
77346         Exit at the end of the trap, with the correct exit status.
77347
77348 2006-09-19  Karl Berry  <karl@gnu.org>
77349
77350         * doc/gnulib.texi: note about the license texinfo files.
77351
77352 2006-09-19  Eric Blake  <ebb9@byu.net>
77353
77354         * gnulib-tool: Avoid space-tab.
77355
77356 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77357
77358         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
77359         that prevented coreutils 6.1 from building.  Problem reported
77360         by Petter Reinholdtsen.
77361
77362 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77363
77364         * gnulib-tool (avoidlist): Fix typo that broke options like
77365         --avoid=lock that are used by coreutils bootstrap.
77366
77367 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
77368
77369         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
77370         more systematically.
77371
77372 2006-09-18  Jim Meyering  <jim@meyering.net>
77373
77374         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
77375
77376 2006-09-18  Bruno Haible  <bruno@clisp.org>
77377
77378         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
77379
77380 2006-09-18  Bruno Haible  <bruno@clisp.org>
77381
77382         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
77383         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
77384         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
77385         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
77386         * m4/gettext.m4: Require autoconf >= 2.52.
77387         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
77388         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
77389         of gl_cv_header_inttypes_h.
77390
77391 2006-09-18  Bruno Haible  <bruno@clisp.org>
77392
77393         * lib/javaversion.c: Include configmake.h.
77394
77395 2006-09-18  Bruno Haible  <bruno@clisp.org>
77396
77397         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
77398         avoid that the while loops be executed in a subshell.
77399
77400 2006-09-18  Bruno Haible  <bruno@clisp.org>
77401
77402         * MODULES.html.sh (func_module): Break long lines.
77403         Suggested by Bruce Korb <bkorb@gnu.org>.
77404
77405 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77406
77407         Speed up by a factor of 1.12.
77408         * gnulib-tool (nl): New variable.
77409         (func_import): Rewrite include directive extraction to only read each
77410         directive once.
77411
77412 2006-09-17  Bruno Haible  <bruno@clisp.org>
77413
77414         * modules/javaversion (Makefile.am): Remove DEFS setting.
77415         (Depends-on): Add configmake, for PKGDATADIR definition.
77416
77417 2006-09-17  Bruno Haible  <bruno@clisp.org>
77418
77419         * gnulib-tool (func_create_testdir): Rewrite all files at once.
77420
77421 2006-09-17  Bruno Haible  <bruno@clisp.org>
77422
77423         * gnulib-tool (func_append): New function, stolen from libtool.m4.
77424         (func_modules_transitive_closure, func_modules_add_dummy,
77425         func_modules_to_filelist, func_import, func_create_testdir,
77426         func_create_megatestdir, ...): Use it wherever possible.
77427         Suggested by Ralf Wildenhues.
77428
77429 2006-09-16  Karl Berry  <karl@gnu.org>
77430
77431         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
77432         to avoid sectioning errors.
77433         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
77434         [ifinfo]: blank line after @center-ed titles.
77435         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
77436         Spell FSF address consistently with others.
77437         (These changes approved by rms.)
77438
77439 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77440
77441         Speed up by a factor of 1.61.
77442         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
77443         already checked module names again.
77444
77445 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77446
77447         Speed up by a factor of 1.13.
77448         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
77449         for new_files, and the input to func_add_or_update.
77450
77451 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77452
77453         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
77454         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
77455
77456 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77457
77458         * modules/mkancesdirs (Depends-on): Add fcntl.
77459         * modules/savewd: New file.
77460         * MODULES.html.sh (File system functions): Add savewd.
77461
77462         * modules/configmake (Makefile.am): Add support for the
77463         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
77464
77465 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77466
77467         * m4/savewd.m4: New file.
77468
77469 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77470
77471         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
77472         (dirchownmod): New arg FD.  All callers changed.
77473         Use FD rather than opening the directory ourself, as opening is
77474         now the caller's responsibility.
77475         * lib/dirchownmod.h: Likewise.
77476         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
77477         hosts that require <sys/types.h> before <sys/stat.h>.  Include
77478         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
77479         (test_dir): Remove.
77480         (mkancesdirs): Return length of prefix of FILE that has already
77481         been made, or -2 if there is a child doing the work.  Redo
77482         algorithm so that it is O(N) rather than O(N**2).  Optimize away
77483         ".", and treat ".." specially since it might stray back into
77484         already-created areas.  Use a subprocess if necessary.  New arg
77485         WD; all users changed.  MAKE_DIR function should now return 1
77486         if it creates a directory that is not readable.  Return -2 if
77487         a child process is spun off.
77488         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
77489         Adjust signature to match code.
77490         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
77491         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
77492         all users changed.
77493         * lib/savewd.c, lib/savewd.h: New files.
77494
77495 2006-09-15  Jim Meyering  <jim@meyering.net>
77496
77497         * modules/rename-dest-slash: New module.
77498         * MODULES.html.sh (posix_compat): Add it here.
77499
77500         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
77501
77502 2006-09-15  Jim Meyering  <jim@meyering.net>
77503
77504         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
77505         file.
77506
77507         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
77508
77509 2006-09-15  Jim Meyering  <jim@meyering.net>
77510
77511         * lib/rename-dest-slash.c (has_trailing_slash): Use
77512         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
77513         (rpl_rename_dest_slash): Perform the cheaper trailing slash
77514         test before testing whether SRC is a directory.
77515         Suggestions from Bruno Haible.
77516
77517         Avoid a warning about an unused variable.
77518         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
77519         into the #ifdef block where it's used.
77520
77521         * lib/rename-dest-slash.c: New file.
77522
77523 2006-09-14  Bruno Haible  <bruno@clisp.org>
77524
77525         * lib/allocsa.c: Include <config.h> unconditionally.
77526         * lib/asnprintf.c: Likewise.
77527         * lib/asprintf.c: Likewise.
77528         * lib/c-strcasecmp.c: Likewise.
77529         * lib/c-strcasestr.c: Likewise.
77530         * lib/c-strncasecmp.c: Likewise.
77531         * lib/c-strstr.c: Likewise.
77532         * lib/classpath.c: Likewise.
77533         * lib/clean-temp.c: Likewise.
77534         * lib/concatpath.c: Likewise.
77535         * lib/copy-file.c: Likewise.
77536         * lib/csharpcomp.c: Likewise.
77537         * lib/csharpexec.c: Likewise.
77538         * lib/execute.c: Likewise.
77539         * lib/fatal-signal.c: Likewise.
77540         * lib/findprog.c: Likewise.
77541         * lib/fwriteerror.c: Likewise.
77542         * lib/gl_array_list.c: Likewise.
77543         * lib/gl_array_oset.c: Likewise.
77544         * lib/gl_avltree_list.c: Likewise.
77545         * lib/gl_avltree_oset.c: Likewise.
77546         * lib/gl_avltreehash_list.c: Likewise.
77547         * lib/gl_carray_list.c: Likewise.
77548         * lib/gl_linked_list.c: Likewise.
77549         * lib/gl_linkedhash_list.c: Likewise.
77550         * lib/gl_list.c: Likewise.
77551         * lib/gl_oset.c: Likewise.
77552         * lib/gl_rbtree_list.c: Likewise.
77553         * lib/gl_rbtree_oset.c: Likewise.
77554         * lib/gl_rbtreehash_list.c: Likewise.
77555         * lib/imaxabs.c: Likewise.
77556         * lib/imaxdiv.c: Likewise.
77557         * lib/javacomp.c: Likewise.
77558         * lib/javaexec.c: Likewise.
77559         * lib/javaversion.c: Likewise.
77560         * lib/linebreak.c: Likewise.
77561         * lib/localcharset.c: Likewise.
77562         * lib/lock.c: Likewise.
77563         * lib/mbchar.c: Likewise.
77564         * lib/mbswidth.c: Likewise.
77565         * lib/mkdtemp.c: Likewise.
77566         * lib/pipe.c: Likewise.
77567         * lib/printf-args.c: Likewise.
77568         * lib/printf-parse.c: Likewise.
77569         * lib/progname.c: Likewise.
77570         * lib/progreloc.c: Likewise.
77571         * lib/readlink.c: Likewise.
77572         * lib/sh-quote.c: Likewise.
77573         * lib/stpcpy.c: Likewise.
77574         * lib/stpncpy.c: Likewise.
77575         * lib/strcasecmp.c: Likewise.
77576         * lib/strcasestr.c: Likewise.
77577         * lib/strcspn.c: Likewise.
77578         * lib/striconv.c: Likewise.
77579         * lib/strncasecmp.c: Likewise.
77580         * lib/strnlen1.c: Likewise.
77581         * lib/strstr.c: Likewise.
77582         * lib/strtok_r.c: Likewise.
77583         * lib/tls.c: Likewise.
77584         * lib/tmpdir.c: Likewise.
77585         * lib/unicodeio.c: Likewise.
77586         * lib/unsetenv.c: Likewise.
77587         * lib/vasnprintf.c: Likewise.
77588         * lib/vasprintf.c: Likewise.
77589         * lib/wait-process.c: Likewise.
77590         * lib/xallocsa.c: Likewise.
77591         * lib/xsetenv.c: Likewise.
77592         * lib/xstriconv.c: Likewise.
77593
77594 2006-09-13  Simon Josefsson  <jas@extundo.com>
77595
77596         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
77597         that internally, suggested by Ralf Wildenhues
77598         <Ralf.Wildenhues@gmx.de>.
77599
77600 2006-09-13  Simon Josefsson  <jas@extundo.com>
77601
77602         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
77603         @LIBOBJS@.
77604         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77605
77606 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
77607
77608         * lib/_fpending.c: Include <config.h> unconditionally, since we no
77609         longer worry about uses that don't define HAVE_CONFIG_H.
77610         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
77611         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
77612         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
77613         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
77614         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
77615         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
77616         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
77617         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
77618         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
77619         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
77620         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
77621         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
77622         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
77623         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
77624         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
77625         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
77626         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
77627         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
77628         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
77629         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
77630         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
77631         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
77632         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
77633         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
77634         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
77635         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
77636         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
77637         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
77638         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
77639         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
77640         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
77641         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
77642         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
77643         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
77644         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
77645         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
77646         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
77647         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
77648         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
77649         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
77650         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
77651         Likewise.
77652
77653 2006-09-13  Eric Blake  <ebb9@byu.net>
77654
77655         * lib/getopt.c: Fix typo in last commit.
77656
77657 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
77658
77659         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
77660         dgettext.
77661
77662 2006-09-12  Jim Meyering  <jim@meyering.net>
77663
77664         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
77665         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
77666         Reported by Nelson H. F. Beebe.
77667
77668 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77669
77670         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
77671         program_invocation_name and program_invocation_short_name are
77672         initialized.
77673         * lib/argp-namefrob.h: Move declarations of program_invocation_name
77674         and program_invocation_short_name to argp.h, so they are visible
77675         to user programs.
77676         * lib/argp.h: Likewise
77677
77678 2006-09-10  Bruno Haible  <bruno@clisp.org>
77679
77680         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
77681         m4/inttypes_h.m4, m4/uintmax_t.m4.
77682
77683 2006-09-10  Bruno Haible  <bruno@clisp.org>
77684
77685         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
77686         gl_AC_TYPE_UINTMAX_T.
77687
77688 2006-09-10  Bruno Haible  <bruno@clisp.org>
77689
77690         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
77691
77692 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77693
77694         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
77695         convention.  Text proposed by Bruno Haible.
77696         (struct argp_option): Document the use of N_() wrappers.
77697
77698         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
77699         '\v', and translate the two parts separately, instead of feeding
77700         the whole string to gettext.  This allows to exclude
77701         '\v' from the strings visible to the translator by writing doc
77702         strings as N_("..") "\v" N_("..").
77703
77704 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
77705
77706         * config/srclist.txt: Undo latest change; the bug was fixed.
77707
77708 2006-09-09  Bruno Haible  <bruno@clisp.org>
77709
77710         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
77711         assignments if building a library without libtool.
77712         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
77713         in func_emit_lib_Makefile_am.
77714         (func_import): When building a static library libfoo.a, arrange to
77715         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
77716         (func_create_testdir): Likewise.
77717         * modules/gc (configure.ac, Makefile.am): If building statically,
77718         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
77719         * modules/iconvme (configure.ac, Makefile.am): Likewise.
77720         * modules/striconv (configure.ac, Makefile.am): Likewise.
77721         Based on a suggestion by Ralf Wildenhues.
77722
77723 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77724
77725         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
77726         Check for unistd.h too, since Autoconf doesn't assume POSIX.
77727         Also:
77728
77729         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77730         Add year_2050_test to catch glibc bug 2821
77731         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
77732
77733         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77734         Prefer #ifdef to #if.
77735
77736         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
77737         Return from 'main' instead of calling 'exit'.
77738
77739 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77740
77741         * lib/mktime.c (guess_time_tm): Fix bug where mktime
77742         returned the maximum time_t value rather than (time_t) -1.
77743         Problem originally reported by William Bardwell
77744         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
77745
77746         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
77747         Moved to here ...
77748         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
77749         ... from here.
77750
77751 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77752
77753         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
77754         2821 is fixed.
77755
77756 2006-09-08  Jim Meyering  <jim@meyering.net>
77757
77758         Don't make generated files read-only.  That would bother too many
77759         people.  However, do retain the ability to work when targets are
77760         read-only: remove the destination and temporary files before writing
77761         them (when generated via sed or echo), or by using the -f option for
77762         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
77763         * modules/alloca-opt, modules/argz, modules/arpa_inet:
77764         * modules/byteswap, modules/configmake, modules/fcntl:
77765         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
77766         * modules/localcharset, modules/netinet_in, modules/poll:
77767         * modules/stdbool, modules/stdint, modules/sys_select:
77768         * modules/sys_socket, modules/sys_stat, modules/sysexits:
77769
77770 2006-09-08  Jim Meyering  <jim@meyering.net>
77771
77772         Avoid new build failure on FreeBSD 6.0.
77773         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
77774         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
77775         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
77776
77777 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77778
77779         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
77780
77781 2006-09-07  Jim Meyering  <jim@meyering.net>
77782
77783         Fix global typo in last change: use chmod u-w, not chmod u-x.
77784         Spotted by Paul Eggert and Bruce Korb.
77785         * modules/alloca-opt, modules/argz, modules/arpa_inet:
77786         * modules/byteswap, modules/configmake, modules/fcntl:
77787         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
77788         * modules/localcharset, modules/netinet_in, modules/poll:
77789         * modules/stdbool, modules/stdint, modules/sys_select:
77790         * modules/sys_socket, modules/sys_stat, modules/sysexits:
77791
77792 2006-09-06  Jim Meyering  <jim@meyering.net>
77793
77794         Make generated files be read-only.
77795         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
77796         Ensure that each generated file is now read-only.
77797         * modules/argz: Likewise.
77798         * modules/arpa_inet: Likewise.
77799         * modules/byteswap: Likewise.
77800         * modules/configmake: Likewise.
77801         * modules/fcntl: Likewise.
77802         * modules/fnmatch: Likewise.
77803         * modules/getopt: Likewise.
77804         * modules/glob: Likewise.
77805         * modules/inttypes: Likewise.
77806         * modules/netinet_in: Likewise.
77807         * modules/poll: Likewise.
77808         * modules/stdbool: Likewise.
77809         * modules/stdint: Likewise.
77810         * modules/sys_select: Likewise.
77811         * modules/sys_socket: Likewise.
77812         * modules/sys_stat: Likewise.
77813         * modules/sysexits: Likewise.
77814         * modules/localcharset: Same as above, but continue using temporary
77815         file named "t-$@" (why different?) rather than the "$@-t" used
77816         everywhere else.
77817
77818         * modules/sysexits (Makefile.am): Replace literal occurrences
77819         of "sysexit.h" more readable, and more consistent, "$@".
77820
77821 2006-09-06  Bruno Haible  <bruno@clisp.org>
77822
77823         * modules/striconv: New file.
77824         * modules/xstriconv: New file.
77825         * MODULES.html.sh (Internationalization functions): Add striconv,
77826         xstriconv.
77827
77828 2006-09-06  Bruno Haible  <bruno@clisp.org>
77829
77830         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
77831         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
77832         not using libtool correctly.
77833
77834 2006-09-06  Bruno Haible  <bruno@clisp.org>
77835
77836         * lib/striconv.h: New file.
77837         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
77838         iconvstring.c.
77839         * lib/xstriconv.h: New file.
77840         * lib/xstriconv.c: New file.
77841
77842 2006-09-06  Bruno Haible  <bruno@clisp.org>
77843
77844         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
77845         lib_..._LDFLAGS.
77846
77847 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77848
77849         * lib/argz_.h: Sync from Libtool.
77850
77851         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
77852                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
77853
77854         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
77855
77856 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
77857
77858         * modules/trim: New file.
77859
77860 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
77861
77862         * lib/trim.h: New file.
77863         * lib/trim.c: New file.
77864
77865 2006-09-05  Bruno Haible  <bruno@clisp.org>
77866
77867         * MODULES.html.sh (String handling): Add trim.
77868
77869 2006-09-04  Karl Berry  <karl@gnu.org>
77870
77871         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
77872         until next release.
77873
77874 2006-09-03  Bruno Haible  <bruno@clisp.org>
77875
77876         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
77877         correctly.
77878
77879 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77880
77881         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
77882         not gl_GETLOADAVG.  Omit unneeded semicolons.
77883         Problems reported by Ralf Wildenhues in
77884         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
77885         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
77886         at the end, which is the usual gnulib style.
77887
77888         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
77889         of doing all the work ourselves.
77890         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
77891         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
77892
77893 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77894
77895         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
77896         Problem reported by Ralf Wildenhues in
77897         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
77898
77899         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
77900         HAVE_STRUCT_STATFS_F_FSTYPENAME.
77901
77902 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77903
77904         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
77905         yesterday's patch by changing test -n to test -z.
77906
77907 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77908
77909         * modules/getloadavg (Files): Add m4/getloadavg.m4.
77910         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
77911         the former is now obsolescent.
77912
77913         * modules/chdir-long (Depends-on): Add fcntl.
77914
77915 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77916
77917         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
77918         obsolescent, and programs should use gnulib instead.
77919         * m4/getloadavg.m4: New file, with contents taken from Autoconf
77920         but with prefixes changed.
77921
77922 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77923
77924         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
77925         or stdbool.h, because they might not exist while configuring.
77926
77927         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
77928         Don't include unistd.h or limits.h; not needed, since chdir-long.h
77929         does that for us.
77930         (O_DIRECTORY): Remove.
77931
77932 2006-08-31  Eric Blake  <ebb9@byu.net>
77933
77934         * gnulib-tool: Don't let emacs change spaces to TAB.
77935
77936 2006-08-31  Bruno Haible  <bruno@clisp.org>
77937
77938         * gnulib-tool: When calling func_import more than once, do it in a
77939         subshell.
77940         Reported by Eric Blake <ebb9@byu.net>.
77941
77942 2006-08-31  Bruno Haible  <bruno@clisp.org>
77943
77944         * gnulib-tool (nl): Remove variable.
77945         (sed_transform_lib_file): Use more robust test for config-h module.
77946         (func_import): Fix typo in 2006-08-25 patch.
77947
77948 2006-08-31  Bruno Haible  <bruno@clisp.org>
77949
77950         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
77951         specified, augment Makefile.am variables instead of assigning them.
77952
77953 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
77954
77955         Work around a bug in both the Linux and SunOS 64-bit kernels:
77956         nanosleep mishandles sleeps for longer than 2**31 seconds.
77957         Problem reported by Frank v Waveren in
77958         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
77959         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
77960         Check for nanosleep bug.
77961         (LIB_NANOSLEEP): Append clock_gettime library if needed.
77962
77963 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
77964
77965         Work around a bug in both the Linux and SunOS 64-bit kernels:
77966         nanosleep mishandles sleeps for longer than 2**31 seconds.
77967         Problem reported by Frank v Waveren in
77968         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
77969         * lib/nanosleep.c (BILLION): New constant.
77970         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
77971         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
77972         implementation.
77973
77974 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
77975
77976         * modules/nanosleep (Depends-on): Add gettime.
77977
77978 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
77979         and Simon Josefsson  <jas@extundo.com>
77980         and Oskar Liljeblad  <oskar@osk.mine.nu>
77981
77982         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
77983         * gnulib-tool (func_import): New license type 'unmodifiable license
77984         text'.
77985         * modules/fdl: Use it.  Longer description.
77986         * module/gpl, module/lgpl: New files.
77987
77988 2006-08-30  Jim Meyering  <jim@meyering.net>
77989
77990         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
77991         shadowing the parameter.
77992
77993 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77994
77995         Sync from Libtool:
77996
77997         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77998
77999         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
78000         sharing with gnulib.  Report by Eric Blake.
78001
78002 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78003
78004         * modules/isapipe: New file.
78005         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
78006
78007 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78008
78009         * modules/configmake (Makefile.am): Add a comment, and omit
78010         the CONFIGMAKE_ prefix from generated macro names.  Suggested
78011         by Bruno Haible.
78012
78013 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78014
78015         * m4/isapipe.m4: New file.
78016
78017 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78018
78019         * lib/isapipe.c, lib/isapipe.h: New files.
78020
78021 2006-08-29  Jim Meyering  <jim@meyering.net>
78022
78023         * modules/configmake (Makefile.am): Make configmake.h depend on
78024         Makefile.  Otherwise, a stale configmake.h could hang around.
78025
78026 2006-08-29  Eric Blake  <ebb9@byu.net>
78027
78028         * lib/error.c (error_at_line, print_errno_message): Match libc, after
78029         resolution of upstream bug 3044.
78030
78031 2006-08-29  Bruno Haible  <bruno@clisp.org>
78032
78033         * modules/localcharset (Depends-on): Add configmake.
78034         (Makefile.am): Remove setting of LIBDIR through DEFS.
78035
78036 2006-08-29  Bruno Haible  <bruno@clisp.org>
78037
78038         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
78039         defined.
78040
78041 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78042
78043         * modules/fcntl: New file.
78044         * modules/chdir-safer (Depends-on): Add fcntl.
78045         * modules/fts: Likewise.
78046         * modules/mkdir-p: Likewise.
78047
78048         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
78049         This undoes the most recent change, since we're now addressing the
78050         problem in a different way.
78051
78052         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
78053         into output, since the output might be called Makefile.am even
78054         if $makefile_name is something different.
78055         (func_import): Use $makefile_am rather than
78056         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
78057         empty.
78058
78059         * modules/inttypes (Files): Add m4/inttypes-h.m4.
78060
78061 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78062
78063         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
78064         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
78065         recent change to stdint.m4, since we're now addressing the problem in a
78066         different way.
78067
78068 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78069
78070         * m4/fcntl_h.m4: New file.
78071
78072 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78073
78074         * lib/fcntl_.h: New file.
78075         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
78076         the fcntl module.
78077         * lib/dirchownmod.c: Likewise.
78078         * lib/fts.c: Likewise.
78079
78080         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
78081         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
78082         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
78083         just before including <inttypes.h>, to avoid circular inclusion.
78084
78085 2006-08-28  Jim Meyering  <jim@meyering.net>
78086
78087         * doc/visibility.texi: Actually read and correct the grammar of the
78088         sentence affected by yesterday's change.
78089
78090 2006-08-28  Eric Blake  <ebb9@byu.net>
78091
78092         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
78093         needs wrapper.
78094
78095 2006-08-28  Eric Blake  <ebb9@byu.net>
78096
78097         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
78098
78099 2006-08-28  Eric Blake  <ebb9@byu.net>
78100
78101         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
78102
78103 2006-08-28  Bruno Haible  <bruno@clisp.org>
78104
78105         * modules/c-strstr: New file, from GNU gettext.
78106         * MODULES.html.sh (String handling): Add c-strstr.
78107
78108 2006-08-28  Bruno Haible  <bruno@clisp.org>
78109
78110         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
78111         macros.
78112         Reported by Eric Blake.
78113
78114 2006-08-28  Bruno Haible  <bruno@clisp.org>
78115
78116         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
78117         (VASNPRINTF): Return a string of length > INT_MAX without failing.
78118         * lib/vasprintf.c: Include errno.h, limits.h.
78119         (EOVERFLOW): New fallback definition.
78120         (vasprintf): Test here whether the string length is > INT_MAX.
78121         * lib/vsnprintf.c: Include errno.h, limits.h.
78122         (EOVERFLOW): New fallback definition.
78123         (vsnprintf): Fix bug when generated string was too long for the buffer.
78124         Test here whether the string length is > INT_MAX.
78125
78126 2006-08-28  Bruno Haible  <bruno@clisp.org>
78127
78128         * lib/inttypes_.h (SCNX*): Remove definitions.
78129         Reported by Eric Blake.
78130
78131 2006-08-28  Bruno Haible  <bruno@clisp.org>
78132
78133         * lib/c-strstr.h: New file, from GNU gettext.
78134         * lib/c-strstr.c: New file, from GNU gettext.
78135
78136 2006-08-28  Bruno Haible  <bruno@clisp.org>
78137
78138         * gnulib-tool: Reorder some statements.
78139
78140 2006-08-28  Bruno Haible  <bruno@clisp.org>
78141
78142         * gnulib-tool: New option --makefile-name.
78143         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
78144         $makefile_name.
78145         (func_import): Write $makefile_name to the cache file, and read it from
78146         there unless explicitly specified. Use $makefile_name as file name
78147         instead of Makefile.am. Adjust the recommendations accordingly.
78148
78149 2006-08-28  Bruno Haible  <bruno@clisp.org>
78150
78151         * gnulib-tool (func_verify_module): Check against misapplying patch.
78152
78153 2006-08-28  Bruno Haible  <bruno@clisp.org>
78154
78155         * gnulib-tool (func_relativize, func_relconcat): New functions.
78156         Give an error if --local-dir is given with --update.
78157         Remove trailing slashes from $local_gnulib_dir.
78158         (func_import): Store the relativized $local_gnulib_dir in
78159         gnulib-cache.m4, and read it from there if not specified explicitly.
78160
78161 2006-08-28  Bruno Haible  <bruno@clisp.org>
78162
78163         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
78164         is the current directory. Respect also $local_gnulib_dir.
78165
78166 2006-08-28  Bruno Haible  <bruno@clisp.org>
78167             Simon Josefsson  <jas@extundo.com>
78168
78169         BeOS portability.
78170         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
78171
78172 2006-08-27  Jim Meyering  <jim@meyering.net>
78173
78174         * doc/visibility.texi: Remove duplicate word: "pointer".
78175
78176 2006-08-26  Bruno Haible  <bruno@clisp.org>
78177
78178         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
78179         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
78180         (Makefile.am): Create inttypes.h from inttypes_.h.
78181         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
78182
78183         * modules/imaxabs: New file.
78184
78185         * modules/imaxdiv: New file.
78186
78187 2006-08-26  Bruno Haible  <bruno@clisp.org>
78188
78189         * m4/inttypes.m4: New file.
78190         * m4/_inttypes_h.m4: Remove file.
78191         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
78192         PRI_MACROS_BROKEN.
78193         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
78194
78195         * m4/imaxabs.m4: New file.
78196
78197         * m4/imaxdiv.m4: New file.
78198
78199 2006-08-26  Bruno Haible  <bruno@clisp.org>
78200
78201         * lib/inttypes_.h: New file.
78202         * lib/inttypes.h: Remove file.
78203         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
78204
78205         * lib/imaxabs.c: New file.
78206
78207         * lib/imaxdiv.c: New file.
78208
78209 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78210
78211         New config-h module, so that "make" output needn't be cluttered
78212         by -DHAVE_CONFIG_H.
78213         * MODULES.html.sh (Support for building libraries and executables):
78214         Add config-h.
78215         * modules/config-h: New file.
78216         * gnulib-tool (nl, sed_transform_lib_file): New vars.
78217         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
78218         the config-h module is used.
78219
78220         New configmake module, so that "make" output needn't be cluttered
78221         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
78222         * MODULES.html.sh (Support for building libraries and executables):
78223         Add configmake.
78224         * modules/configmake: New file.
78225
78226 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78227
78228         * m4/config-h.m4: New file.
78229
78230 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78231
78232         * config/srclist.txt: Add elisp-comp.
78233
78234 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78235
78236         * MODULES.html.sh (Support for building libraries and executables):
78237         Add elisp-comp.
78238         * build-aux/elisp-comp: New file.
78239         * modules/elisp-comp: New file.
78240
78241 2006-08-24  Bruno Haible  <bruno@clisp.org>
78242
78243         * gnulib-tool (func_create_testdir): Use non-default values of
78244         sourcebase and m4base.
78245
78246 2006-08-24  Bruno Haible  <bruno@clisp.org>
78247
78248         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
78249         HTML structure.
78250
78251 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78252
78253         * modules/openat (Depends-on): Add lchown.
78254
78255 2006-08-23  Bruno Haible  <bruno@clisp.org>
78256
78257         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
78258         of gl_LOCK_EARLY instead of gl_LOCK.
78259
78260 2006-08-23  Bruno Haible  <bruno@clisp.org>
78261
78262         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
78263         on OSF/1 to no.
78264         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
78265
78266 2006-08-23  Bruno Haible  <bruno@clisp.org>
78267
78268         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
78269         as unusable.
78270
78271         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
78272         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
78273         (gl_LOCK): New macro.
78274
78275 2006-08-22  Simon Josefsson  <jas@extundo.com>
78276
78277         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
78278         to md5 module.
78279
78280 2006-08-22  Simon Josefsson  <jas@extundo.com>
78281
78282         * MODULES.html.sh: Add "Support for maintaining and release
78283         projects".
78284
78285         * build-aux/gnupload: New file, from coreutils.
78286
78287 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78288
78289         Avoid the need for AC_LIBSOURCES in m4 macros.
78290         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
78291         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
78292         * modules/check-version (EXTRA_DIST): Add check-version.h.
78293         * modules/crc (EXTRA_DIST): Add crc.h.
78294         * modules/des (EXTRA_DIST): Add des.h.
78295         * modules/gc (EXTRA_DIST): Add gc.h.
78296         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
78297         * modules/getline (EXTRA_DIST): Add getline.h.
78298         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
78299         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
78300         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
78301         * modules/md2 (EXTRA_DIST): Add md2.h.
78302         * modules/md4 (EXTRA_DIST): Add md4.h.
78303         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
78304         * modules/read-file (EXTRA_DIST): Add read-file.h.
78305         * modules/readline (EXTRA_DIST): Add readline.h.
78306         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
78307         rijndael-api-fst.h.
78308
78309 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78310
78311         * m4/rijndael.m4 (gl_ARCFOUR):
78312         * m4/arctwo.m4 (gl_ARCTWO):
78313         * m4/check-version.m4 (gl_CHECK_VERSION):
78314         * m4/crc.m4 (gl_CRC):
78315         * m4/des.m4 (gl_DES):
78316         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
78317         * m4/gc.m4 (gl_GC):
78318         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
78319         * m4/getline.m4 (gl_FUNC_GETLINE):
78320         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
78321         * m4/hmac-md5.m4 (gl_HMAC_MD5):
78322         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
78323         * m4/md2.m4 (gl_MD2):
78324         * m4/md4.m4 (gl_MD4):
78325         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
78326         * m4/read-file.m4 (gl_FUNC_READ_FILE):
78327         * m4/readline.m4 (gl_FUNC_READLINE):
78328         * m4/rijndael.m4 (gl_RIJNDAEL):
78329         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
78330         to get the necessary .h files and whatnot.
78331
78332 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78333
78334         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
78335         gnulib rather than the other way around.
78336         * config/srclistvars.sh (COREUTILS): Remove.
78337
78338 2006-08-22  Jim Meyering  <jim@meyering.net>
78339
78340         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
78341
78342         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
78343
78344 2006-08-22  Eric Blake  <ebb9@byu.net>
78345
78346         * modules/regexprops-generic: New file.
78347         * MODULES.html.sh (Support for building documentation): List it.
78348
78349 2006-08-22  Eric Blake  <ebb9@byu.net>
78350
78351         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
78352         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
78353         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
78354         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
78355
78356 2006-08-22  Bruno Haible  <bruno@clisp.org>
78357
78358         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
78359         and lib_LTLIBRARIES like the other lib_* variables.
78360
78361 2006-08-22  Bruno Haible  <bruno@clisp.org>
78362
78363         * build-aux/x-to-1.in: New file, from GNU gettext.
78364
78365 2006-08-22  Bruno Haible  <bruno@clisp.org>
78366
78367         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
78368         <utmpx.h> exists.
78369
78370 2006-08-22  Bruno Haible  <bruno@clisp.org>
78371
78372         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
78373         <utmpx.h> exists.
78374
78375 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78376
78377         BeOS portability.
78378         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
78379         exist.
78380         Problem reported by Bruno Haible.
78381
78382 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78383
78384         Avoid the need for AC_LIBSOURCES in m4 macros.
78385         * modules/acl (EXTRA_DIST): Add acl.h.
78386         * modules/argmatch (Files): Add m4/argmatch.m4.
78387         (configure.ac): Add gl_ARGMATCH.
78388         (EXTRA_DIST): Renamed from lib_SOURCES, for
78389         consistency with the other modules.  Remove argmatch.c.
78390         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
78391         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
78392         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
78393         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
78394         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
78395         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
78396         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
78397         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
78398         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
78399         * modules/closeout (EXTRA_DIST): Add closeout.h.
78400         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
78401         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
78402         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
78403         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
78404         dirname.h; remove basename.c and stripslash.c.
78405         * modules/exclude (EXTRA_DIST): Add exclude.h.
78406         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
78407         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
78408         * modules/file-type (EXTRA_DIST): Add file-type.h.
78409         * modules/filemode (EXTRA_DIST): Add filemode.h.
78410         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
78411         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
78412         * modules/fpending (EXTRA_DIST): Add __fpending.h.
78413         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
78414         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
78415         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
78416         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
78417         * modules/getdate (EXTRA_DIST): Add getdate.c.
78418         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
78419         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
78420         * modules/getpass (EXTRA_DIST): Add getpass.h.
78421         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
78422         * modules/group-member (EXTRA_DIST): Add group-member.h.
78423         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
78424         * modules/hash (EXTRA_DIST): Add hash.h.
78425         * modules/human (EXTRA_DIST): Add human.h.
78426         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
78427         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
78428         * modules/lchown (EXTRA_DIST): Add lchown.h.
78429         * modules/long-options (EXTRA_DIST): Add long-options.h.
78430         * modules/lstat (EXTRA_DIST): Add lstat.h.
78431         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
78432         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
78433         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
78434         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
78435         * modules/memxor (EXTRA_DIST): Add memxor.h.
78436         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
78437         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
78438         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
78439         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
78440         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
78441         * modules/physmem (EXTRA_DIST): Add physmem.h.
78442         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
78443         * modules/posixver (EXTRA_DIST): Add posixver.h.
78444         * modules/quote (EXTRA_DIST): Add quote.h.
78445         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
78446         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
78447         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
78448         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
78449         regex_internal.h regexec.c.
78450         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
78451         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
78452         * modules/same (EXTRA_DIST): Add same.h.
78453         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
78454         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
78455         * modules/savedir (EXTRA_DIST): Add savedir.h.
78456         * modules/sha1 (EXTRA_DIST): Add sha1.h.
78457         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
78458         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
78459         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
78460         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
78461         * modules/strdup (EXTRA_DIST): Add strdup.h.
78462         * modules/strftime (EXTRA_DIST): Add strftime.h.
78463         * modules/strndup (EXTRA_DIST): Add strndup.h.
78464         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
78465         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
78466         * modules/time_r (EXTRA_DIST): Add time_r.h.
78467         * modules/timespec (EXTRA_DIST): Add timespec.h.
78468         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
78469         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
78470         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
78471         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
78472         * modules/userspec (EXTRA_DIST): Add userspec.h.
78473         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
78474         * modules/utimens (EXTRA_DIST): Add utimens.h.
78475         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
78476         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
78477         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
78478         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
78479         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
78480         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
78481         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
78482         * modules/yesno (EXTRA_DIST): Add yesno.h.
78483
78484 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78485
78486         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
78487
78488         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
78489         * m4/dev-ino.m4, same-inode.m4: Remove.
78490
78491         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
78492         * m4/acl.m4 (AC_FUNC_ACL):
78493         * m4/backupfile.m4 (gl_BACKUPFILE):
78494         * m4/c-strtod.m4 (gl_C99_STRTOLD):
78495         * m4/canon-host.m4 (gl_CANON_HOST):
78496         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
78497         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
78498         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
78499         * m4/cloexec.m4 (gl_CLOEXEC):
78500         * m4/close-stream.m4 (gl_CLOSE_STREAM):
78501         * m4/closeout.m4 (gl_CLOSEOUT):
78502         * m4/dirfd.m4 (gl_FUNC_DIRFD):
78503         * m4/dirname.m4 (gl_DIRNAME):
78504         * m4/exclude.m4 (gl_EXCLUDE):
78505         * m4/exitfail.m4 (gl_EXITFAIL):
78506         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
78507         * m4/file-type.m4 (gl_FILE_TYPE):
78508         * m4/filemode.m4 (gl_FILEMODE):
78509         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
78510         * m4/fpending.m4 (gl_FUNC_FPENDING):
78511         * m4/fprintftime.m4 (gl_FPRINTFTIME):
78512         * m4/fts.m4 (gl_FUNC_FTS):
78513         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
78514         * m4/getdate.m4 (gl_GETDATE):
78515         * m4/gethrxtime.m4 (gl_GETHRXTIME):
78516         * m4/getpagesize.m4 (gl_GETPAGESIZE):
78517         * m4/getpass.m4 (gl_FUNC_GETPASS):
78518         * m4/gettime.m4 (gl_GETTIME):
78519         * m4/getugroups.m4 (gl_GETUGROUPS):
78520         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
78521         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
78522         * m4/hard-locale.m4 (gl_HARD_LOCALE):
78523         * m4/hash.m4 (gl_HASH):
78524         * m4/idcache.m4 (gl_IDCACHE):
78525         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
78526         * m4/lchown.m4 (gl_FUNC_LCHOWN):
78527         * m4/long-options.m4 (gl_LONG_OPTIONS):
78528         * m4/lstat.m4 (gl_FUNC_LSTAT):
78529         * m4/md5.m4 (gl_MD5):
78530         * m4/memcasecmp.m4 (gl_MEMCASECMP):
78531         * m4/memcoll.m4 (gl_MEMCOLL):
78532         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
78533         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
78534         * m4/memxor.m4 (gl_MEMXOR):
78535         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
78536         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
78537         * m4/modechange.m4 (gl_MODECHANGE):
78538         * m4/mountlist.m4 (gl_MOUNTLIST):
78539         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
78540         * m4/openat.m4 (gl_FUNC_OPENAT):
78541         * m4/pathmax.m4 (gl_PATHMAX):
78542         * m4/physmem.m4 (gl_PHYSMEM):
78543         * m4/posixtm.m4 (gl_POSIXTM):
78544         * m4/posixver.m4 (gl_POSIXVER):
78545         * m4/quote.m4 (gl_QUOTE):
78546         * m4/quotearg.m4 (gl_QUOTEARG):
78547         * m4/readtokens.m4 (gl_READTOKENS):
78548         * m4/readutmp.m4 (gl_READUTMP):
78549         * m4/regex.m4 (gl_REGEX):
78550         * m4/safe-read.m4 (gl_SAFE_READ):
78551         * m4/safe-write.m4 (gl_SAFE_WRITE):
78552         * m4/same.m4 (gl_SAME):
78553         * m4/save-cwd.m4 (gl_SAVE_CWD):
78554         * m4/savedir.m4 (gl_SAVEDIR):
78555         * m4/settime.m4 (gl_SETTIME):
78556         * m4/sha1.m4 (gl_SHA1):
78557         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
78558         * m4/stat-macros.m4 (gl_STAT_MACROS):
78559         * m4/stat-time.m4 (gl_STAT_TIME):
78560         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
78561         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
78562         * m4/strdup.m4 (gl_FUNC_STRDUP):
78563         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
78564         * m4/strndup.m4 (gl_FUNC_STRNDUP):
78565         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
78566         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
78567         * m4/time_r.m4 (gl_TIME_R):
78568         * m4/timespec.m4 (gl_TIMESPEC):
78569         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
78570         * m4/unlinkdir.m4 (gl_UNLINKDIR):
78571         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
78572         * m4/userspec.m4 (gl_USERSPEC):
78573         * m4/utimecmp.m4 (gl_UTIMECMP):
78574         * m4/utimens.m4 (gl_UTIMENS):
78575         * m4/xalloc.m4 (gl_XALLOC):
78576         * m4/xgetcwd.m4 (gl_XGETCWD):
78577         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
78578         * m4/xreadlink.m4 (gl_XREADLINK):
78579         * m4/xstrtod.m4 (gl_XSTRTOD):
78580         * m4/yesno.m4 (gl_YESNO):
78581         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
78582         to get the necessary .h files and whatnot.
78583
78584 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
78585             Bruno Haible  <bruno@clisp.org>
78586
78587         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
78588         /bin/sh understanding of '!' conditional negation.
78589
78590 2006-08-21  Jim Meyering  <jim@meyering.net>
78591
78592         * modules/openat (Depends-on): Really alphabetize.
78593
78594         * modules/acl (Depends-on): Add error and quote.
78595
78596         * check-module (find_included_lib_files): Add at-func.c to the
78597         ok-to-include-more-than-once white list.
78598
78599         * modules/openat (Depends-on): Add lstat.  Alphabetize.
78600
78601 2006-08-21  Bruno Haible  <bruno@clisp.org>
78602
78603         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78604         Emit a pkgdata_DATA variable only if some snippets add contents to it.
78605         Reported by Martin Lambers <marlam@marlam.de>.
78606
78607 2006-08-21  Bruno Haible  <bruno@clisp.org>
78608
78609         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
78610         specify an installation location, don't emit a noinst_LIBRARIES or
78611         noinst_LTLIBRARIES assignment.
78612
78613 2006-08-21  Bruno Haible  <bruno@clisp.org>
78614
78615         BeOS portability.
78616         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
78617         BeOS has mbrtowc() but no <wctype.h>.
78618
78619 2006-08-21  Bruno Haible  <bruno@clisp.org>
78620
78621         BeOS portability.
78622         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
78623         exist.
78624
78625 2006-08-21  Bruno Haible  <bruno@clisp.org>
78626
78627         BeOS portability.
78628         * lib/mbchar.h: Include <wctype.h> only if it exists.
78629
78630 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78631
78632         Remove files that are no longer needed by their respective modules.
78633         * m4/obstack.m4: Remove.
78634         * m4/strerror_r.m4: Remove.
78635         * m4/uint32_t.m4: Remove.
78636         * m4/uintptr_t.m4: Remove.
78637         * m4/ullong_max.m4: Remove.
78638         * m4/xstrtoimax.m4: Remove.
78639         * m4/xstrtoumax.m4: Remove.
78640
78641         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
78642         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
78643         dependencies now capture this.
78644
78645         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
78646         Do not use AC_LIBSOURCES, since gnulib modules now do this.
78647         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
78648         * m4/human.m4 (gl_HUMAN): Likewise.
78649         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
78650         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
78651
78652         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
78653
78654         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
78655         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
78656         stdint.
78657         * m4/human.m4 (gl_HUMAN): Likewise.
78658         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
78659         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
78660         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
78661         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
78662         * m4/xstrtol (gl_XSTRTOL): Likewise.
78663
78664         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
78665         AC_TYPE_LONG_LONG_INT.
78666         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
78667         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
78668         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
78669         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
78670
78671         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
78672         on stdbool.
78673
78674         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
78675         (gl_PREREQ_XSTRTOUL): Remove.
78676
78677         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
78678
78679         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
78680         mode.
78681
78682 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78683
78684         Add and change modules to make it easier for coreutils to use
78685         gnulib-tool.
78686         * modules/backupfile (Files): Remove m4/d-ino.m4.
78687         (Depends-on): Add d-ino.
78688         * modules/cycle-check (Depends-on): Add stdint.
78689         (lib_SOURCES): Add cycle-check.h.
78690         * modules/d-ino: New module.
78691         * modules/d-type: New module.
78692         * modules/error (Files): Remove m4/strerror_r.m4.
78693         * modules/filemode (Files): Add m4/st_dm_mode.m4.
78694         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78695         m4/inttypes_h.m4, m4/uintmax_t.m4.
78696         (Depends-on): Add stdint.
78697         (lib_SOURCES): Add fsusage.h.
78698         * modules/getcwd (Files): Remove d-ino.m4.
78699         (Depends-on): Add d-ino.
78700         * modules/getndelim2 (Depends-on): Add stdint.
78701         * modules/glob (Files): Remove m4/d-type.m4.
78702         (Depends-on): Add d-type.
78703         * modules/host-os: New module.
78704         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
78705         m4/inttypes_h.m4, m4/uintmax_t.m4.
78706         * Depends-on: Add stdint.
78707         (lib_SOURCES): Add human.h.
78708         * modules/inttostr (Files): Remove m4/intmax_t.m4,
78709         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
78710         m4/uintmax_t.m4, m4/ulonglong.m4.
78711         (Depends-on): Add stdint.
78712         (EXTRA_DIST): Add inttostr.h.
78713         * modules/lchmod: New module.
78714         * modules/link-follow: New module.
78715         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
78716         (Depends-on): Add lchmod.
78717         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
78718         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
78719         (Depends-on): Add stdint.
78720         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
78721         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
78722         (Depends-on): Add stdint.
78723         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
78724         * modules/perl: New module.
78725         * modules/regex (Depends-on): Add stdint.
78726         * modules/rmdir-errno: New module.
78727         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
78728         m4/intmax_t.m4.
78729         (Depends-on): Add stdint.
78730         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
78731         m4/uintmax_t.m4.
78732         (Depends-on): Add stdint.
78733         * modules/unlink-busy: New module.
78734         * modules/utimecmp (Depends-on): Add stdint.
78735         * modules/uptime: New module.
78736         * modules/winsz-ioctl: New module.
78737         * modules/winsz-termios: New module.
78738         * modules/xnanosleep (Depends-on): Add nanosleep.
78739         * modules/ullong_max: Remove.
78740         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
78741         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
78742         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
78743         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
78744         (Depends-on): Add inttypes.
78745         (lib_SOURCES): Add xstrtol.h.
78746         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
78747         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
78748         * MODULES.html.sh: Move 'assert' into the assert section.
78749         Move 'dummy' into the linking section.
78750         Remove ullong_max.
78751         Add section for compatibility checks for POSIX:2001 functions,
78752         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
78753         winsz-ioctl, and winsz-termios into it.
78754         Add lchmod.
78755         Add top-level Misc section and put host-os, perl, and uptime
78756         into it.
78757
78758 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78759
78760         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
78761         now assume the stdint module.  Do not include inttypes.h.
78762         * lib/fsusage.h: Likewise.
78763         * lib/getndelim2.c: Likewise.
78764         * lib/human.h: Likewise.
78765         * lib/inttostr.h: Likewise.
78766         * lib/obstack.c: Likewise.
78767         * lib/regex_internal.h: Likewise.
78768         * lib/tempname.c: Likewise.
78769         * lib/utimecmp.c: Likewise.
78770         * lib/xstrtol.h: Likewise.
78771
78772         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
78773
78774         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
78775         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
78776         * lib/xtime.h: Likewise.
78777
78778 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78779
78780         * modules/openat (Files): Add lib/fchmodat.c.
78781         Fixes problem reported by Jay Youngman.
78782
78783 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78784
78785         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
78786         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
78787
78788 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
78789             Bruno Haible  <bruno@clisp.org>
78790
78791         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
78792         and is a script that invokes bison. Tighten the code. Add comments.
78793
78794 2006-08-18  Jim Meyering  <jim@meyering.net>
78795
78796         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
78797         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
78798         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
78799         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
78800
78801 2006-08-18  Bruno Haible  <bruno@clisp.org>
78802
78803         * modules/bison-i18n: New file.
78804         * MODULES.html.sh (Internationalization functions): Add it.
78805
78806 2006-08-18  Bruno Haible  <bruno@clisp.org>
78807
78808         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
78809         sys/statvfs.h. When getmntinfo was found, check its declaration and
78810         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
78811
78812 2006-08-18  Bruno Haible  <bruno@clisp.org>
78813
78814         * m4/bison-i18n.m4: New file, from bison.
78815
78816 2006-08-18  Bruno Haible  <bruno@clisp.org>
78817
78818         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
78819         (ME_DUMMY): Treat "kernfs" as a dummy.
78820         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
78821
78822 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78823
78824         Update from coreutils.
78825
78826         2006-08-15  Jim Meyering  <jim@meyering.net>
78827
78828         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
78829
78830         2006-01-17  Jim Meyering  <jim@meyering.net>
78831
78832         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
78833
78834         2006-01-11  Jim Meyering  <jim@meyering.net>
78835
78836         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
78837         Check for the lchmod function.
78838
78839 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78840
78841         Update from coreutils.
78842
78843         * lib/__fpending.h: Add copyright notice.
78844         * lib/fprintftime.h: Likewise.
78845         * lib/savedir.c: Use (C) in copyright notice.
78846         * lib/savedir.h: Likewise.
78847
78848         2006-08-15  Jim Meyering  <jim@meyering.net>
78849
78850         * lib/at-func.c: New file, with the logic of all emulated at-functions.
78851         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
78852         in support of the EXPECTED_ERRNO macro.
78853         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
78854         definitions.  Instead, define the appropriate symbols and include
78855         "at-func.c".
78856         * lib/mkdirat.c (mkdirat): Likewise.
78857         * lib/fchmodat.c (fchmodat): Likewise.
78858         (ENOSYS): Remove definition.
78859         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
78860         it.  Don't include "unistd--.h" -- it wasn't ever used.
78861
78862         2006-01-17  Jim Meyering  <jim@meyering.net>
78863
78864         Rewrite fts.c not to change the current working directory,
78865         by using openat, fstatat, fdopendir, etc..
78866
78867         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
78868         (HAVE_OPENAT_SUPPORT): Define.
78869         [_LIBC] (fchdir): Don't undef or define; no longer used.
78870         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
78871         Now, this `function' always succeeds, and consumes its file descriptor
78872         parameter -- so callers must not close such FDs.  Update callers.
78873         (diropen_fd, opendirat, cwd_advance_fd): New functions.
78874         (diropen): Add parameter, SP.  Adjust all callers.
78875         Implement using diropen_fd, rather than open.
78876         (fts_open): Initialize new member, fts_cwd_fd.
78877         Remove fts_rft-setting code.
78878         (fts_close): Close fts_cwd_fd, if necessary.
78879         (__opendir2): Define in terms of opendir or opendirat,
78880         depending on whether the FST_NOCHDIR flag is set.
78881         (fts_build): Since fts_safe_changedir consumes its FD, and since
78882         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
78883         and close the dup'd file descriptor upon failure.
78884         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
78885         (fts_safe_changedir): Tweak semantics to reflect that this function
78886         now calls cwd_advance_fd and hence consumes its FD argument.
78887         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
78888         [struct FTS] (fts_rft): Remove now-unused member.
78889         [struct FTS] (fts_cycle.state): Improve comment.
78890
78891         * lib/openat.c (openat_needs_fchdir): New function.
78892         * lib/openat.h (openat_needs_fchdir): Declare it.
78893
78894 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
78895
78896         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
78897         Problem and fix reported by Pádraig Brady in
78898         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
78899
78900 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78901
78902         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
78903
78904 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78905
78906         * lib/memcoll.c (memcoll): Optimize for the common case where the
78907         arguments are bytewise equal.
78908
78909 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78910
78911         * doc/regexprops-generic.texi: Add a copyright notice.
78912
78913 2006-08-15  Bruno Haible  <bruno@clisp.org>
78914
78915         * modules/tmpdir (License): Change to LGPL.
78916
78917 2006-08-15  Bruno Haible  <bruno@clisp.org>
78918
78919         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
78920         module.
78921
78922 2006-08-14  Simon Josefsson  <jas@extundo.com>
78923
78924         * config/srclist.txt: Add gnupload.
78925
78926 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
78927
78928         Change copyright notice from LGPL 2 to GPL 2, since that's the
78929         standard form used in the gnulib repository.
78930         * tests/test-lock.c: Likewise.
78931         * tests/test-stdint.c: Likewise.
78932         * tests/test-tls.c: Likewise.
78933
78934         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
78935         prelude-manager.  User shorter URLs for GNU projects, without '?'.
78936         Add copyright notice.
78937
78938         * check-module: Add copyright notice.  Output a copyright
78939         notice if "--version" is specified.
78940         * modules/COPYING: New file.
78941         * tests/test-getaddrinfo.c: Add copyright notice.
78942         * tests/test-verify.c: Likewise.
78943
78944 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
78945
78946         Change copyright notice from LGPL 2 to GPL 2, since that's the
78947         standard form used in the gnulib repository.
78948         * lib/lock.c: LGPL -> GPL.
78949         * lib/lock.h: Likewise.
78950         * lib/strnlen1.c: Likewise.
78951         * lib/strnlen1.h: Likewise.
78952         * lib/tls.c: Likewise.
78953         * lib/tls.h: Likewise.
78954         * lib/tmpdir.c: Likewise.
78955
78956         * lib/TODO: Remove; this belongs only in coreutils.
78957
78958 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
78959
78960         Add copyright notices to long-enough files that lack them, since
78961         otherwise the files aren't clearly free.  Use the same notice that
78962         getdate.texi already uses.
78963         * doc/alloca-opt.texi: Add copyright notice.
78964         * doc/alloca.texi: Likewise.
78965         * doc/ctime.texi: Likewise.
78966         * doc/functions.texi: Likewise.
78967         * doc/gcd.texi: Likewise.
78968         * doc/gnulib-tool.texi: Likewise.
78969         * doc/inet_ntoa.texi: Likewise.
78970         * doc/visibility.texi: Likewise.
78971
78972         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
78973         * doc/quote.texi: Add copyright notice.
78974
78975         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
78976         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
78977         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
78978         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
78979         is now obsolete, and give a pointer to the Sun list.
78980         Add copyright notice.
78981
78982 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
78983
78984         * config/srclistvars.sh: Add copyright notice.
78985
78986 2006-08-14  Eric Blake  <ebb9@byu.net>
78987
78988         Import the following change from libc:
78989
78990         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
78991
78992         Upstream bug 2997.
78993         * lib/misc/error.c: Add space between program name and message if file
78994         name is missing.
78995
78996 2006-08-12  Karl Berry  <karl@gnu.org>
78997
78998         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
78999         remove, these originate in gnulib now.
79000
79001 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79002
79003         * doc/Makefile (standards.info standards.html standards.dvi):
79004         Also depend on make-stds.texi.
79005
79006 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79007
79008         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
79009         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
79010
79011         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
79012         in wchar_t.  Problem reported by Eric Blake.
79013
79014         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
79015         LEN is smaller than SIZE.  Suggested by Bruno Haible.
79016         Also, help the compiler to keep LEN in a register.
79017
79018 2006-08-11  Eric Blake  <ebb9@byu.net>
79019
79020         * users.txt: Sort.  Add tar.
79021
79022 2006-08-11  Bruno Haible  <bruno@clisp.org>
79023
79024         * users.txt: New file.
79025
79026 2006-08-11  Bruno Haible  <bruno@clisp.org>
79027
79028         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
79029         before <wchar.h>. Needed for OSF/1 and BSD/OS.
79030
79031 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79032
79033         * modules/snprintf (Depends-on): Remove minmax.
79034         (Maintainer): Add self and Bruno.
79035
79036 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79037
79038         * lib/.cppi-disable: Add snprintf.h, socket_.h.
79039         * lib/snprintf.c: Include <errno.h> and <limits.h>.
79040         (EOVERFLOW): Define if the system does not.
79041         Do not include "minmax.h"; it wasn't used.
79042         (snprintf): Don't assume size_t promotes to an unsigned type.
79043         Fix bug when generated string was too long for the buffer: the
79044         buffer's contents are supposed to be the initial prefix of the
79045         output.  Don't assume vasnprintf returns EOVERFLOW if the size
79046         exceeds INT_MAX; do the check ourselves.
79047
79048         Import the following changes from libc:
79049
79050         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
79051
79052         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
79053         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
79054         set wc to the byte which couldn't be converted.
79055         (re_string_reconstruct): Don't clear valid_raw_len before calling
79056         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
79057         tip_context using re_string_context_at.
79058
79059         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
79060
79061         * lib/posix/regex.h: g++ still cannot handled [restrict].
79062
79063         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
79064
79065         * lib/posix/regex.h: Remove special handling for VMS.
79066
79067 2006-08-10  Jim Meyering  <jim@meyering.net>
79068
79069         * modules/same-inode: New module.
79070         * modules/dev-ino: New module.
79071         * modules/cycle-check: Depend on these modules, rather than simply
79072         including their .h files.
79073         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
79074         required via m4/cycle-check.m4.
79075         * modules/same: Depend on new same-inode module, rather than
79076         including same-inode.h.
79077         * modules/chdir-safer: New file.
79078
79079         * modules/chown (Depends-on): Add stat-macros.
79080
79081 2006-08-10  Jim Meyering  <jim@meyering.net>
79082
79083         * m4/cycle-check.m4: New file.
79084         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
79085         * m4/dev-ino.m4, m4/same-inode.m4: New files.
79086
79087 2006-08-10  Eric Blake  <ebb9@byu.net>
79088
79089         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
79090         in from original proposal.
79091
79092 2006-08-10  Eric Blake  <ebb9@byu.net>
79093         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
79094
79095         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
79096         namespace.
79097
79098 2006-08-10  Bruno Haible  <bruno@clisp.org>
79099
79100         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
79101         as well.
79102
79103 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79104
79105         Sync from coreutils.
79106
79107         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
79108
79109         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
79110         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
79111
79112 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79113
79114         * modules/restrict: Remove; no longer needed now that we assume
79115         Autoconf 2.59 or later.
79116         * MODULES.html.sh: Remove 'restrict'.
79117         * modules/argp (Depends-on): Remove 'restrict'.
79118         * modules/base64 (Depends-on): Likewise.
79119         * modules/gc (Depends-on): Likewise.
79120         * modules/getaddrinfo (Depends-on): Likewise.
79121         * modules/glob (Depends-on): Likewise.
79122         * modules/inet_ntop (Depends-on): Likewise.
79123         * modules/inet_pton (Depends-on): Likewise.
79124         * modules/memxor (Depends-on): Likewise.
79125         * modules/regex (Depends-on): Likewise.
79126         * modules/strtok_r (Depends-on): Likewise.
79127         * modules/time_r (Depends-on): Likewise.
79128
79129 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79130
79131         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
79132         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
79133         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
79134         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
79135         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
79136         * m4/memxor.m4 (gl_MEMXOR): Likewise.
79137         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
79138         gl_C_RESTRICT replaced by AC_C_RESTRICT.
79139
79140         Merge from coreutils.
79141         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
79142         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
79143         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
79144         * m4/time_r.m4 (gl_TIME_R): Likewise.
79145
79146 2006-08-09  Karl Berry  <karl@gnu.org>
79147
79148         * config/srclist.txt: no more gettext-tools, per Bruno.
79149
79150 2006-08-08  Eric Blake  <ebb9@byu.net>
79151
79152         * modules/verror: New module.
79153         * MODULES.html.sh: Document it.
79154
79155 2006-08-08  Eric Blake  <ebb9@byu.net>
79156
79157         * lib/verror.h, lib/verror.c: New files.
79158
79159 2006-08-08  Eric Blake  <ebb9@byu.net>
79160
79161         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
79162         verror_at_line output complies with GNU Coding Standards even when
79163         file is NULL.
79164
79165 2006-08-07  Bruno Haible  <bruno@clisp.org>
79166
79167         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
79168         versions of AIX.
79169         Reported by Ralf Wildenhues.
79170
79171 2006-08-07  Bruno Haible  <bruno@clisp.org>
79172
79173         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
79174         in an AC_DEFUN. Needed so that the autoconf snippets can use
79175         AC_REQUIRE.
79176
79177 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79178
79179         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79180         Initialize pkgdata_DATA.
79181         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
79182         overriding it.
79183
79184 2006-08-06  Eric Blake  <ebb9@byu.net>
79185
79186         * lib/error.h: Fold in some upstream changes from glibc.
79187         * lib/error.c: Likewise.
79188
79189 2006-08-04  Bruno Haible  <bruno@clisp.org>
79190
79191         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79192         Make the mostlyclean-local rule depend on mostlyclean-generic.
79193         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
79194
79195 2006-07-31  Bruno Haible  <bruno@clisp.org>
79196
79197         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
79198         <stdlib.h>, <string.h>.
79199
79200 2006-07-30  Bruno Haible  <bruno@clisp.org>
79201
79202         * modules/readlink (License): Change to LGPL.
79203
79204 2006-07-30  Bruno Haible  <bruno@clisp.org>
79205
79206         * modules/javaversion (Makefile.am): Distribute javaversion.java and
79207         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
79208         set PKGDATADIR to point to it.
79209
79210 2006-07-30  Bruno Haible  <bruno@clisp.org>
79211
79212         * modules/csharpexec (configure.ac): Comment out macro invocation.
79213         * modules/javaexec (configure.ac): Likewise.
79214         * modules/javacomp-script (configure.ac): Likewise.
79215
79216         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
79217
79218 2006-07-30  Bruno Haible  <bruno@clisp.org>
79219
79220         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
79221         linked-list.
79222
79223 2006-07-30  Bruno Haible  <bruno@clisp.org>
79224
79225         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
79226
79227 2006-07-30  Bruno Haible  <bruno@clisp.org>
79228
79229         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79230         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
79231         get removed.
79232
79233 2006-07-29  Bruno Haible  <bruno@clisp.org>
79234
79235         Make it possible for gnulib-tool to work with locally modified or
79236         augmented gnulib repositories.
79237         * gnulib-tool (func_usage): Document --local-dir option.
79238         (local_gnulib_dir): New variable.
79239         Handle --local-dir option.
79240         (func_lookup_file): New function.
79241         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
79242         (func_get_description, func_get_filelist, func_get_description,
79243         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
79244         func_get_automake_snippet, func_get_include_directive,
79245         func_get_license, func_get_maintainer): Use func_lookup_file.
79246         (func_import, func_create_testdir): Use func_lookup_file.
79247
79248 2006-07-29  Bruno Haible  <bruno@clisp.org>
79249
79250         * modules/setenv (Depends-on): Add unistd.
79251
79252 2006-07-29  Bruno Haible  <bruno@clisp.org>
79253
79254         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
79255
79256 2006-07-29  Bruno Haible  <bruno@clisp.org>
79257
79258         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
79259
79260 2006-07-29  Bruno Haible  <bruno@clisp.org>
79261
79262         * gnulib-tool (import, update): If there is no Makefile.am, look at
79263         aclocal.m4, instead of bailing out.
79264
79265 2006-07-29  Bruno Haible  <bruno@clisp.org>
79266
79267         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
79268         Categorize the options by when they are useful.
79269
79270 2006-07-29  Bruno Haible  <bruno@clisp.org>
79271
79272         * gnulib-tool (func_usage): Document option --no-libtool.
79273         Handle option --no-libtool.
79274         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
79275         for changed semantics of $libtool variable.
79276         (func_import): Likewise. If libtool is not used, show this through
79277         an option --no-libtool.
79278         (func_create_testdir): Update.
79279
79280 2006-07-29  Bruno Haible  <bruno@clisp.org>
79281
79282         * gnulib-tool (func_import): Extend error message about missing
79283         --doc-base.
79284
79285 2006-07-29  Bruno Haible  <bruno@clisp.org>
79286
79287         * gnulib-tool (func_import): Don't create the $docbase directory if
79288         there is no file to store there.
79289
79290 2006-07-29  Bruno Haible  <bruno@clisp.org>
79291
79292         * gnulib-tool (autoconf_minversion): If a --dir option is given and
79293         relevant, look for configure.ac there, not in the current directory.
79294         Also use a simple search for AC_PREREQ, not "autoconf --trace".
79295
79296 2006-07-29  Bruno Haible  <bruno@clisp.org>
79297
79298         * gnulib-tool (SORT): New variable.
79299         (func_usage): Undocument --assume-autoconf option.
79300         Remove --assume-autoconf option handling.
79301         (autoconf_minversion): Determine from the contents of configure.ac.
79302         (func_import): Remove autoconf_minversion handling.
79303         Suggested by Eric Blake.
79304
79305 2006-07-29  Bruno Haible  <bruno@clisp.org>
79306
79307         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
79308
79309 2006-07-29  Bruno Haible  <bruno@clisp.org>
79310
79311         * config/srclist.txt (*setenv.[ch]): Remove rules.
79312
79313 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79314
79315         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
79316
79317 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79318
79319         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
79320         arpa/inet.h.
79321
79322 2006-07-28  Simon Josefsson  <jas@extundo.com>
79323
79324         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
79325         * modules/inet_pton (Depends-on): Likewise.
79326
79327 2006-07-28  Simon Josefsson  <jas@extundo.com>
79328
79329         * m4/netinet_in_h.m4: New file.
79330
79331 2006-07-28  Simon Josefsson  <jas@extundo.com>
79332
79333         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
79334         #include's.
79335
79336 2006-07-28  Simon Josefsson  <jas@extundo.com>
79337
79338         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
79339         #include's.
79340
79341 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
79342
79343         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
79344         setgid on directories only if they set these bits.
79345         * lib/modechange.h: Remove obsolete comment about masks.
79346
79347 2006-07-28  Eric Blake  <ebb9@byu.net>
79348
79349         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
79350         macro expansion.
79351
79352 2006-07-28  Bruno Haible  <bruno@clisp.org>
79353
79354         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
79355
79356 2006-07-28  Bruno Haible  <bruno@clisp.org>
79357
79358         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
79359
79360 2006-07-28  Bruno Haible  <bruno@clisp.org>
79361
79362         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
79363         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
79364         Define fallbacks.
79365         Avoids link error on FreeBSD 4.x.
79366         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79367
79368         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
79369         encoding.
79370         * lib/mbswidth.c (iswcntrl): Likewise.
79371
79372 2006-07-27  Bruno Haible  <bruno@clisp.org>
79373
79374         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
79375         test.
79376
79377 2006-07-27  Bruno Haible  <bruno@clisp.org>
79378
79379         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
79380         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
79381         defined.
79382
79383 2006-07-26  Eric Blake  <ebb9@byu.net>
79384
79385         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
79386
79387 2006-07-26  Eric Blake  <ebb9@byu.net>
79388
79389         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
79390         like mingw that lack mkstemp.
79391         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
79392         avoid compilation warning on mingw.
79393
79394 2006-07-26  Bruno Haible  <bruno@clisp.org>
79395
79396         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
79397         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
79398         INT_FAST*_MIN, INTPTR_MIN.
79399
79400 2006-07-25  Bruno Haible  <bruno@clisp.org>
79401
79402         * modules/version-etc (Depends-on): Add stdarg.
79403
79404 2006-07-25  Bruno Haible  <bruno@clisp.org>
79405
79406         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
79407         complex commands.
79408
79409 2006-07-25  Bruno Haible  <bruno@clisp.org>
79410
79411         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
79412         defined in <stdarg.h> or config.h.
79413
79414 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79415
79416         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
79417         (gl_STDIO_SAFER): Remove.
79418
79419 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79420
79421         * MODULES.html.sh (File stream based Input/Output):
79422         Add fopen-safer, tmpfile-safer; remove stdio-safer.
79423         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
79424         * modules/fopen-safer, modules/tmpfile-safer: New files.
79425         * modules/stdio-safer: Remove.
79426
79427 2006-07-24  Bruno Haible  <bruno@clisp.org>
79428
79429         * modules/tmpdir: New file.
79430         * MODULES.html.sh (File system functions): Add it.
79431
79432 2006-07-24  Bruno Haible  <bruno@clisp.org>
79433
79434         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
79435         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
79436
79437 2006-07-24  Bruno Haible  <bruno@clisp.org>
79438
79439         * modules/clean-temp: New file.
79440
79441 2006-07-24  Bruno Haible  <bruno@clisp.org>
79442
79443         * m4/tmpdir.m4: New file, from GNU gettext.
79444
79445 2006-07-24  Bruno Haible  <bruno@clisp.org>
79446
79447         * lib/tmpdir.h: New file, from GNU gettext.
79448         * lib/tmpdir.c: New file, from GNU gettext.
79449
79450 2006-07-24  Bruno Haible  <bruno@clisp.org>
79451
79452         * lib/clean-temp.h: New file, from GNU gettext.
79453         * lib/clean-temp.c: New file, from GNU gettext.
79454
79455 2006-07-23  Eric Blake  <ebb9@byu.net>
79456
79457         * modules/stdio-safer (Files): Add tmpfile-safer.c.
79458         (Depends-on): Add binary-io.
79459
79460 2006-07-23  Eric Blake  <ebb9@byu.net>
79461
79462         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
79463
79464 2006-07-23  Eric Blake  <ebb9@byu.net>
79465
79466         * lib/tmpfile-safer.c: New file.
79467         * lib/stdio-safer.h (fopen_safer): Add prototype.
79468         * lib/stdio--.h (tmpfile): Make safer.
79469
79470 2006-07-23  Bruno Haible  <bruno@clisp.org>
79471
79472         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
79473         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
79474         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
79475         gl_linked_remove_at): Use it.
79476
79477 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79478         and Simon Josefsson <jas@extundo.com>
79479
79480         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
79481
79482         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
79483
79484 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
79485
79486         * modules/close-stream: New file.
79487         * modules/closeout (Description): Make it clear that it exits
79488         with a diagnostic on error.
79489         (Depends-on): Add close-stream.  Remove fpending, stdbool.
79490         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
79491
79492 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
79493
79494         * m4/close-stream.m4: New file.
79495
79496 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
79497
79498         * lib/close-stream.c, lib/close-stream.h: New files.
79499
79500 2006-07-22  Bruno Haible  <bruno@clisp.org>
79501
79502         Merge from GNU gettext 0.15.
79503
79504         2006-05-01  Bruno Haible  <bruno@clisp.org>
79505
79506                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
79507
79508         2006-07-22  Bruno Haible  <bruno@clisp.org>
79509
79510                 * modules/javaversion: New file.
79511                 * MODULES.html.sh (Java): Add javaversion.
79512
79513         2006-03-12  Bruno Haible  <bruno@clisp.org>
79514
79515                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
79516
79517         2005-12-04  Bruno Haible  <bruno@clisp.org>
79518
79519                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
79520                 (untested).
79521
79522         2006-06-21  Bruno Haible  <bruno@clisp.org>
79523
79524                 Avoid warnings from recent versions of mcs.
79525                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
79526                 -o, -L, -r any more. Use options documented since mcs-1.0
79527                 instead. Similarly for -g.
79528
79529         2005-12-04  Bruno Haible  <bruno@clisp.org>
79530
79531                 * build-aux/csharpcomp.sh.in: Suffix for resources is
79532                 .resources, not .resource.
79533
79534         2005-07-09  Bruno Haible  <bruno@clisp.org>
79535
79536                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
79537                 add a .dll suffix.
79538                 Reported by Mark Junker <mjscod@gmx.de>.
79539
79540         2006-07-22  Bruno Haible  <bruno@clisp.org>
79541
79542                 * modules/gettext: Upgrade to gettext-0.15.
79543                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
79544                 m4/visibility.m4.
79545                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
79546
79547 2006-07-22  Bruno Haible  <bruno@clisp.org>
79548
79549         Merge from GNU gettext 0.15.
79550
79551         2006-03-25  Bruno Haible  <bruno@clisp.org>
79552
79553                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
79554
79555         2006-07-21  Bruno Haible  <bruno@clisp.org>
79556
79557                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
79558                 "1.1".
79559
79560         2006-05-09  Bruno Haible  <bruno@clisp.org>
79561
79562                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
79563                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
79564                 for the conftestver execution.
79565
79566         2006-05-01  Bruno Haible  <bruno@clisp.org>
79567
79568                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
79569                 optional target-version argument. Verify that the compiler
79570                 groks source of the specified source-version, or add -source
79571                 option as necessary. Verify that the compiler produces
79572                 bytecode in the specified target-version, or add -target and
79573                 -source options as necessary. Make the result of the test
79574                 available as variable CONF_JAVAC. Also log error output in
79575                 config.log.
79576
79577         2006-03-11  Bruno Haible  <bruno@clisp.org>
79578
79579                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
79580
79581         2006-05-09  Bruno Haible  <bruno@clisp.org>
79582
79583                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
79584                 CLASSPATH_SEPARATOR to a semicolon.
79585
79586         2006-03-12  Bruno Haible  <bruno@clisp.org>
79587
79588                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
79589                 available as variable CONF_JAVA, for subsequent autoconf
79590                 tests. Also log error output in config.log.
79591
79592         2006-07-19  Bruno Haible  <bruno@clisp.org>
79593
79594                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
79595                 that getline works on glibc2 systems. Needed to avoid trouble
79596                 in relocatable.c.
79597                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
79598
79599         2005-12-04  Bruno Haible  <bruno@clisp.org>
79600
79601                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
79602                 launcher (untested).
79603
79604         2005-12-04  Bruno Haible  <bruno@clisp.org>
79605
79606                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
79607
79608         2006-07-22  Bruno Haible  <bruno@clisp.org>
79609
79610                 * gettext.m4: Update from GNU gettext-0.15.
79611                 * nls.m4: Likewise.
79612                 * po.m4: Likewise.
79613                 * inttypes-pri.m4: Likewise.
79614                 * inttypes-h.m4: Renamed from inttypes.m4.
79615                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
79616
79617 2006-07-22  Bruno Haible  <bruno@clisp.org>
79618
79619         Merge from GNU gettext 0.15.
79620
79621         2005-07-05  Bruno Haible  <bruno@clisp.org>
79622
79623                 * printf-args.c (printf_fetchargs): Work around broken
79624                 definition of wint_t on mingw.
79625
79626         2005-02-12  Bruno Haible  <bruno@clisp.org>
79627
79628                 * xallocsa.h: Add extern "C" for C++.
79629
79630         2006-05-17  Bruno Haible  <bruno@clisp.org>
79631
79632                 Cygwin portability.
79633                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
79634
79635         2006-04-30  Bruno Haible  <bruno@clisp.org>
79636
79637                 * progreloc.c: Include <mach-o/dyld.h> if available.
79638                 (find_executable): Use _NSGetExecutablePath when possible.
79639
79640         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
79641
79642                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
79643                 function.
79644
79645         2005-12-29  Bruno Haible  <bruno@clisp.org>
79646
79647                 * progreloc.c (set_program_name_and_installdir): Fix
79648                 compilation error.
79649
79650         2005-12-04  Bruno Haible  <bruno@clisp.org>
79651
79652                 Cygwin portability.
79653                 * progreloc.c: Include <windows.h> also on Cygwin.
79654                 (find_executable): Add support for Cygwin.
79655                 (set_program_name_and_installdir): Handle also platforms with
79656                 nonempty EXEEXT.
79657
79658         2006-07-11  Bruno Haible  <bruno@clisp.org>
79659
79660                 * javacomp.c: Fix a comment.
79661                 Reported by Jim Meyering.
79662
79663         2006-04-30  Bruno Haible  <bruno@clisp.org>
79664
79665                 * javacomp.h (compile_java_class): Add source_version,
79666                 target_version arguments.
79667                 * javacomp.c: Rewritten to choose only a compiler that
79668                 respects the specified source_version and target_version.
79669
79670         2006-06-27  Bruno Haible  <bruno@clisp.org>
79671
79672                 Assume correct S_ISDIR macro.
79673                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
79674
79675         2006-07-22  Bruno Haible  <bruno@clisp.org>
79676
79677                 * javaversion.h: New file, from GNU gettext.
79678                 * javaversion.c: New file, from GNU gettext.
79679                 * javaversion.java: New file, from GNU gettext.
79680                 * javaversion.class: New file, from GNU gettext.
79681
79682         2006-05-17  Bruno Haible  <bruno@clisp.org>
79683
79684                 Cygwin portability.
79685                 * javaexec.c (execute_java_class): Test for jview program
79686                 also on Cygwin.
79687
79688         2006-04-09  Bruno Haible  <bruno@clisp.org>
79689
79690                 * fatal-signal.c: Don't include string.h.
79691                 (at_fatal_signal): Use a copying loop instead of memcpy.
79692
79693         2005-12-04  Bruno Haible  <bruno@clisp.org>
79694
79695                 * csharpexec.c: Add support for 'clix' launcher (untested).
79696                 (execute_csharp_using_sscli): New function.
79697                 (execute_csharp_program): Call it.
79698
79699         2006-06-21  Bruno Haible  <bruno@clisp.org>
79700
79701                 Avoid warnings from recent versions of mcs.
79702                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
79703                 -o, -L, -r any more. Use options documented since mcs-1.0
79704                 instead. Similarly for -g.
79705
79706         2005-07-09  Bruno Haible  <bruno@clisp.org>
79707
79708                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
79709                 add a .dll suffix.
79710                 Reported by Mark Junker <mjscod@gmx.de>.
79711
79712         2006-06-17  Bruno Haible  <bruno@clisp.org>
79713
79714                 * config.charset: Update for NetBSD 3.0.
79715
79716         2006-05-17  Bruno Haible  <bruno@clisp.org>
79717
79718                 Cygwin portability.
79719                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
79720
79721         2006-05-16  Bruno Haible  <bruno@clisp.org>
79722
79723                 * localcharset.c [CYGWIN]: Include <windows.h>.
79724                 (get_charset_aliases): For Cygwin, return the same CPxxx
79725                 aliases list as under WIN32.
79726                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
79727                 the environment variables. Fall back to GetACP().
79728
79729         2006-04-05  Bruno Haible  <bruno@clisp.org>
79730
79731                 * config.charset: Update Juan Manuel Guerrero's address.
79732
79733         2005-02-12  Bruno Haible  <bruno@clisp.org>
79734
79735                 * allocsa.h: Add extern "C" for C++.
79736
79737         2005-02-10  Bruno Haible  <bruno@clisp.org>
79738
79739                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
79740                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
79741
79742         2006-07-22  Bruno Haible  <bruno@clisp.org>
79743
79744                 * gettext.h: Update to GNU gettext-0.15.
79745
79746 2006-07-22  Bruno Haible  <bruno@clisp.org>
79747
79748         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
79749         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
79750         lib-prefix.m4, longdouble.m4, ssize_t.m4.
79751
79752 2006-07-21  Eric Blake  <ebb9@byu.net>
79753
79754         * modules/stdlib-safer: New file.
79755         * MODULES.html.sh (File stream based Input/Output): Add
79756         stdlib-safer.
79757
79758 2006-07-21  Eric Blake  <ebb9@byu.net>
79759
79760         * lib/stdlib-safer.h: New file from coreutils, required by
79761         stdlib--.h.
79762
79763 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
79764
79765         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
79766
79767 2006-07-20  Bruno Haible  <bruno@clisp.org>
79768
79769         * gnulib-tool: Recognize new option --assume-autoconf.
79770         (autoconf_minversion): New variable.
79771         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
79772
79773 2006-07-20  Bruno Haible  <bruno@clisp.org>
79774
79775         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
79776
79777 2006-07-19  Derek R. Price  <derek@ximbiot.com>
79778
79779         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
79780         Reindent and repaginate.
79781
79782 2006-07-19  Derek Price  <derek@ximbiot.com>
79783
79784         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
79785         Correct grammar.
79786
79787 2006-07-17  Bruno Haible  <bruno@clisp.org>
79788
79789         * modules/list: New file.
79790         * modules/array-list: New file.
79791         * modules/carray-list, modules/carray-list-tests: New files.
79792         * modules/linked-list, modules/linked-list-tests: New files.
79793         * modules/avltree-list, modules/avltree-list-tests: New files.
79794         * modules/rbtree-list, modules/rbtree-list-tests: New files.
79795         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
79796         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
79797         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
79798         * modules/oset: New file.
79799         * modules/array-oset: New file.
79800         * modules/avltree-oset, modules/avltree-oset-tests: New files.
79801         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
79802         * tests/test-carray_list.c: New file.
79803         * tests/test-linked_list.c: New file.
79804         * tests/test-avltree_list.c: New file.
79805         * tests/test-rbtree_list.c: New file.
79806         * tests/test-linkedhash_list.c: New file.
79807         * tests/test-avltreehash_list.c: New file.
79808         * tests/test-rbtreehash_list.c: New file.
79809         * tests/test-avltree_oset.c: New file.
79810         * tests/test-rbtree_oset.c: New file.
79811         * MODULES.html.sh (Container data structures): New section.
79812
79813 2006-07-17  Bruno Haible  <bruno@clisp.org>
79814
79815         * m4/gl_list.m4: New file.
79816
79817 2006-07-17  Bruno Haible  <bruno@clisp.org>
79818
79819         * lib/gl_list.h: New file.
79820         * lib/gl_list.c: New file.
79821         * lib/gl_array_list.h: New file.
79822         * lib/gl_array_list.c: New file.
79823         * lib/gl_carray_list.h: New file.
79824         * lib/gl_carray_list.c: New file.
79825         * lib/gl_linked_list.h: New file.
79826         * lib/gl_linked_list.c: New file.
79827         * lib/gl_anylinked_list1.h: New file.
79828         * lib/gl_anylinked_list2.h: New file.
79829         * lib/gl_avltree_list.h: New file.
79830         * lib/gl_avltree_list.c: New file.
79831         * lib/gl_anyavltree_list1.h: New file.
79832         * lib/gl_anyavltree_list2.h: New file.
79833         * lib/gl_rbtree_list.h: New file.
79834         * lib/gl_rbtree_list.c: New file.
79835         * lib/gl_anyrbtree_list1.h: New file.
79836         * lib/gl_anyrbtree_list2.h: New file.
79837         * lib/gl_anytree_list1.h: New file.
79838         * lib/gl_anytree_list2.h: New file.
79839         * lib/gl_linkedhash_list.h: New file.
79840         * lib/gl_linkedhash_list.c: New file.
79841         * lib/gl_anyhash_list1.h: New file.
79842         * lib/gl_anyhash_list2.h: New file.
79843         * lib/gl_avltreehash_list.h: New file.
79844         * lib/gl_avltreehash_list.c: New file.
79845         * lib/gl_rbtreehash_list.h: New file.
79846         * lib/gl_rbtreehash_list.c: New file.
79847         * lib/gl_anytreehash_list1.h: New file.
79848         * lib/gl_anytreehash_list2.h: New file.
79849
79850         * lib/gl_oset.h: New file.
79851         * lib/gl_oset.c: New file.
79852         * lib/gl_array_oset.h: New file.
79853         * lib/gl_array_oset.c: New file.
79854         * lib/gl_avltree_oset.h: New file.
79855         * lib/gl_avltree_oset.c: New file.
79856         * lib/gl_rbtree_oset.h: New file.
79857         * lib/gl_rbtree_oset.c: New file.
79858         * lib/gl_anytree_oset.h: New file.
79859
79860 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
79861
79862         * m4/mkancesdirs.m4: New file.
79863         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
79864         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
79865         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
79866         it.
79867
79868 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
79869
79870         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
79871         * lib/mkancesdirs.h: New files.
79872         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
79873         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
79874         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
79875         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
79876         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
79877         callers changed.  Revamp internals significantly, by not
79878         attempting to create directories that are temporarily more
79879         permissive than the final results.  Do not attempt to use
79880         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
79881         This removes some race conditions, fixes some bugs, and simplifies
79882         things.  Use new dirchownmod function to do owner and mode changes.
79883         * lib/mkdir-p.h: Likewise.
79884         * lib/modechange.c (octal_to_mode): New function.
79885         (struct mode_change): New member mentioned.
79886         (make_node_op_equals): New arg mentioned.  All callers changed.
79887         (mode_compile): Keep track of which mode bits the user has explicitly
79888         mentioned.
79889         (mode_adjust): New arg DIR, so that we implement the X op correctly.
79890         New arg PMODE_BITS, to keep track of which mode bits the user
79891         mentioned; it treats S_ISUID and S_ISGID speciall.
79892         All callers changed.
79893         * lib/modechange.h: Likewise.
79894
79895 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
79896
79897         * MODULES.html.sh: Add mkancestors.
79898         * modules/mkancesdirs: New module.
79899         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
79900         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
79901         The chdir-safer and afs files are now orphans; I'll remove them
79902         unless someone speaks up.
79903         Add lib/dirchownmod.c, lib/dirchownmod.h.
79904         (Depends-on): Remove alloca, chown, save-cwd, dirname.
79905         Add lchown, mkancesdirs.
79906         (Maintainer): Add self.
79907
79908 2006-07-15  Karl Berry  <karl@gnu.org>
79909
79910         * gnulib-tool: help message wording/arrangement.
79911
79912 2006-07-14  Simon Josefsson  <jas@extundo.com>
79913
79914         * doc/gnulib.texi (Libtool and Windows): New section.
79915
79916 2006-07-12  Simon Josefsson  <jas@extundo.com>
79917
79918         * modules/gendocs (License): Fix license, approved by Karl.
79919
79920 2006-07-12  Eric Blake  <ebb9@byu.net>
79921
79922         * MODULES.html.sh: Add gendocs.
79923
79924 2006-07-11  Eric Blake  <ebb9@byu.net>
79925
79926         * modules/fdl: New module, to install doc/fdl.texi.
79927         * MODULES.html.sh: Add new section for documentation modules.
79928         * gnulib-tool: Avoid space-tab.
79929         (--doc-base): New option, to manage files from doc.
79930
79931 2006-07-11  Eric Blake  <ebb9@byu.net>
79932
79933         * m4/absolute-header.m4: Fix comments to match recent change.
79934
79935 2006-07-11  Eric Blake  <ebb9@byu.net>
79936
79937         * gnulib-tool: List --doc-base before --tests-base.
79938
79939 2006-07-11  Derek R. Price  <derek@ximbiot.com>
79940
79941         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
79942
79943 2006-07-11  Bruno Haible  <bruno@clisp.org>
79944
79945         * README: Mention where to put documentation.
79946
79947 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79948
79949         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
79950
79951 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
79952
79953         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
79954         to stdint.m4.
79955
79956 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
79957
79958         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
79959         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
79960         "no/such/file/stdint.h" when there is no such file, so that
79961         the resulting C code can be parsed by dodgy compilers.
79962         Problems reported by Bob Proulx.
79963
79964 2006-07-10  Derek R. Price  <derek@ximbiot.com>
79965
79966         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
79967         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
79968         macros into the GNU _D_EXACT_NAMLEN.
79969         * lib/savedir.c:  Likewise.
79970         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
79971
79972 2006-07-10  Derek R. Price  <derek@ximbiot.com>
79973         and Paul Eggert  <eggert@cs.ucla.edu>
79974
79975         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
79976         * m4/savedir.m4:
79977         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
79978         macros into the GNU _D_EXACT_NAMLEN.
79979
79980 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79981
79982         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
79983         around the absolute name, to work around a problem with the HP-UX
79984         11.23 native C compiler, reported by Bob Proulx.
79985
79986 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79987
79988         * doc/maintain.texi, make-stds.texi: Sync from
79989         <http://savannah.gnu.org/projects/gnustandards>.
79990
79991 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79992
79993         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
79994
79995 2006-07-09  Jim Meyering  <jim@meyering.net>
79996
79997         * m4/glob.m4: Remove a doubled word in a comment.
79998
79999 2006-07-09  Jim Meyering  <jim@meyering.net>
80000
80001         * lib/argp-pv.c: Remove a doubled word in a comment.
80002         * lib/check-version.c (check_version): Likewise.
80003         * lib/javacomp.c (compile_java_class): Likewise.
80004
80005 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80006
80007         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
80008         for the benefit of people using Autoconf 2.60.  If you want to
80009         support older Autoconf versions you can copy m4/onceonly_2_57.m4
80010         (or m4/onceonly.m4, if pre-2.57) manually.
80011
80012 2006-07-08  Jim Meyering  <jim@meyering.net>
80013
80014         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
80015         comment.
80016         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
80017         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
80018         comment.
80019
80020 2006-07-08  Jim Meyering  <jim@meyering.net>
80021
80022         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
80023
80024 2006-07-07  Simon Josefsson  <jas@extundo.com>
80025
80026         * tests/test-crc.c: Change expected crc value, the test vector
80027         were probably computed using the old broken crc.c?
80028
80029 2006-07-06  Simon Josefsson  <jas@extundo.com>
80030
80031         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
80032         now the canonical place for the M4 file).
80033
80034         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
80035         from the sys_socket dependency now.
80036
80037         * modules/inet_pton (Files): Ditto.
80038
80039         * modules/inet_ntop (Files): Ditto.
80040
80041 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80042
80043         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
80044         not gl_PREREQ_GETUSERSHELL.
80045
80046 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80047
80048         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
80049         with only one argument, for Autoconf 2.60.
80050         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
80051         expand to nothing, so add a shell command to avoid syntax error.
80052         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
80053
80054 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80055
80056         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
80057
80058 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80059
80060         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
80061         no longer needed.  Check for isblank decl.
80062         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
80063         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
80064         of existence.
80065
80066 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80067
80068         * lib/getloadavg.c: Use __VMS, not VMS.
80069         * lib/getopt.c: Likewise.
80070         * lib/getpagesize.h: Likewise.
80071         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
80072         and probably does not work.
80073
80074 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80075
80076         * lib/.cppi-disable: Add wcwidth.
80077         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
80078         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
80079         (ISGRAPH): Remove.  All uses changed to isgraph.
80080         (FOLD) [!defined _LIBC]: Remove special case.
80081         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
80082         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
80083         HAVE_ISBLANK.
80084         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
80085         case.
80086
80087 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80088
80089         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
80090         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
80091         brackets.  Other minor changes to suppress some compiler
80092         warnings.
80093
80094 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80095         and Paul Eggert  <eggert@cs.ucla.edu>
80096
80097         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
80098         of invoking obsolescent AC_HEADER_DIRENT macro.
80099         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
80100         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
80101         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80102         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
80103         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
80104         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80105         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
80106         * m4/readdir.m4: Remove; no longer needed.
80107
80108 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80109         and Paul Eggert  <eggert@cs.ucla.edu>
80110
80111         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
80112         Don't worry about this obsolete case any more.
80113         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
80114         directories.
80115         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
80116         worry about this obsolete case any more.
80117         * lib/fts.c: Likewise.
80118         * lib/getcwd.c: Likewise.
80119         * lib/glob.h: Likewise.
80120         * lib/savedir.c: Likewise.
80121
80122 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80123
80124         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
80125         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
80126         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
80127         needed.
80128         All uses removed.
80129         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80130         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80131         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
80132         needed.
80133         * m4/getdate.m4 (gl_GETDATE): Likewise.
80134         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80135         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80136         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80137         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80138         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80139         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80140         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
80141         needed.
80142
80143 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80144
80145         * lib/memcasecmp.c: Include <limits.h>.
80146         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
80147         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
80148         Don't assume isdigit succeeds only on '0' through '9'.
80149
80150 2006-07-05  Eric Blake  <ebb9@byu.net>
80151
80152         * modules/getaddrinfo (Depends-on): Add snprintf.
80153
80154 2006-07-05  Eric Blake  <ebb9@byu.net>
80155
80156         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
80157         to avoid 'header present but could not be compiled' on cygwin.
80158
80159 2006-07-05  Eric Blake  <ebb9@byu.net>
80160
80161         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
80162         missing from netdb.h.
80163         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
80164
80165 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80166
80167         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
80168         no longer needed.
80169         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
80170         * m4/getdate.m4 (gl_GETDATE): Likewise.
80171         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80172         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80173         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80174         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80175         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80176
80177 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80178
80179         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
80180         All uses of is_space replaced by isspace.
80181         * lib/exit.h: Don't talk about STDC_HEADERS.
80182         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
80183         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
80184         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
80185         replaced by isprint etc.
80186         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
80187         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80188         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
80189         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
80190         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
80191         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80192
80193 2006-07-05  Bruno Haible  <bruno@clisp.org>
80194
80195         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
80196         the function exists, before testing against AIX.
80197         Reported by Martin Lambers <marlam@marlam.de>.
80198
80199 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80200
80201         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
80202         From Mark D. Baushke.
80203
80204 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80205
80206         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
80207         to the absolute name, not just one, to bypass Sun C 5.8's
80208         "warning: #include of /usr/include/... may be non-portable".
80209
80210 2006-07-04  Eric Blake  <ebb9@byu.net>
80211
80212         * modules/dirname-tests: New test module.
80213         * tests/test-dirname.c: New file, replacing dirname.c
80214         TEST_DIRNAME section that was recently deleted.
80215
80216 2006-07-04  Bruno Haible  <bruno@clisp.org>
80217
80218         Assume ANSI C header files and <ctype.h> functions.
80219         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
80220         (mbsnwidth): Use isprint, iscntrl instead.
80221
80222 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80223
80224         Merge from coreutils.
80225         * MODULES.html.sh: Add xstrtold.
80226         * modules/xstrtold: New file.
80227         * modules/cycle-check (Files): Add lib/same-inode.h.
80228         * modules/dirname (Files): Add m4/double-slash-root.m4.
80229         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
80230         * modules/mkdir-p (Files): Add lib/same-inode.h.
80231         * modules/same (Files): Add lib/same-inode.h.
80232
80233 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80234
80235         * m4/absolute-header.m4: Renamed from full-header-path.m4.
80236         This is to keep the terminology clean; POSIX talks about
80237         "absolute pathnames", not "full pathnames", but the GNU
80238         Coding Standards say to use "path" for something else;
80239         so use "absolute" to keep both sides happy.
80240         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
80241         Set gl_absolute_header, not gl_full_header_path.
80242         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
80243         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
80244         All uses changed.
80245
80246         Merge from coreutils.
80247
80248         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80249
80250         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
80251         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
80252         want to require the building of c-strtod.o.
80253         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
80254         needs -lm directly.
80255         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
80256
80257         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
80258
80259         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
80260         --as-needed option if available.  Problem reported by Albert Chin in
80261         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
80262         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
80263         cc merely issues a bunch of annoying warnings for --as-needed
80264         (this problem was reported by Bob Proulx).  Also, try linking with
80265         -lm to detect a bug in binutils 2.16 (this problem was reported
80266         by Ralf Wildenhues).
80267
80268         2006-06-18  Jim Meyering  <jim@meyering.net>
80269
80270         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
80271         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
80272         macro.
80273         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
80274         also check for glibc-2.4's abort-inducing bug.
80275
80276         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
80277         Low-probability clean-up should be to use rmdir to get rid of
80278         the just-created directory, not unlink.
80279
80280         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
80281         configure fail, and request a bug report to inform us about it.
80282         Add a comment that, barring reports to the contrary, in 2007 we'll
80283         assume ftruncate is universally available.
80284
80285         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80286
80287         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
80288
80289         2006-03-12  Jim Meyering  <jim@meyering.net>
80290
80291         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
80292         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
80293         * m4/same.m4 (gl_SAME): Likewise.
80294         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
80295
80296         2006-03-11  Eric Blake  <ebb9@byu.net>
80297
80298         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
80299         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
80300         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
80301         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
80302
80303 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80304
80305         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
80306         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
80307         reported by Mark D. Baushke, one in
80308         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
80309
80310         Merge from coreutils.
80311
80312         * lib/.cppi-disable: Add stdint_.h.
80313         * lib/.cvsignore: Add stdint.h.
80314
80315         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80316
80317         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
80318         both double and long double versions.
80319         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
80320         * lib/xstrtold.c: New file.
80321         * lib/xstrtod.h (xstrtold): New decl.
80322
80323         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80324
80325         * lib/filemode.c (setst): Remove.
80326         (strmode): Rewrite to avoid setst.  This makes the code shorter,
80327         (arguably) clearer, and the generated code is a bit smaller on my
80328         Debian GNU/Linux stable x86 host.
80329
80330         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80331
80332         * lib/filemode.c: Include "filemode.h" first, to test the interface.
80333         Assume that filemode.h includes sys/types.h and sys/stat.h.
80334         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
80335         (ftypelet): Reorder to put common cases first, for efficiency.
80336         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
80337         to do 'M'.
80338         (strmode): Renamed from mode_string, and now stores 12 bytes instead
80339         of 10, for compatibility with FreeBSD.  All callers changed.
80340         (filemodestring): Now stores 12 bytes instead of 10, and sets file
80341         types that can't be deduced solely from st_mode.  First arg is now a
80342         const pointer.
80343         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
80344         (strmode): Renamed from mode_string.
80345         (filemodestring): New decl.
80346         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
80347         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
80348         needed.
80349         (S_ISPORT, S_ISWHT): New macros, if not already defined.
80350
80351         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80352
80353         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
80354         fsusage.h now does that.  Include fsusage.h first, to test interface.
80355         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
80356         at most one method (the old code could have generated decls that
80357         didn't conform to C89, not that this was ever exercised).
80358         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
80359
80360         2006-03-19  Jim Meyering  <jim@meyering.net>
80361
80362         Work even in a chroot where d_ino values for entries in "/"
80363         don't match the stat.st_ino values for the same names.
80364         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
80365         number, iterate through all entries again, using lstat instead.
80366         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
80367         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
80368
80369         * lib/getcwd.c (__getcwd): Clarify a comment.
80370         Use memcpy in place of a call to strcpy.
80371
80372         2006-03-12  Jim Meyering  <jim@meyering.net>
80373
80374         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
80375         matches that of the current directory (which we're about to chdir ".."
80376         out of), then save the dev-ino of the parent, instead.
80377
80378         * lib/same-inode.h (SAME_INODE): New file/macro.
80379         * lib/chdir-safer.c (SAME_INODE): Remove definition.
80380         Include "same-inode.h", instead.
80381         * lib/same.c: Likewise.
80382         * lib/cycle-check.h: Include "same-inode.h".
80383         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
80384         * lib/cycle-check.c (SAME_INODE): Remove definition.
80385         * lib/root-dev-ino.h: Include "same-inode.h".
80386
80387         2006-03-11  Eric Blake  <ebb9@byu.net>
80388
80389         * lib/same.c (same_name): s/base_name/last_component/
80390         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
80391         * lib/filenamecat.c (file_name_concat): Likewise.
80392
80393         2006-03-11  Eric Blake  <ebb9@byu.net>,
80394                     Paul Eggert  <eggert@cs.ucla.edu>
80395
80396         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
80397         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
80398         drive prefix.
80399         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
80400         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
80401         (last_component): New method.
80402         * lib/dirname.c (dir_len): Determine when drive letters need a
80403         subsequent slash.  Preserve // when it is special.
80404         (dir_name): Don't append dot when drive letter is absolute.
80405         [TEST_DIRNAME]: Move into a full-blown gnulib test.
80406         * lib/basename.c (base_name): New semantics - malloc the result.
80407         Preserve // when it is special.  Preserve relative files that look
80408         like drive letters.
80409         (base_len): Preserve // when it is special.
80410         (last_component): New method, similar to old base_name semantics.
80411         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
80412         base_name.  Strip redundant slashes from ///.
80413
80414 2006-07-03  Jim Meyering  <jim@meyering.net>
80415
80416         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
80417         macro is used before the first cycle_check call.
80418
80419 2006-07-03  Eric Blake  <ebb9@byu.net>
80420
80421         * modules/dirname (Depends-on): Add xstrndup.
80422
80423 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80424
80425         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
80426         test cases, so that config.log is a bit easier to follow.
80427
80428 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80429
80430         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
80431         both are 64 bits, since this seems to be the tradition, and this
80432         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
80433         we ever run into a host that prefers long long to long in this
80434         case, we'll need another configure-time test.  Problem reported by
80435         Jim Meyering.
80436
80437 2006-07-02  Eric Blake  <ebb9@byu.net>
80438
80439         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
80440
80441 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80442
80443         * modules/inttypes (Depends-on): No longer depends on stdint.
80444         * modules/stdint (Description): Say more about assumptions.
80445         Say that the fast types might differ.  Say macros are used.
80446         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
80447         (Makefile.am): Revise list of substituted symbols to match
80448         new stdint.m4.
80449         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
80450         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
80451         * tests/test-stdint.c (verify_same_types)
80452         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
80453         the code conforms to C99/C89.
80454         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
80455         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
80456
80457 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80458
80459         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
80460         but fix a bug, by requiring at least 64 bits.
80461         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
80462         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
80463         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
80464         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
80465
80466         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
80467         changes.  Make 2.59 a prerequisite.  Check and substitute for
80468         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
80469         inttypes.h.  Do not use special include files; just use the
80470         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
80471         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
80472         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
80473         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
80474         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
80475         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
80476         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
80477         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
80478         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
80479         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
80480         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
80481         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
80482         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
80483         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
80484         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
80485         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
80486         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
80487         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
80488         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
80489         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
80490         WINT_MAX.  Check for C99 conformance more strictly, by detecting
80491         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
80492         not check for things that C99 does not require, e.g., int8_t.  If
80493         a test isn't needed unless <stdint.h> isn't working, and is
80494         unlikely to be needed for any other reason, then don't do it
80495         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
80496         size_t, since we assume C89 freestanding at least.  Do not check
80497         for sig_atomic_t, wchar_t, or wint_t, since the code now does
80498         the right thing even if the types are not defined.  Instead use:
80499         (gl_STDINT_TYPE_PROPERTIES): New macro.
80500         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
80501         testing whether <sys/types.h> clashes, as Autoconf does this for
80502         us now.  All uses removed.
80503         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
80504         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
80505         (gl_CHECK_TYPE_SAME):
80506         Remove; no longer needed.
80507         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
80508         exists, since we'll return 0 anyway in that case.
80509         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
80510
80511 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80512
80513         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
80514         possible collision with system files.
80515         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
80516         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
80517         WCHAR_MIN and WCHAR_MAX in this case.
80518         (<stddef.h>): Do not include; no longer needed.
80519         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
80520         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
80521         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
80522         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
80523         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
80524         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
80525         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
80526         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
80527         !defined(__c99))]: Include in this case too, since it's harmless
80528         now.
80529         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
80530         dangerous to do so.
80531         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
80532         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
80533         (_STDINT_MIN, _STDINT_MAX): New macros.
80534         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
80535         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
80536         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
80537         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
80538         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
80539         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
80540         macros, not typedefs; this simplifies things quite a bit.
80541         Use long int for all types narrower than int64_t.
80542         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
80543         Define in terms of long long int or int64_t or long int,
80544         not int64_t or int32_t.  This saves some compile-time testing.
80545         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
80546         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
80547         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
80548         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
80549         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
80550         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
80551         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
80552         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
80553         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
80554         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
80555         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
80556         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
80557         undef any previous version and define our own version, for
80558         simplicity and consistency with the new macros for types.
80559         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
80560         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
80561         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
80562         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
80563         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
80564         @WINT_T_SUFFIX@ to keep things simple here.
80565         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
80566         Simplify by assuming typical 8/16/32/64 host, since we're
80567         already doing that elsewhere anyway.
80568         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
80569         and assume long long int is 64 bits if available.  This
80570         speeds up 'configure'.
80571
80572 2006-07-01  Eric Blake  <ebb9@byu.net>
80573
80574         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
80575         Reported by Andreas Buening.
80576
80577 2006-07-01  Eric Blake  <ebb9@byu.net>
80578
80579         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
80580
80581 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80582
80583         * lib/getaddrinfo.c: fixed typo
80584
80585 2006-06-29  Jim Meyering  <jim@meyering.net>
80586
80587         * modules/strftime (Maintainer): Add my name, since with the
80588         FPRINTFTIME changes strftime.c has forked from glibc.
80589
80590 2006-06-29  Eric Blake  <ebb9@byu.net>
80591
80592         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
80593
80594 2006-06-29  Eric Blake  <ebb9@byu.net>
80595
80596         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
80597
80598 2006-06-29  Eric Blake  <ebb9@byu.net>
80599
80600         * lib/stat_.h: New file.
80601
80602 2006-06-29  Eric Blake  <ebb9@byu.net>
80603
80604         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
80605         unused static function.
80606
80607 2006-06-29  Eric Blake  <ebb9@byu.net>
80608
80609         * doc/functions.texi (Function Portability): Document missing lstat
80610         on mingw.
80611
80612 2006-06-29  Eric Blake  <ebb9@byu.net>
80613
80614         * MODULES.html.sh: Add sys_stat.
80615         * modules/sys_stat: New module.
80616         * modules/mkstemp (Depends-on): Add sys_stat.
80617
80618 2006-06-29  Derek R. Price  <derek@ximbiot.com>
80619
80620         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
80621
80622 2006-06-29  Derek R. Price  <derek@ximbiot.com>
80623
80624         * m4/c-bs-a.m4: Removed.
80625
80626 2006-06-29  Derek R. Price  <derek@ximbiot.com>
80627
80628         * lib/strftime.c: Assume strftime() exists.
80629
80630 2006-06-29  Derek Price  <derek@ximbiot.com>
80631
80632         * modules/c-bs-a: Removed - \a is C89.
80633         * MODULES.html.sh: Remove c-bs-a.
80634
80635 2006-06-29  Bruno Haible  <bruno@clisp.org>
80636
80637         * modules/wcwidth (License): Change to LGPL.
80638
80639 2006-06-28  Simon Josefsson  <jas@extundo.com>
80640
80641         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
80642         on _WIN32.
80643
80644         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
80645         getnameinfo.
80646
80647 2006-06-28  Simon Josefsson  <jas@extundo.com>
80648
80649         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
80650
80651 2006-06-28  Simon Josefsson  <jas@extundo.com>
80652
80653         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
80654         functions there.  It will succeed on Windows XP, but on Windows
80655         2000 and (presumably) earlier, it will fail, and use the internal
80656         re-implementation.
80657         (use_win32_p): New function.
80658         (getaddrinfo): Use strtoul on servname, to support numeric ports.
80659         Support AI_NUMERICSERV to disable getservbyname.
80660         (getnameinfo): New function, only supports
80661         NI_NUMERICHOST|NI_NUMERICSERV for now.
80662
80663         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
80664         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
80665         getnameinfo.
80666
80667 2006-06-28  Eric Blake  <ebb9@byu.net>
80668
80669         * modules/wcwidth: New file.
80670         * modules/mbchar (Depends-on): Add wcwidth.
80671         * modules/mbswidth (Depends-on): Add wcwidth.
80672         * MODULES.html.sh: Add wcwidth.
80673
80674 2006-06-28  Eric Blake  <ebb9@byu.net>
80675
80676         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
80677         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
80678
80679 2006-06-28  Eric Blake  <ebb9@byu.net>
80680
80681         * lib/xvasprintf.h: Fix comments.
80682
80683 2006-06-28  Eric Blake  <ebb9@byu.net>
80684
80685         * lib/mbchar.h (wcwidth): Include wcwidth.h.
80686         * lib/mbswidth.c (wcwidth): Move from here...
80687         * lib/wcwidth.h: ...to this new file.
80688
80689 2006-06-28  Derek R. Price  <derek@ximbiot.com>
80690
80691         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
80692
80693         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
80694         it's obsolete.
80695         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
80696
80697 2006-06-28  Derek R. Price  <derek@ximbiot.com>
80698
80699         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
80700         Autoconf 2.60 says this stuff was obsolete.
80701
80702 2006-06-28  Bruno Haible  <bruno@clisp.org>
80703
80704         * modules/wcwidth (Files): Add m4/wchar_t.m4.
80705
80706 2006-06-28  Bruno Haible  <bruno@clisp.org>
80707
80708         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
80709         gt_TYPE_WCHAR_T.
80710
80711 2006-06-28  Bruno Haible  <bruno@clisp.org>
80712
80713         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
80714         declaration for wcwidth.
80715         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
80716
80717 2006-06-28  Bruno Haible  <bruno@clisp.org>
80718
80719         * lib/mkdtemp.c [MINGW]: Include <io.h>.
80720         (mkdir): Define using _mkdir.
80721
80722 2006-06-28  Bruno Haible  <bruno@clisp.org>
80723
80724         * lib/getaddrinfo.h: Fix POSIX URL.
80725         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
80726         _WIN32.
80727         (use_win32_p): Make static.
80728         (getaddrinfo): Reject service name if it is empty or does not consist
80729         solely of decimal digits, or if its value is > 65535.
80730         (getnameinfo): Remove useless casts.
80731
80732 2006-06-27  Simon Josefsson  <jas@extundo.com>
80733
80734         * modules/sys_select: New file, suggested by Bruno Haible, Paul
80735         Eggert and Martin Lambers.
80736
80737 2006-06-27  Simon Josefsson  <jas@extundo.com>
80738
80739         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
80740         Eggert and Martin Lambers.
80741
80742 2006-06-27  Bruno Haible  <bruno@clisp.org>
80743
80744         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
80745         result to 0, not to empty.
80746         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
80747
80748 2006-06-27  Bruno Haible  <bruno@clisp.org>
80749
80750         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
80751
80752 2006-06-26  Simon Josefsson  <jas@extundo.com>
80753
80754         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
80755         present.
80756
80757 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
80758
80759         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
80760         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
80761         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
80762
80763 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
80764
80765         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
80766
80767 2006-06-26  Bruno Haible  <bruno@clisp.org>
80768
80769         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
80770
80771 2006-06-26  Bruno Haible  <bruno@clisp.org>
80772
80773         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
80774
80775 2006-06-26  Bruno Haible  <bruno@clisp.org>
80776
80777         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
80778         SGI C compiler in pre-C99 mode.
80779         Suggested by Mark D. Baushke and Larry Jones.
80780
80781 2006-06-26  Bruno Haible  <bruno@clisp.org>
80782
80783         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
80784         WCHAR_MAX.
80785         Reported by Mark D. Baushke and Larry Jones.
80786
80787 2006-06-26  Bruno Haible  <bruno@clisp.org>
80788
80789         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
80790         in pre-C99 mode.
80791         Suggested by Mark D. Baushke and Larry Jones.
80792
80793 2006-06-23  Simon Josefsson  <jas@extundo.com>
80794             Bruno Haible  <bruno@clisp.org>
80795
80796         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
80797         Emit mostlyclean-local rule.
80798         (func_emit_tests_Makefile_am): Likewise.
80799         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
80800
80801 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
80802
80803         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
80804
80805 2006-06-23  Bruno Haible  <bruno@clisp.org>
80806
80807         * tests/test-stdint.c: Update to match ISO C 99 Technical
80808         Corrigendum 1.
80809
80810 2006-06-23  Bruno Haible  <bruno@clisp.org>
80811
80812         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
80813
80814 2006-06-23  Bruno Haible  <bruno@clisp.org>
80815
80816         * lib/stdint_.h: Treat IRIX like OpenBSD.
80817
80818 2006-06-23  Bruno Haible  <bruno@clisp.org>
80819
80820         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
80821         ISO C 99 Technical Corrigendum 1.
80822
80823 2006-06-22  Simon Josefsson  <jas@extundo.com>
80824
80825         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
80826         MinGW.
80827
80828 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80829
80830         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
80831         needed.  Some compiler complained about some of them.  Problem reported
80832         by Larry Jones in
80833         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
80834
80835 2006-06-21  Simon Josefsson  <jas@extundo.com>
80836
80837         * tests/test-getaddrinfo.c: New file.
80838
80839         * modules/getaddrinfo-tests: New file.
80840
80841         * MODULES.html.sh: Add inet_pton.
80842
80843         * modules/inet_pton: New file.
80844
80845 2006-06-21  Simon Josefsson  <jas@extundo.com>
80846
80847         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
80848         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
80849         of using the (limited) gnulib implementation on Windows XP.
80850
80851         * m4/inet_pton.m4: New file.
80852
80853 2006-06-21  Simon Josefsson  <jas@extundo.com>
80854
80855         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
80856         variable.
80857
80858         * lib/socket_.h: Don't define WINVER.
80859
80860         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
80861         slightly modified to work in gnulib.
80862
80863 2006-06-21  Simon Josefsson  <jas@extundo.com>
80864
80865         * doc/gnulib.texi (Windows sockets): Add.
80866
80867 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
80868
80869         * lib/read-file.c (fread_file): Start with buffer allocation of
80870         0 bytes rather than 1 byte; this simplifies the code.
80871         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
80872         code to free buffer and save/restore errno.
80873         (internal_read_file): Remove unused local.
80874
80875 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
80876
80877         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
80878         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
80879         Problem reported by Denis Excoffier in
80880         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
80881
80882 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80883
80884         * modules/sys_socket, modules/socklen: Include sys/types since
80885         FreeBSD 4.x's sys/socket.h needs it.
80886
80887 2006-06-19  Simon Josefsson  <jas@extundo.com>
80888
80889         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
80890
80891 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
80892
80893         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
80894
80895 2006-06-19  Bruno Haible  <bruno@clisp.org>
80896
80897         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
80898         and FULL_PATH_INTTYPES_H in angle brackets.
80899         Reported by Mark D. Baushke <mdb@gnu.org>.
80900
80901 2006-06-17  Eric Blake  <ebb9@byu.net>
80902
80903         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
80904         errno.
80905
80906 2006-06-17  Bruno Haible  <bruno@clisp.org>
80907
80908         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
80909         <sys/inttypes.h>.
80910
80911 2006-06-17  Bruno Haible  <bruno@clisp.org>
80912
80913         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
80914         whether errno is declared. Assume <errno.h> declares errno.
80915
80916 2006-06-17  Bruno Haible  <bruno@clisp.org>
80917
80918         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
80919
80920 2006-06-17  Bruno Haible  <bruno@clisp.org>
80921
80922         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
80923         problem on Solaris 2.5.1.
80924
80925 2006-06-16  Eric Blake  <ebb9@byu.net>
80926
80927         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
80928         * lib/unicodeio.c [!defined errno]: Likewise.
80929         * lib/strtol.c [!defined errno]: Likewise.
80930         * lib/strtod.c [!defined errno]: Likewise.
80931
80932 2006-06-15  Eric Blake  <ebb9@byu.net>
80933
80934         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
80935
80936 2006-06-15  Eric Blake  <ebb9@byu.net>
80937
80938         * config/srclist.txt (ssize_t.m4): Lose sync.
80939
80940 2006-06-15  Bruno Haible  <bruno@clisp.org>
80941
80942         * modules/stdint (Files): Include m4/full-header-path.m4,
80943         m4/size_max.m4, m4/wchar_t.m4.
80944         (Makefile.am): Many more substitutions.
80945         * modules/stdint-tests: New file.
80946         * tests/test-stdint.c: New file.
80947
80948 2006-06-15  Bruno Haible  <bruno@clisp.org>
80949
80950         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
80951         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
80952         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
80953         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
80954         gl_CHECK_TYPE_SAME): New macros.
80955
80956 2006-06-15  Bruno Haible  <bruno@clisp.org>
80957
80958         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
80959
80960 2006-06-15  Bruno Haible  <bruno@clisp.org>
80961
80962         * lib/stdint_.h: Rewritten to be fully auto-configured.
80963         Fixes bug on HP-UX/IA64.
80964
80965 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
80966
80967         * lib/getdate.y (__attribute__): Don't define if already defined.
80968         Problem reported by Larry Jones.
80969         * lib/utimens.c (__attribute__): Likewise.
80970
80971 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
80972
80973         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
80974         reported by Andreas Schwab.
80975
80976 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80977             Bruno Haible  <bruno@clisp.org>
80978
80979         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
80980         check for the declaration of strnlen and a run test that exposes the
80981         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
80982         rpl_strndup.
80983
80984 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80985             Bruno Haible  <bruno@clisp.org>
80986
80987         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
80988
80989 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80990
80991         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
80992         compile test, for Tru64 4.0D.
80993
80994 2006-05-28  Karl Berry  <karl@gnu.org>
80995
80996         * config/srclist.txt (printf-args.c): lose sync.
80997
80998 2006-05-26  Martin Lambers  <marlam@marlam.de>
80999
81000         * lib/getpass.c: Updates the test for the native W32 API, and adds
81001         missing includes, thus fixing compilation warnings.
81002
81003 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81004
81005         * lib/exclude.c (exclude_fnmatch): New function.
81006         (excluded_file_name): Call exclude_fnmatch.
81007         * lib/exclude.h (excluded_file_name): New prototype
81008
81009 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
81010
81011         * lib/tempname.c (small_open, large_open): New macros.
81012         (__open, __open64) [!_LIBC]: Remove.
81013         (__gen_tempname): Use small_open and large_open instead of __open
81014         and __open64.  This fixes a portability bug on HP-UX 11.11i
81015         reported by Simon Wing-Tang in
81016         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
81017
81018 2006-05-24  Bruno Haible  <bruno@clisp.org>
81019
81020         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
81021         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
81022         Reported by Thorsten Maerz <torte@netztorte.de> via
81023         Aaron Stone <aaron@serendipity.cx>.
81024
81025 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81026
81027         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
81028         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
81029         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
81030         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
81031         not really conditional on the cache.
81032         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
81033
81034 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81035
81036         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
81037         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
81038         (my_usleep): Don't mishandle maximum value.
81039
81040 2006-05-19  Jim Meyering  <jim@meyering.net>
81041
81042         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
81043
81044 2006-05-17  Bruno Haible  <bruno@clisp.org>
81045
81046         Cygwin portability.
81047         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
81048
81049 2006-05-17  Bruno Haible  <bruno@clisp.org>
81050
81051         * lib/stdint_.h: Fix recognition of Cygwin.
81052
81053 2006-05-15  Bruno Haible  <bruno@clisp.org>
81054
81055         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
81056         on libtool patch by Ralf Wildenhues.
81057
81058 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81059
81060         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
81061         test for C99 conformance; (bool) 0.5 is an integer constant
81062         expression, but (bool) -0.5 is not.  Problem reported by Fedor
81063         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
81064
81065 2006-05-11  Simon Josefsson  <jas@extundo.com>
81066
81067         * m4/xvasprintf.m4: Fix obvious typo.
81068
81069 2006-05-11  Jim Meyering  <jim@meyering.net>
81070
81071         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
81072         James Lemley.
81073
81074 2006-05-10  Simon Josefsson  <jas@extundo.com>
81075
81076         * lib/md4.c: Typo fix, update copyright years.
81077         (K1, K2): Don't use L because it turn computations into 64-bit on
81078         64-bit platforms.
81079
81080 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
81081
81082         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
81083         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
81084         unwanted sign propagation, e.g., on hosts with 64-bit int.
81085         There still are some problems with reeelly weird theoretical hosts
81086         (e.g., 33-bit int) but it's not worth worrying about now.
81087         * lib/sha1.c (rol): Likewise.
81088         (K1, K2, K3, K4): Remove unnecessary L suffix.
81089
81090 2006-05-10  Bruno Haible  <bruno@clisp.org>
81091
81092         * lib/des.c: Cast to avoid warnings.
81093
81094 2006-05-09  Bruno Haible  <bruno@clisp.org>
81095
81096         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
81097         (Depends-on): Depend also on xsize, stdarg.
81098         (configure.ac): Add gl_XVASPRINTF.
81099
81100 2006-05-09  Bruno Haible  <bruno@clisp.org>
81101
81102         * m4/xvasprintf.m4: New file.
81103
81104 2006-05-09  Bruno Haible  <bruno@clisp.org>
81105
81106         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
81107         (EOVERFLOW): Define fallback value.
81108         (xstrcat): New function.
81109         (xvasprintf): Recognize the special case of a string concatenation.
81110
81111 2006-05-08  Eric Blake  <ebb9@byu.net>
81112
81113         * gnulib-tool (func_version): Base copyright year on CVS date.
81114         (func_emit_copyright_notice): New function.
81115         (func_emit_lib_Makefile_am): Use it.
81116         (func_emit_tests_Makefile_am): Likewise.
81117         (func_import): Likewise.
81118
81119 2006-05-08  Bruno Haible  <bruno@clisp.org>
81120
81121         * modules/stdarg: New file.
81122         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
81123
81124 2006-05-08  Bruno Haible  <bruno@clisp.org>
81125
81126         * m4/stdarg.m4: New file, from GNU gettext.
81127
81128 2006-05-08  Bruno Haible  <bruno@clisp.org>
81129
81130         * config/srclist.txt (build-aux/config.rpath): different from latest
81131         release.
81132
81133 2006-05-08  Bruno Haible  <bruno@clisp.org>
81134
81135         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
81136
81137 2006-05-05  Jim Meyering  <jim@meyering.net>
81138
81139         * m4/warning.m4: New file, derived from bison's file by the same name.
81140
81141 2006-05-03  Bruno Haible  <bruno@clisp.org>
81142
81143         * lib/stdint_.h: Shorter URL.
81144         * lib/inttypes.h: Likewise.
81145
81146 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81147
81148         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
81149
81150 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81151
81152         * lib/verify.h: Document the internals better.  Most of this change
81153         was written by Bruno Haible.
81154
81155 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81156
81157         * doc/verify.texi: New file, partly based on a proposal by
81158         Bruno Haible.
81159
81160 2006-05-02  Bruno Haible  <bruno@clisp.org>
81161
81162         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
81163         test from here...
81164         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
81165
81166 2006-04-29  Bruno Haible  <bruno@clisp.org>
81167
81168         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
81169         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
81170
81171 2006-04-29  Bruno Haible  <bruno@clisp.org>
81172
81173         * gnulib-tool: Make --update option actually work.
81174
81175 2006-04-29  Bruno Haible  <bruno@clisp.org>
81176
81177         * doc/gcd.texi: New file.
81178         * doc/gnulib.texi: Include it.
81179
81180 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
81181
81182         * lib/getdate.y (get_date): When adding relative date, start with the
81183         initial time, not with the result of the first mktime call.
81184
81185 2006-04-25  Bruno Haible  <bruno@clisp.org>
81186
81187         * gnulib-tool (func_import): Output the include directives in three
81188         blocks, sorted separately.
81189         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81190
81191 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81192
81193         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
81194         to define main with arguments, for C++.  Reported by Eric Blake.
81195         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
81196         Prefer 'int main ()' to 'int main (void)', for C++.
81197         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
81198         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
81199         for 'main', for C99 and C++.
81200
81201 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81202
81203         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
81204         Don't assume that exit status -1 is valid.
81205         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
81206         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
81207         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81208         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
81209         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
81210         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
81211         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
81212         functions can be used without declaring them, or that you can
81213         exit with status -1.
81214         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81215
81216 2006-04-24  Karl Berry  <karl@gnu.org>
81217
81218         * config/srclist.txt (longdouble.m4): sync lost.
81219
81220 2006-04-24  Eric Blake  <ebb9@byu.net>
81221
81222         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
81223
81224 2006-04-24  Bruno Haible  <bruno@clisp.org>
81225
81226         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
81227         poll() implementation in AIX.
81228         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81229
81230 2006-04-24  Bruno Haible  <bruno@clisp.org>
81231
81232         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
81233         assigned exactly once.
81234
81235 2006-04-23  Claudio Fontana  <claudio@gnu.org>
81236             Bruno Haible  <bruno@clisp.org>
81237
81238         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
81239         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
81240         for AM_CPPFLAGS.
81241
81242 2006-04-23  Bruno Haible  <bruno@clisp.org>
81243
81244         * modules/copy-file: Depend on unistd.
81245         * modules/execute: Likewise.
81246         * modules/fatal-signal: Likewise.
81247         * modules/findprog: Likewise.
81248         * modules/mkdtemp : Likewise.
81249         * modules/pipe: Likewise.
81250         * modules/wait-process: Likewise.
81251
81252 2006-04-23  Bruno Haible  <bruno@clisp.org>
81253
81254         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
81255         condition was already detected.
81256         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81257
81258 2006-04-23  Bruno Haible  <bruno@clisp.org>
81259
81260         * lib/copy-file.c: Include <unistd.h> unconditionally.
81261         * lib/execute.c: Likewise.
81262         * lib/fatal-signal.c: Likewise.
81263         * lib/findprog.c: Likewise.
81264         * lib/mkdtemp.c: Likewise.
81265         * lib/pipe.h: Likewise.
81266         * lib/pipe.c: Likewise.
81267         * lib/wait-process.h: Likewise.
81268
81269 2006-04-23  Bruno Haible  <bruno@clisp.org>
81270
81271         * gnulib-tool (func_usage): Fix --import description. Document
81272         --update.
81273         (func_import): Create temporary file in a temporary directory, if
81274         --dry-run is specified. Silence errors from 'grep' when there are no
81275         m4 files in $m4dir.
81276         (func_create_testdir): Silence errors from 'grep' when there are no
81277         m4 files in $m4dir.
81278         Reported by Karl Berry <karl@freefriends.org>.
81279
81280 2006-04-20  Bruno Haible  <bruno@clisp.org>
81281
81282         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
81283         one argument, so that the code will be portable to Autoconf 2.60.
81284         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
81285         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
81286         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
81287
81288 2006-04-19  Derek Price  <derek@ximbiot.com>
81289             Eric Blake  <ebb9@byu.net>
81290
81291         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
81292         rather than "/full/path.h".  Update comment to match.  Shorten &
81293         generalize m4_translit call via AS_TR_CPP.
81294
81295 2006-04-19  Derek Price  <derek@ximbiot.com>
81296             Eric Blake  <ebb9@byu.net>
81297
81298         * lib/inttypes.h: Correct grammar in comment.
81299
81300 2006-04-18  Derek Price  <derek@ximbiot.com>
81301             Paul Eggert  <eggert@cs.ucla.edu>
81302
81303         * modules/inttypes: New file.
81304         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
81305
81306 2006-04-18  Derek Price  <derek@ximbiot.com>
81307             Paul Eggert  <eggert@cs.ucla.edu>
81308
81309         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
81310         New files.
81311
81312 2006-04-18  Derek Price  <derek@ximbiot.com>
81313             Paul Eggert  <eggert@cs.ucla.edu>
81314
81315         * lib/inttypes.h: New file.
81316         * lib/strtoimax.c: Assume <inttypes.h>.
81317
81318 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
81319
81320         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
81321         isn't mounted.  Problem reported by Kir Kolyshkin.
81322
81323 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81324
81325         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
81326         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
81327         Derek R. Price.
81328         * lib/regex.h (RE_DUP_MAX): Update comment to match current
81329         implementation.
81330
81331 2006-04-12  Eric Blake  <ebb9@byu.net>
81332
81333         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
81334         is now done automatically by the corresponding Autoconf macro.
81335
81336 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
81337
81338         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
81339         time_r.h.
81340
81341 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81342
81343         Merge regex changes from libc, removing some of our
81344         POSIX-conformance changes that were rejected and redoing them in a
81345         less-intrusive way.
81346
81347         * lib/regcomp.c (re_compile_internal, init_dfa):
81348         Length arg is now size_t, not Idx.  All uses changed.
81349         (peek_token): Forward decl now says internal_function.
81350         (__re_error_msgid, __re_error_msgid_idx):
81351         Now static rather than extern with attribute_hidden.
81352         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
81353         For some reason libc prefers K&R style defns for external functions.
81354         (regerror) [!defined _LIBC]: Likewise.
81355         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
81356         (seek_collating_symbol_entry, lookup_collation_sequence_value):
81357         (build_range_exp, build_collating_symbol):
81358         Use K&R-style defn.
81359         (re_compile_fastmap): Use '\0' to memset, not 0.
81360         (utf8_sb_map): Make the calculations more obvious.
81361         (init_dfa, parse_bracket_exp, build_charclass_op):
81362         Call calloc and cast result, as glibc does.
81363         (init_word_char, fetch_token, peek_token, peek_token_bracket):
81364         (build_range_exp, build_collating_symbol):
81365         Now internal functions.
81366
81367         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
81368
81369         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
81370         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
81371         Don't depend on VMS; depend on __VMS instead, for POSIX
81372         namespace cleanness.
81373         (regoff_t): Define to ssize_t, not long int.
81374
81375         Remove the REG_ macros named below.  Instead, make the old names
81376         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
81377         __USE_GNU_REGEX.
81378         (REG_BACKSLASH_ESCAPE_IN_LISTS):
81379         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
81380         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
81381         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
81382         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
81383         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
81384         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
81385         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
81386         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
81387         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
81388         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
81389         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
81390         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
81391         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
81392         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
81393         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
81394         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
81395         (REG_NREGS):
81396         Remove.  All uses replaced by the old RE_* names.
81397         (RE_BACKSLASH_ESCAPE_IN_LISTS):
81398         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
81399         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
81400         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
81401         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
81402         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
81403         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
81404         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
81405         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
81406         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
81407         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
81408         Don't bother having these macros be independent of each others'
81409         values, since they no longer exist in the POSIX name space.
81410
81411         Rename the following member names back to their old names,
81412         unless !__USE_GNU_REGEX.  All uses changed back.
81413         (buffer): Renamed from re_buffer.
81414         (allocated): Renamed from re_allocated.
81415         (used): Renamed from re_used.
81416         (syntax): Renamed from re_syntax.
81417         (fastmap): Renamed from re_fastmap.
81418         (translate): Renamed from re_translate.
81419         (can_be_null): Renamed from re_can_be_null.
81420         (regs_allocated): Renamed from re_regs_allocated.
81421         (fastmap_accurate): Renamed from re_fastmap_accurate.
81422         (no_sub): Renamed from re_no_sub.
81423         (not_bol): Renamed from re_not_bol.
81424         (not_eol): Renamed from re_not_eol.
81425         (newline_anchor): Renamed from re_newline_anchor.
81426         (num_regs): Renamed from rm_num_regs.
81427         (start): Renamed from rm_start.
81428         (end): Renamed from rm_end.
81429
81430         (free_state): Move up a bit.
81431
81432         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
81433         #define to be empty.
81434         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
81435         when that is what is intended.
81436         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
81437         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
81438         (MAX): New macro.
81439         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
81440         All uses changed back to re_malloc, etc.  It's now the caller's
81441         responsibility to check for overflow; all callers changed.
81442         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
81443         (re_x2nrealloc): Remove.
81444         (free_state): Remove decl.
81445
81446         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
81447         (re_set_registers, re_exec):
81448         Use K&R-style defn.
81449
81450         2006-01-31  Roland McGrath  <roland@redhat.com>
81451
81452         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
81453         Reported by Mike Frysinger <vapier@gentoo.org>.
81454
81455         2006-01-15  Andreas Jaeger  <aj@suse.de>
81456
81457         [BZ #1950]
81458         * lib/regex_internal.c (re_string_reconstruct): Adjust for
81459         build_wcs_upper_buffer change.
81460         (build_wcs_upper_buffer): Change return type.
81461
81462         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
81463
81464         * lib/regex_internal.h: Include <stdint.h> if available.
81465
81466         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
81467
81468         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
81469
81470         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
81471
81472         * lib/regcomp.c: Adjust for changed secondary hash function.
81473
81474         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
81475
81476         * lib/regex.h: Pretty printing.
81477         Clean up namespace a bit.
81478
81479         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
81480
81481         * lib/regexec.c (update_cur_sifted_state, check_arrival,
81482         check_arrival_add_next_nodes): Avoid using uninitialized variable.
81483
81484         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
81485                     Ulrich Drepper  <drepper@redhat.com>
81486
81487         [BZ #1302]
81488         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
81489         changed.
81490         (bitset_word_t): Renamed from bitset_word.  All uses changed.
81491
81492         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
81493
81494         [BZ #281]
81495         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
81496         * lib/regcomp.c: Remove unnecessary uses of
81497         unsigned RE_TRANSLATE_TYPE.
81498         * lib/regex_internal.h: Likewise.
81499         * lib/regex_internal.c: Likewise.
81500         * lib/regexec.c: Likewise.
81501         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
81502
81503         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
81504
81505         * lib/regexec.c (find_recover_state): Remove unnecessary
81506         initialization.
81507         (transit_state_bkref): Make DFA a const pointer.
81508         (get_subexp): Likewise.
81509         (check_arrival): Likewise.
81510         (update_cur_sifted_state): Likewise.
81511         (re_search_internal): Likewise.
81512         (prune_impossible_nodes): Likewise.
81513         (acquire_init_state_context): Likewise.
81514         (proceed_next_node): Likewise.
81515         (set_regs): Likewise.
81516         (free_fail_stack_return): Likewise.
81517         (check_arrival_expand_ecl): Mark DFA parameter as const.
81518         (check_arrival_expand_ecl_sub): Likewise.
81519         (check_subexp_limits): Likewise.
81520         (sub_epsilon_src_nodes):  Likewise.
81521         (add_epsilon_src_nodes):  Likewise.
81522         (merge_state_array): Likewise.
81523         (update_regs): Likewise.
81524         (build_trtable): Likewise.
81525         (sift_states_backward): Mark MCTX parameter as const.
81526         (build_sifted_states): Likewise.
81527         (update_cur_sifted_state): Likewise.
81528         (sift_states_mkref): Likewise.
81529         (check_arrival_expand_ecl): Mark eclosure as const.
81530         (check_dst_limits_calc_pos_1): Likewise.
81531         * lib/regex_internal.h (re_match_context_t): Make dfa a const
81532         pointer.
81533
81534         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
81535
81536         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
81537         (transit_state_sb): Likewise.
81538         (transit_state_mb): Likewise.
81539         (sift_states_iter_mb): Likewise.
81540         (check_arrival_add_next_nodes): Likewise.
81541         (check_node_accept_bytes): Change first parameter to pointer-to-const.
81542         [_LIBC] (re_search_2_stub): Use mempcpy.
81543
81544         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
81545         mbrtowc for very simple UTF-8 case.
81546
81547         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
81548         a pointer-to-const.
81549         (re_acquire_state_context): Likewise.
81550         * lib/regex_internal.h: Adjust prototypes.
81551
81552         * lib/regex.c: Prevent using C++ compilers.
81553
81554         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
81555         (re_acquire_state_context): Likewise.
81556
81557 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81558
81559         * modules/regex (Depends-on): Add ssize_t.
81560
81561 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81562
81563         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
81564         translation table.
81565
81566 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81567
81568         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
81569
81570 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
81571             Bruno Haible  <bruno@clisp.org>
81572
81573         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
81574         <sys/types.h> and <inttypes.h>.
81575
81576 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81577
81578         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
81579         `__error_t_defined', so argp.h will not typedef the former.
81580
81581 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
81582
81583         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
81584         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
81585         glibc names.  Even if glibc is changed to conform to POSIX, the
81586         traditional names will be available anyway, since regex depends on
81587         the extensions module.  Also, fix a longstanding typo in the
81588         implementation of Spencer ERE test #75 from grep 2.3.  Problems
81589         reported by Emanuele Giaquinta.  Also, change sense of cached
81590         variable, so that the message makes sense.
81591
81592 2006-03-24  Simon Josefsson  <jas@extundo.com>
81593
81594         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
81595         including some doc fixes.
81596         (base64_encode_alloc): Fix +1 bug on allocation failures.
81597
81598 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81599
81600         * lib/base64.c (base64_encode): Do not read past end of array with
81601         unsanitized input on systems with CHAR_BIT > 8.
81602
81603 2006-03-24  Eric Blake  <ebb9@byu.net>
81604
81605         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
81606
81607 2006-03-22  Karl Berry  <karl@gnu.org>
81608
81609         * config/srclist.txt (*setenv.[ch]): get from coreutils.
81610         * config/srclistvars.sh (COREUTILS): new var.
81611
81612 2006-03-17  Jim Meyering  <jim@meyering.net>
81613
81614         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
81615         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
81616
81617 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
81618
81619         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
81620         no longer needs it.  Instead, check that regoff_t is as least
81621         as wide as ptrdiff_t.
81622
81623         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
81624         so that our regex.h stays compatible with the installed regex.
81625         This is helpful for installers who configure --without-included-regex.
81626         Problem reported by Emanuele Giaquinta.
81627
81628 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
81629
81630         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
81631         Typedef to long int, not to off_, as POSIX will likely change
81632         in that direction.
81633
81634 2006-03-15  Eric Blake  <ebb9@byu.net>
81635
81636         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
81637
81638 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
81639
81640         * lib/argp-help.c (validate_uparams): Fix typo
81641         * lib/argp-parse.c (argp_default_options): Consistently begin help
81642         messages with a lowercase letter.
81643
81644 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
81645
81646         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
81647         overrun buffers and shouldn't be used (much as gets shouldn't be
81648         used).
81649         * lib/time_r.c (asctime_r, ctime_r): Likewise.
81650
81651 2006-03-08  Simon Josefsson  <jas@extundo.com>
81652
81653         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
81654         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81655
81656 2006-03-08  Simon Josefsson  <jas@extundo.com>
81657
81658         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
81659         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81660
81661 2006-03-08  Simon Josefsson  <jas@extundo.com>
81662
81663         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
81664         signal that configure disabled the device.
81665
81666 2006-03-08  Simon Josefsson  <jas@extundo.com>
81667
81668         * build-aux/maint.mk: Fix refresh-po, to handle no translated
81669         languages.
81670
81671 2006-03-07  Simon Josefsson  <jas@extundo.com>
81672
81673         * modules/getopt (Depends-on): Add unistd.
81674
81675         * modules/unistd: New file.
81676
81677 2006-03-07  Simon Josefsson  <jas@extundo.com>
81678
81679         * modules/gc-random: New file.
81680
81681 2006-03-07  Simon Josefsson  <jas@extundo.com>
81682
81683         * m4/unistd_h.m4: New file.
81684
81685 2006-03-07  Simon Josefsson  <jas@extundo.com>
81686
81687         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
81688         test to be side-effect free by storing the result in the cache
81689         variable gl_cv_lib_readline, and moving the assignment of
81690         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
81691         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81692
81693 2006-03-07  Simon Josefsson  <jas@extundo.com>
81694
81695         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
81696         error on missing devices (the functions will return an error).
81697
81698         * m4/gc.m4: Move random stuff to gc-random.m4
81699
81700 2006-03-07  Simon Josefsson  <jas@extundo.com>
81701
81702         * lib/unistd_.h: New file.
81703
81704 2006-03-07  Simon Josefsson  <jas@extundo.com>
81705
81706         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
81707
81708 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
81709
81710         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
81711         Problem reported by Juan Manuel Guerrero.
81712
81713 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
81714
81715         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
81716         the unistd module.
81717         * lib/getlogin_r.c: Likewise.
81718         * lib/getlogin_r.h: Likewise.
81719         * lib/glob.c: Likewise.
81720         * lib/pagealign_alloc.c: Likewise.
81721         * lib/unistd_.h: Remove; no longer needed.
81722
81723 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
81724
81725         * MODULES.html.sh (Support for systems lacking POSIX:2001):
81726         Add unistd.
81727         * modules/c-stack (Depends-on): Add unistd.
81728         * modules/getlogin_r: Likewise.
81729         * modules/glob: Likewise.
81730         * modules/pagealign_alloc: Likewise.
81731         * modules/unistd (Files): Remove lib/unistd_.h.
81732         (EXTRA_DIST): Remove.
81733         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
81734         need unistd_.h.
81735         (MOSTLYCLEANFILES): Remove unistd.h-t.
81736
81737 2006-03-03  Simon Josefsson  <jas@extundo.com>
81738
81739         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
81740
81741 2006-03-03  Simon Josefsson  <jas@extundo.com>
81742
81743         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
81744         libidn and bison.
81745
81746 2006-03-03  Simon Josefsson  <jas@extundo.com>
81747
81748         * build-aux/maint.mk: Add indent target.
81749
81750 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
81751
81752         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
81753         our replacement poll.h in any case, to avoid a differing
81754         declaration from a system header.  Seen on AIX.
81755
81756 2006-03-01  Simon Josefsson  <jas@extundo.com>
81757
81758         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
81759         <kasal@ucw.cz>.
81760
81761 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81762
81763         * modules/gettime (Depends-on): Add extensions module.
81764         * modules/nanosleep (Depends-on): Likewise.
81765         * modules/settime (Depends-on): Likewise.
81766
81767 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81768
81769         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
81770         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
81771         pedantically.
81772         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
81773         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
81774
81775         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
81776         not "==".  Reported by Ralf Wildenhues.
81777
81778 2006-03-01  Karl Berry  <karl@gnu.org>
81779
81780         * doc/Copyright/request-*: new files, synced from gnuorg.
81781
81782 2006-03-01  Karl Berry  <karl@gnu.org>
81783
81784         * config/srclist.txt (Copyright/*): new entries.
81785
81786 2006-02-28  Simon Josefsson  <jas@extundo.com>
81787
81788         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
81789
81790 2006-02-27  Simon Josefsson  <jas@extundo.com>
81791
81792         * lib/base64.h: Indent #define's.  From Jim Meyering
81793         <jim@meyering.net>.
81794
81795 2006-02-27  Jim Meyering  <jim@meyering.net>
81796
81797         Revert the change of 2006-02-24, so these files can continue
81798         to be sync'd from gettext.
81799         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
81800         of `config.h'.
81801
81802 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
81803
81804         * modules/intprops: New file.
81805         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
81806         Add intprops.
81807         * modules/getloadavg (Files): Remove lib/intprops.h.
81808         (Depends-on): Add intprops.
81809         * modules/human: Likewise.
81810         * modules/inttostr: Likewise.
81811         * modules/openat: Likewise.
81812         * modules/sig2str: Likewise.
81813         * modules/userspec: Likewise.
81814         * modules/utimecmp: Likewise.
81815         * modules/xnanosleep: Likewise.
81816         * modules/xstrtol: Likewise.
81817
81818 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
81819
81820         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
81821         * modules/lock-tests (TESTS): Use $(EXEEXT).
81822         * modules/tls-tests: Likewise.
81823         * modules/argp-tests: Likewise.
81824         (check_PROGRAMS): New var, replacing...
81825         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
81826
81827 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81828
81829         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
81830         `config.h'.
81831
81832 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
81833
81834         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
81835
81836 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81837
81838         Sync from coreutils.
81839         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
81840         gl_CHDIR_SAFER.
81841
81842 2006-02-22  Jim Meyering  <jim@meyering.net>
81843
81844         Sync from coreutils.
81845         * m4/chdir-safer.m4: New file.
81846
81847 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
81848
81849         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
81850         AT_FDCWD exceeds INT_MAX.
81851         * lib/openat.h (AT_FDCWD): Likewise.
81852
81853 2006-02-17  Eric Blake  <address@hidden>
81854
81855         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
81856
81857 2006-02-16  Simon Josefsson  <jas@extundo.com>
81858
81859         * modules/getaddrinfo (Depends-on): Add sys_socket.
81860
81861 2006-02-15  Simon Josefsson  <jas@extundo.com>
81862
81863         * build-aux/maint.mk: Add dsyntax-check rule.
81864
81865 2006-02-15  Eric Blake  <ebb9@byu.net>
81866
81867         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
81868         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
81869         'present but cannot compile' warnings on cygwin.
81870         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
81871         use ws2tcpip.h if sys/socket.h works.
81872         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
81873         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
81874
81875 2006-02-14  Simon Josefsson  <jas@extundo.com>
81876
81877         * modules/maintainer-makefile (Files): Rename.
81878
81879         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
81880         and (the local) Makefile.cfg to maint-cfg.mk.
81881
81882         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
81883         to the latter.
81884
81885         * modules/maintainer-makefile: New module.
81886
81887         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
81888         severaly stripped to make it possible to build it up from scratch
81889         with reliable tests.
81890
81891         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
81892         fixes to permit overriding the default actions when configure and
81893         makefile are not available.
81894
81895 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
81896
81897         Sync from coreutils.
81898         * modules/lstat (Depends-on): Don't depend on xalloc.
81899         (License): Change from GPL to LGPL, since this is now simply a
81900         replacement for a libc function.
81901
81902 2006-02-14  Jim Meyering  <jim@meyering.net>
81903
81904         Sync from coreutils.
81905
81906         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
81907         failure on deficient systems, and simplify gnulib lgpl dependencies.
81908         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
81909         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
81910
81911         * lib/xalloc-die.c: Remove unused definition of N_.
81912
81913 2006-02-14  Jim Meyering  <jim@meyering.net>
81914
81915         Sync from coreutils.
81916         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
81917         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
81918         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
81919         double-quote uses of that variable, to accommodate the rare case in
81920         which getmntent is available in none of the libraries checked.  This
81921         happens at least on FreeBSD 5.0.
81922
81923 2006-02-13  Simon Josefsson  <jas@extundo.com>
81924
81925         * gnulib-tool (Usage): Fix --import, from
81926         karl@freefriends.org (Karl Berry).
81927
81928 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
81929
81930         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
81931
81932 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
81933
81934         * lib/argp-namefrob.h: Restore changes accidentally lost during the
81935         "autoupdate" on 2005-12-12.
81936
81937 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
81938
81939         * modules/closeout (Depends-on): Remove atexit.
81940
81941 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
81942
81943         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
81944         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
81945
81946 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
81947
81948         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
81949         __EXTENSIONS__ if this causes compilation to fail.  Problem
81950         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
81951         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
81952
81953 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
81954
81955         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
81956         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
81957         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
81958         All uses changed.
81959
81960 2006-01-26  Simon Josefsson  <jas@extundo.com>
81961
81962         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
81963         prototype is visible on mingw32.
81964
81965         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
81966         for mingw32.
81967
81968         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
81969         mingw32).
81970
81971 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
81972
81973         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
81974         attempt to open for write; this always fails, at least on POSIX
81975         hosts.  This reinstates the 2006-01-09 change, which was
81976         inadvertently removed.
81977
81978 2006-01-26  Bruno Haible  <bruno@clisp.org>
81979
81980         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
81981         Reported by Paul Eggert.
81982
81983 2006-01-26  Bruno Haible  <bruno@clisp.org>
81984             Paul Eggert  <eggert@cs.ucla.edu>
81985
81986         * lib/stdbool_.h (_Bool)
81987         [(! (defined __cplusplus || defined __BEOS__)
81988           && !defined __GNUC__
81989           && !(defined __HP_cc || defined __xlc__
81990                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
81991                || defined __sgi))]:
81992         #define to signed char in these cases too; this simplifies
81993         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
81994         etc., separately) and makes it more conservative.
81995
81996 2006-01-25  Simon Josefsson  <jas@extundo.com>
81997
81998         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
81999         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
82000         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
82001
82002 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82003
82004         * lib/argp-namefrob.h: Bugfix. Remove stray #
82005
82006 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
82007
82008         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
82009         so that we test the test.
82010         Check for yet another HP-UX cc bug involving *bool |= bool.
82011
82012 2006-01-25  Karl Berry  <karl@gnu.org>
82013
82014         * config/srclist.txt (vasnprintf.c): sync lost.
82015
82016 2006-01-25  Jim Meyering  <jim@meyering.net>
82017
82018         Sync from the stable (b5) branch of coreutils:
82019
82020         * lib/fts.c (fts_children): Don't let close() clobber errno from
82021         failed fchdir().
82022
82023         * lib/fts.c (fts_stat): When following a symlink-to-directory,
82024         don't necessarily interpret stat-fails+lstat-succeeds as indicating
82025         a dangling symlink.  That can also happen at least for ELOOP.
82026         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
82027         FYI, this bug predates the inclusion of fts.c in coreutils.
82028
82029         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
82030         in their own block, so pre-c99 compilers don't object.
82031
82032         Avoid the double-free (first in fts_read, second in fts_close) that
82033         would occur when an `active' directory is made inaccessible (e.g.,
82034         via chmod a-x) during a traversal.
82035         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82036         before returning.  Reproduce this failure by
82037         mkdir -p a/b; cd a; chmod a-x . b
82038         Reported by Stavros Passas.
82039
82040 2006-01-25  Jim Meyering  <jim@meyering.net>
82041
82042         * lib/fileblocks.c: Remove more useless parentheses.
82043         * lib/readutmp.h: Likewise.
82044
82045 2006-01-25  Bruno Haible  <bruno@clisp.org>
82046
82047         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
82048         warnings.
82049         Reported by Paul Eggert.
82050
82051 2006-01-25  Bruno Haible  <bruno@clisp.org>
82052
82053         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
82054         rid of a trap command. For Solaris sh.
82055         Reported by Mark D. Baushke <mdb@gnu.org>.
82056
82057 2006-01-24  Simon Josefsson  <jas@extundo.com>
82058
82059         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
82060         Bruno.
82061
82062 2006-01-24  Karl Berry  <karl@gnu.org>
82063
82064         * config/srclist.txt (argp-namefrob.h): sync lost.
82065
82066 2006-01-24  Jim Meyering  <jim@meyering.net>
82067
82068         * modules/openat (Files): Add lib/intprops.h.
82069         From Mark D. Baushke.
82070
82071 2006-01-24  Jim Meyering  <jim@meyering.net>
82072
82073         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
82074         Reported by Mark D. Baushke.
82075
82076 2006-01-24  Jim Meyering  <jim@meyering.net>
82077
82078         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
82079
82080 2006-01-24  Bruno Haible  <bruno@clisp.org>
82081
82082         * modules/strnlen (Maintainer): Change from glibc to all.
82083
82084 2006-01-24  Bruno Haible  <bruno@clisp.org>
82085
82086         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
82087         Patch by Paul Eggert.
82088
82089 2006-01-24  Bruno Haible  <bruno@clisp.org>
82090
82091         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
82092         already has it.
82093         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
82094         2005-11-26.
82095
82096         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
82097         'signed char' to avoid problems with the built-in _Bool type.
82098         Reported by Paul Eggert on 2005-11-26.
82099
82100 2006-01-24  Bruno Haible  <bruno@clisp.org>
82101
82102         * gnulib-tool (func_import): Avoid constructing complicated sed
82103         expressions inside backquote.
82104         Report and solution by Mark D. Baushke <mdb@gnu.org>.
82105
82106 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
82107
82108         These changes imported from libc.
82109         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
82110         test and two separate function calls.
82111         * lib/strndup.c (__strndup): Add libc_hidden_def.
82112
82113 2006-01-23  Simon Josefsson  <jas@extundo.com>
82114
82115         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
82116         Remove the test_*_SOURCES variable: automake infers it by default.
82117         * modules/tls-tests: Likewise.
82118
82119 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82120
82121         Work around porting bugs reported by Dieter in
82122         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
82123         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
82124         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
82125         Include "getopt.h" first, to check interface.
82126         (getenv): Declare only if defined HAVE_DECL_GETENV &&
82127         !HAVE_DECL_GETENV.
82128         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
82129         (__strndup): Revert to K&R-style function dfns, the glibc style.
82130         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
82131         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
82132         Include strnlen.h first, to get prototype properly.
82133         (strnlen): Renamed from __strnlen.
82134         Remove weak alias.
82135
82136 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82137
82138         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
82139
82140 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82141
82142         * config/srclist.txt: Adjust to reflect glibc reorganization.
82143         This affects only comments.
82144
82145 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82146
82147          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
82148          Reported by Bruce Korb <bkorb@gnu.org>.
82149
82150 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
82151
82152         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
82153         to pacify gcc -Wswitch-default.
82154
82155 2006-01-22  Bruno Haible  <bruno@clisp.org>
82156
82157         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
82158         temporary buffer for sprintf, take into account the precision also
82159         for 'd', 'i', 'u', 'o', 'x', 'X'.
82160
82161 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82162
82163         * modules/argp-tests: New module
82164         * tests/test-argp.c: New file
82165         * tests/test-argp-2.sh: New file
82166
82167 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82168
82169         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
82170         (__argp_base_name): Removed
82171         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
82172         typo.
82173         (__argp_base_name): Provide macro definition or extern declaration
82174         depending on the configuration
82175
82176 2006-01-20  Simon Josefsson  <jas@extundo.com>
82177
82178         * modules/inet_ntop (Depends-on): Depend on sys_socket.
82179
82180 2006-01-20  Simon Josefsson  <jas@extundo.com>
82181
82182         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
82183
82184 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82185
82186         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
82187         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
82188         Suggested by Bruno Haible.
82189
82190 2006-01-20  Karl Berry  <karl@gnu.org>
82191
82192         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
82193         until changes propagate, I guess.
82194
82195 2006-01-19  Simon Josefsson  <jas@extundo.com>
82196
82197         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
82198
82199 2006-01-19  Simon Josefsson  <jas@extundo.com>
82200
82201         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
82202
82203 2006-01-19  Simon Josefsson  <jas@extundo.com>
82204
82205         * gnulib-tool: Set check_PROGRAMS.
82206
82207         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82208         modules/des-tests, modules/gc-arcfour-tests,
82209         modules/gc-arctwo-tests, modules/gc-des-tests,
82210         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82211         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82212         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82213         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82214         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82215         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
82216         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
82217         test_*_SOURCES.
82218
82219 2006-01-18  Simon Josefsson  <jas@extundo.com>
82220
82221         * modules/socklen (Depends-on): Depend on sys_socket.
82222
82223 2006-01-18  Simon Josefsson  <jas@extundo.com>
82224
82225         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82226         modules/des-tests, modules/gc-arcfour-tests,
82227         modules/gc-arctwo-tests, modules/gc-des-tests,
82228         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82229         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82230         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82231         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82232         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82233         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
82234         $(EXEEXT) to automake TESTS variable, for mingw32.
82235
82236 2006-01-17  Simon Josefsson  <jas@extundo.com>
82237
82238         * modules/socklen (Include): Need sys/socket.h.
82239
82240 2006-01-17  Bruno Haible  <bruno@clisp.org>
82241
82242         * modules/ssize_t (Include): Add <sys/types.h>.
82243
82244 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
82245
82246         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
82247         it's not portable and it doesn't work with cross-compiles.
82248         Problem reported by Bruno Haible.  Fix missing-$ typo in
82249         'test "gl_cv_ignore_unused_libraries" ...' that prevented
82250         -zignore from being used with Sun's C compiler.
82251
82252 2006-01-12  Simon Josefsson  <jas@extundo.com>
82253
82254         * lib/base64.c: Fix warning, reported by Bruno Haible
82255         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
82256
82257 2006-01-12  Bruno Haible  <bruno@clisp.org>
82258
82259         * modules/ldd: New file.
82260         * build-aux/ldd.sh.in: New file.
82261         * MODULES.html.sh (Support for building libraries and executables): Add
82262         ldd.
82263
82264 2006-01-12  Bruno Haible  <bruno@clisp.org>
82265
82266         * m4/ldd.m4: New file.
82267
82268 2006-01-12  Bruno Haible  <bruno@clisp.org>
82269
82270         * gnulib-tool (func_import, func_create_testdir): Don't go into an
82271         endless loop while replacing $auxdir with build-aux.
82272
82273 2006-01-11  Simon Josefsson  <jas@extundo.com>
82274
82275         * lib/stdint_.h (SIZE_MAX): Add missing (.
82276
82277 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
82278
82279         Sync from coreutils.
82280         * lib/md5.c: Fix commentary typos.
82281         (alignof, UNALIGNED_P): No need for a GCC-specific version.
82282         * lib/md5.h (__attribute__): Remove; unused.
82283         * lib/sha1.c: Fix commentary to match md5 better.
82284         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
82285         so that we don't need to worry about alignment.  All uses changed.
82286         This merges the 2005-10-28 md5 change into sha1.
82287
82288 2006-01-11  Jim Meyering  <jim@meyering.net>
82289
82290         Sync from coreutils.
82291         * lib/md5.c (OP): Fix spacing.
82292
82293 2006-01-11  Bruno Haible  <bruno@clisp.org>
82294
82295         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82296         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
82297         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
82298
82299 2006-01-11  Bruno Haible  <bruno@clisp.org>
82300
82301         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82302         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
82303         the "early" section as well.
82304
82305 2006-01-11  Bruno Haible  <bruno@clisp.org>
82306
82307         Avoid "ar: no archive members specified" error on MacOS X.
82308         * gnulib-tool (func_modules_add_dummy): New function.
82309         (func_import, func_create_testdir): Invoke it.
82310
82311 2006-01-11  Bruno Haible  <bruno@clisp.org>
82312
82313         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
82314         with $auxdir in AC_CONFIG_FILES statements.
82315
82316 2006-01-11  Bruno Haible  <bruno@clisp.org>
82317
82318         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
82319         Initialize also noinst_HEADERS to empty.
82320
82321 2006-01-11  Bruno Haible  <bruno@clisp.org>
82322
82323         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
82324         variables.
82325         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
82326         autoreconf.
82327
82328 2006-01-11  Bruno Haible  <bruno@clisp.org>
82329
82330         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
82331         overridable by the user.
82332         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82333
82334 2006-01-10  Simon Josefsson  <jas@extundo.com>
82335
82336         * modules/sys_socket: New file.
82337
82338 2006-01-10  Simon Josefsson  <jas@extundo.com>
82339
82340         * m4/sys_socket_h.m4: New file.
82341
82342 2006-01-10  Simon Josefsson  <jas@extundo.com>
82343
82344         * lib/socket_.h: New file.
82345
82346 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82347
82348         * modules/readutmp (Maintainer): Add myself.
82349
82350 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82351
82352         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
82353         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
82354         People who are still concerned with buggy memcmp implementations
82355         can invoke gl_FUNC_MEMCMP themselves.
82356
82357 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82358
82359         * lib/regex_internal.h (BITSET_WORD_BITS):
82360         Work around a bug in 64-bit PGC (before version 6.1-2), where the
82361         preprocessor mishandles large unsigned values as if they were signed.
82362         Problem reported by Claudio Fontana in
82363         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
82364
82365 2006-01-10  Jim Meyering  <jim@meyering.net>
82366
82367         Avoid the double-free (first in fts_read, second in fts_close) that
82368         would occur when an `active' directory is made inaccessible (e.g.,
82369         via chmod a-x) during a traversal.
82370         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82371         before returning.  Reproduce this failure by
82372         mkdir -p a/b; cd a; chmod a-x . b
82373         Reported by Stavros Passas.
82374
82375         Sync from coreutils.
82376         * lib/sha1.c: Tweak grammar in a comment.
82377
82378 2006-01-10  Jim Meyering  <jim@meyering.net>
82379
82380         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
82381         Patch by Joerg Sonnenberger.
82382
82383 2006-01-10  Bruno Haible  <bruno@clisp.org>
82384
82385         * modules/readutmp: Depend on module free.
82386         * modules/strtok_r: Depend on module restrict.
82387
82388 2006-01-10  Bruno Haible  <bruno@clisp.org>
82389
82390         * modules/gettext (configure.ac): Add an invocation of
82391         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
82392
82393 2006-01-10  Bruno Haible  <bruno@clisp.org>
82394
82395         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
82396         Reported by Werner Lemberg <wl@gnu.org>.
82397
82398 2006-01-10  Bruno Haible  <bruno@clisp.org>
82399
82400         * lib/localcharset.c: Update from GNU gettext.
82401
82402 2006-01-10  Bruno Haible  <bruno@clisp.org>
82403
82404         * lib/argp.h (__const): Remove macro. Use const instead.
82405         * lib/argp-fmtstream.h (__const): Likewise.
82406         * lib/glob_.h (__const): Remove macro.
82407         * lib/glob-libc.h: Use const instead of __const.
82408
82409 2006-01-10  Bruno Haible  <bruno@clisp.org>
82410
82411         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
82412         variable.
82413         Needed to avoid an automake error regarding the 'gettext' module.
82414
82415 2006-01-09  Simon Josefsson  <jas@extundo.com>
82416
82417         * modules/inet_ntop (Depends-on): Add restrict.
82418
82419 2006-01-09  Simon Josefsson  <jas@extundo.com>
82420
82421         * modules/gc-rijndael-tests (License): Put under LGPL.
82422
82423         * modules/gc-des-tests (License): Likewise.
82424
82425         * modules/gc-arcfour-tests (License): Likewise.
82426
82427         * modules/gc-arctwo-tests (License): Likewise.
82428
82429         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
82430
82431         * modules/gc-hmac-sha1-tests (Files): Likewise.
82432
82433         * modules/gc-hmac-md5-tests (License): Likewise.
82434
82435         * modules/gc-sha1-tests (License): Likewise.
82436
82437         * modules/gc-md5-tests (License): Likewise.
82438
82439         * modules/gc-md4-tests (License): Likewise.
82440
82441         * modules/gc-md2-tests (License): Likewise.
82442
82443         * modules/gc-tests (License): Likewise.
82444
82445         * modules/des-tests (License): Likewise.
82446
82447         * modules/md4-tests (License): Likewise.
82448
82449         * modules/md2-tests (License): Likewise.
82450
82451 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82452
82453         Sync from coreutils:
82454
82455         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
82456         * modules/lib-ignore: New file.
82457         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
82458         chdir-safer.m4, lchmod.m4.
82459         * modules/openat: Add mkdirat.c, openat-priv.h.
82460
82461 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82462
82463         Sync from coreutils.
82464         * m4/lib-ignore.m4: New file.
82465         * m4/lchmod.m4: New file.
82466
82467 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82468
82469         Sync from coreutils.
82470         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
82471         for write access: POSIX says that must fail.
82472         * lib/fts.c (diropen): Likewise.
82473         * lib/save-cwd.c (save_cwd): Likewise.
82474         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
82475         well, for minor improvements on hosts that lack O_DIRECTORY.
82476         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
82477         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
82478         Fall back on chown if open failed with EACCES.
82479
82480         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
82481         Report an error at compile-time if only a 1-second nominal clock
82482         resolution is found.
82483
82484         * lib/lchmod.h: New file.
82485         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
82486         (make_dir_parents): Use lchown rather than chown, and
82487         lchmod rather than chmod.
82488
82489         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
82490         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
82491         "proc" reported by n0dalus.
82492
82493         * lib/mountlist.c: Include <limits.h>.
82494         (dev_from_mount_options)
82495         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
82496         New function.  It no longer assumes "dev=" has the System V meaning
82497         on Linux (since it doesn't).  It also parses "dev=" more carefully.
82498         (read_file_system_list)
82499         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
82500         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
82501         dev= in that case.
82502
82503         * lib/posixtm.h (PDS_PRE_2000): New macro.
82504         * lib/posixtm.c (year): Arg is now syntax_bits rather than
82505         allow_century.  All usages changed.  Reject dates outside the range
82506         1969-1999 if PDS_PRE_2000 is used.
82507
82508 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82509
82510         Sync from coreutils.
82511         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
82512         (Time of day items): Mention the possibility of leap seconds.
82513         Problem reported by Dr. David Alan Gilbert.
82514
82515 2006-01-09  Jim Meyering  <jim@meyering.net>
82516
82517         Sync from coreutils.
82518
82519         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
82520
82521         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
82522
82523         * lib/modechange.c (mode_compile): Reject an invalid mode string
82524         that starts with an octal digit.  From Andreas Gruenbacher.
82525
82526         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
82527         and dup to open_safer and dup_safer, respectively.
82528         (openat_permissive): Fix typo in comment.
82529
82530         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
82531         "gettext.h"; either no longer needed or are guaranteed by openat.h.
82532         (_): Remove; no longer needed.
82533         (openat): Renamed from rpl_openat; no need for rpl_openat
82534         since openat.h renames openat for us.
82535         Replace most of the body with a call to openat_permissive,
82536         to avoid duplicate code.
82537         Port to (probably hypothetical) environments were mode_t is
82538         wider than int.
82539         (openat_permissive): Require mode arg, so that we can check
82540         types better.  Put it just after flags.  Change cwd failure
82541         indicator from pointer-to-bool to pointer-to-errno-value.
82542         All callers changed.
82543         Invoke openat_save_fail and/or openat_restore_fail if
82544         cwd_errno is null, so that openat can call us.
82545         (openat_permissive, fdopendir, fstatat, unlinkat):
82546         Simplify errno handling to avoid some duplicate code,
82547         as it's OK to set errno on success.
82548         * lib/openat.h: Revamp code so that function macros depend on
82549         __OPENAT_PREFIX only, not also on AT_FDCWD.
82550         (openat_ro): Remove.  Caller changed to use openat_permissive.
82551         (openat_permissive): Now a macro, if not a function.
82552         (openat_restore_fail, openat_save_fail): Now always functions,
82553         since mkdirat needs them even if __OPENAT_PREFIX is defined.
82554
82555         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
82556         and openat.c.
82557         * lib/mkdirat.c: Include openat-priv.h.
82558         Remove definitions of macros defined therein.
82559         * lib/openat.c: Likewise.
82560
82561         * lib/mkdirat.c (mkdirat): New file and function.
82562         * lib/openat.h (mkdirat): Declare.
82563
82564         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
82565
82566         * lib/openat.h (openat_permissive): Declare.
82567         (openat_ro): Define.
82568
82569         * lib/openat.c (EXPECTED_ERRNO): New macro.
82570         (openat_permissive): New function -- used in remove.c rewrite.
82571         (all functions): Set errno just before returning, only if there
82572         was an actual failure.
82573         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
82574
82575         Emulate openat-family functions using Linux's procfs, if possible.
82576         Idea and some code based on Ulrich Drepper's glibc changes.
82577
82578         * lib/openat.c: (BUILD_PROC_NAME): New macro.
82579         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
82580         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
82581         before falling back on save_cwd and restore_cwd.
82582         (fdopendir, fstatat, unlinkat): Likewise.
82583
82584         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
82585         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
82586
82587         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
82588         as second argument to va_arg.  Otherwise, some versions of gcc
82589         warn that `if this code is reached, the program will abort'.
82590
82591 2006-01-09  Jim Meyering  <jim@meyering.net>
82592
82593         Sync from coreutils.
82594         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
82595         Require openat-priv.h.
82596
82597 2006-01-09  Bruno Haible  <bruno@clisp.org>
82598
82599         * modules/strnlen (Include): Use strnlen.h.
82600
82601 2006-01-09  Bruno Haible  <bruno@clisp.org>
82602
82603         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
82604
82605 2006-01-09  Bruno Haible  <bruno@clisp.org>
82606
82607         * lib/sysexit_.h (EX_OK): New macro.
82608         Suggested by Martin Lambers <marlam@marlam.de>.
82609
82610 2006-01-09  Bruno Haible  <bruno@clisp.org>
82611
82612         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
82613         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
82614
82615 2006-01-09  Bruno Haible  <bruno@clisp.org>
82616
82617         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
82618         numbers.
82619
82620 2006-01-09  Bruno Haible  <bruno@clisp.org>
82621
82622         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
82623         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
82624         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
82625         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
82626
82627 2006-01-09  Bruno Haible  <bruno@clisp.org>
82628
82629         * build-aux/javacomp.sh.in: New file, moved from lib/.
82630         * modules/javacomp-script (Files): Update.
82631         (configure.ac): Add AC_CONFIG_FILES invocation.
82632         (EXTRA_DIST): Remove variable.
82633
82634         * build-aux/javaexec.sh.in: New file, moved from lib/.
82635         * modules/javaexec (Files): Update.
82636         (configure.ac): Add AC_CONFIG_FILES invocation.
82637         (EXTRA_DIST): Remove javaexec.sh.in.
82638
82639         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
82640         * modules/csharpcomp-script (Files): Update.
82641         (configure.ac): Add AC_CONFIG_FILES invocation.
82642         (EXTRA_DIST): Remove variable.
82643
82644         * build-aux/csharpexec.sh.in: New file, moved from lib/.
82645         * modules/csharpexec (Files): Update.
82646         (configure.ac): Add AC_CONFIG_FILES invocation.
82647         (EXTRA_DIST): Remove csharpexec.sh.in.
82648
82649 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
82650
82651         Sync from coreutils.
82652
82653         Add POSIX ACL support
82654         * lib/acl.h (copy_acl, set_acl): Add declarations.
82655         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
82656         systems other than Linux.
82657         (chmod_or_fchmod): New function: use fchmod when possible,
82658         and chmod otherwise.
82659         (file_has_acl): Add a POSIX ACL implementation, with a
82660         Linux-specific subcase.
82661         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
82662         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
82663         acls are unsupported.
82664         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
82665         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
82666         are unsupported.
82667
82668 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
82669
82670         Sync from coreutils.
82671         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
82672
82673 2006-01-07  Bruno Haible  <bruno@clisp.org>
82674
82675         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
82676         gl_EARLY.
82677
82678 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82679
82680         * lib/strftime.c (tzname): Don't declare if it is already #defined.
82681         Problem reported for Mingw by Mark Junker.
82682
82683 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82684
82685         * README: Gnulib normally doesn't generate a tarball.
82686
82687 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
82688
82689         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
82690         long int, not int, for nanosecond counts, so that people who are
82691         used to POSIX struct timespec won't be surprised.  Reported by Jim
82692         Meyering.
82693
82694 2005-12-28  Bruno Haible  <bruno@clisp.org>
82695
82696         * build-aux/config.rpath: Update from GNU gettext.
82697
82698 2005-12-16  Jim Meyering  <jim@meyering.net>
82699
82700         * modules/fprintftime: New module.
82701         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
82702
82703 2005-12-16  Jim Meyering  <jim@meyering.net>
82704
82705         * m4/fprintftime.m4: New file.
82706
82707 2005-12-16  Jim Meyering  <jim@meyering.net>
82708
82709         * lib/fprintftime.c, lib/fprintftime.h: New files.
82710
82711 2005-12-15  Simon Josefsson  <jas@extundo.com>
82712
82713         * modules/socklen (configure.ac): Fix M4 macro name, to align with
82714         new m4/socklen.m4.
82715
82716 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
82717
82718         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
82719         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
82720
82721 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
82722
82723         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
82724         * lib/argp-help.c (fill_in_uparams): Check if the constructed
82725         struct uparams is valid. Fall back to the default values if it is
82726         not.
82727
82728 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82729
82730         * modules/argp (Files): Add argp-pin.c
82731         (Depends-on): dirname
82732         (lib_SOURCES): Add argp-pin.c
82733
82734 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82735
82736         * m4/argp.m4:  Check if program_invocation_name and
82737         program_invocation_short_name are declared and define appropriate
82738         macros if they are not.
82739
82740 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82741
82742         * lib/argp-help.c (__argp_base_name): New function
82743         (__argp_short_program_name): Rewrite using __argp_base_name
82744         * lib/argp-namefrob.h: Define program_invocation_name and
82745         program_invocation_short_name if requested
82746         (__argp_base_name): Add prototype
82747         * lib/argp-parse.c (argp_def): Use gettext wrappers
82748         (argp_default_parser): Use __argp_base_name
82749         * lib/argp-pin.c: New file. Defines program_invocation_name and
82750         program_invocation_short_name on systems that lack them.
82751
82752 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82753
82754         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
82755         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
82756         porting problem reported by Georg Schwarz in
82757         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
82758
82759 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82760
82761         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
82762         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
82763         porting problem reported by Georg Schwarz in
82764         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
82765
82766 2005-12-05  Bruno Haible  <bruno@clisp.org>
82767
82768         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
82769         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
82770         Reported by Mark Junker <mjscod@gmx.de>.
82771
82772 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
82773
82774         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
82775         Use implementation from Albert Chin, with some
82776         comments/corrections by Stepan Kasal and myself.
82777
82778 2005-12-02  Bruno Haible  <bruno@clisp.org>
82779
82780         * gnulib-tool (func_import): Accept GPLed build tool modules when
82781         --lgpl is given.
82782         * modules/csharpcomp-script: New file.
82783         * modules/csharpcomp: Depend on it.
82784         * modules/javacomp-script: New file.
82785         * modules/javacomp: Depend on it.
82786         Suggested by Simon Josefsson.
82787
82788 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
82789
82790         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
82791         statement, to work around an HP-UX 10.20 compiler bug reported by
82792         Peter O'Gorman.
82793
82794 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
82795
82796         * modules/savedir (Depends-on): Add openat.
82797
82798 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
82799
82800         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
82801         (uintmax_t) [defined uintmax_t]: Do not declare.
82802         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
82803         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
82804         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
82805         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
82806         sake of portability to weird hosts that C allows (though we don't
82807         know of any practical examples).
82808
82809         * lib/savedir.h (fdsavedir): New decl.
82810         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
82811         contains most of the former guts of savedir.
82812         (savedir): Use savedirstream.
82813         Include "openat.h".
82814
82815 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82816
82817         * modules/obstack (Files): Add m4/ulonglong.m4.
82818         Problem reported by Davide Angelocola.
82819
82820 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
82821
82822         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
82823         coreutils no longer futzes with rounding modes.
82824
82825 2005-11-14  Jim Meyering  <jim@meyering.net>
82826
82827         * lib/mkstemp-safer.c: Include <config.h>, required for possible
82828         replacement of mkstemp.
82829
82830 2005-11-10  Simon Josefsson  <jas@extundo.com>
82831
82832         * lib/readline.c: Remove EOL.
82833
82834 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82835
82836         * modules/gethrxtime (Depends-on): Add gettime.
82837
82838 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82839
82840         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
82841         or gettimeofday; no longer needed.
82842
82843 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82844
82845         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
82846         time business.
82847         (gethrxtime) [! (HAVE_NANOUPTIME
82848         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
82849         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
82850         our own approximation.
82851
82852 2005-11-08  Eric Blake  <ebb9@byu.net>
82853
82854         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
82855
82856 2005-11-08  Eric Blake  <ebb9@byu.net>
82857
82858         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
82859
82860 2005-11-04  Bruno Haible  <bruno@clisp.org>
82861
82862         * gnulib-tool: Implement --update mode.
82863
82864 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
82865
82866         Fix porting problem reported by Theodoros V. Kalamatianos.
82867         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
82868         Don't assume that futimes failing means we must fail.
82869
82870 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
82871
82872         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
82873         variables to suggest the intended function of the PATH_MAX check.
82874
82875 2005-10-30  Kean Johnston  <jkj@sco.com>
82876
82877         Trivial changes to support SCO systems.
82878         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
82879         as PATH_MAX.
82880         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
82881         where __ptr is null when no I/O is pending.
82882
82883 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
82884
82885         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
82886         leave errno alone.  Problem reported by Dmitry V. Levin.
82887
82888 2005-10-28  Simon Josefsson  <jas@extundo.com>
82889
82890         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
82891         Test more.
82892
82893         * tests/test-gc-md2.c, tests/test-md2.c: New files.
82894
82895         * modules/md2, modules/md2-tests: New files.
82896
82897 2005-10-28  Simon Josefsson  <jas@extundo.com>
82898
82899         * m4/inet_ntop.m4: More tests.
82900
82901         * m4/gc-md2.m4, md2.m4: New file.
82902
82903 2005-10-28  Simon Josefsson  <jas@extundo.com>
82904
82905         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
82906         "restrict" keywords, as per POSIX.  Protect the function
82907         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
82908         Don't use K&R prototypes.  Check the sprintf return values.
82909         Re-define EAFNOSUPPORT if not present.  Indent.
82910
82911         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
82912         suggested by Bruno Haible <bruno@clisp.org>.
82913
82914         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
82915
82916         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
82917
82918         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
82919         libgcrypt).
82920
82921         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
82922
82923         * lib/md2.h, lib/md2.c: New files.
82924
82925 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
82926
82927         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
82928         errno alone.  Problem reported by Frederic Jolliton.
82929
82930 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
82931
82932         * modules/verify (License): Change from GPL to LGPL.  This is a
82933         tiny module and there are apparently near-equivalents that are
82934         under the BSD license.
82935
82936 2005-10-24  Simon Josefsson  <jas@extundo.com>
82937
82938         * modules/sha1: Relicense to LGPL.
82939
82940 2005-10-24  Simon Josefsson  <jas@extundo.com>
82941
82942         * lib/md4.h: Shrink buffer size, now that we changed the type.
82943
82944 2005-10-23  Simon Josefsson  <jas@extundo.com>
82945
82946         * gnulib-tool (func_import): Fix --tests-base.
82947
82948 2005-10-22  Simon Josefsson  <jas@extundo.com>
82949
82950         * modules/arcfour (Depends-on): Need stdint.
82951
82952 2005-10-22  Simon Josefsson  <jas@extundo.com>
82953
82954         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
82955         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
82956
82957 2005-10-22  Simon Josefsson  <jas@extundo.com>
82958
82959         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
82960         suggested by Bruno Haible <bruno@clisp.org>.
82961
82962 2005-10-22  Simon Josefsson  <jas@extundo.com>
82963
82964         * lib/crc.h: Include stddef.h, for size_t.
82965
82966 2005-10-22  Simon Josefsson  <jas@extundo.com>
82967
82968         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
82969         arcfour_context struct (simplify test vector testing in GNU
82970         Shishi).
82971
82972 2005-10-21  Simon Josefsson  <jas@extundo.com>
82973
82974         * modules/des, modules/des-tests: New files.
82975
82976         * modules/gc-des, modules/gc-des-tests: New files.
82977
82978         * tests/test-des.c, tests/test-gc-des.c: New file.
82979
82980 2005-10-21  Simon Josefsson  <jas@extundo.com>
82981
82982         * modules/arctwo, modules/arctwo-tests: New files.
82983
82984         * tests/test-arctwo.c: New file.
82985
82986         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
82987
82988         * tests/test-gc-arctwo.c: New file.
82989
82990 2005-10-21  Simon Josefsson  <jas@extundo.com>
82991
82992         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
82993         Bruno Haible <bruno@clisp.org>.
82994
82995         * m4/gc-des.m4: New file.
82996
82997 2005-10-21  Simon Josefsson  <jas@extundo.com>
82998
82999         * m4/arctwo.m4: New file.
83000
83001         * m4/gc-arctwo.m4: New file.
83002
83003 2005-10-21  Simon Josefsson  <jas@extundo.com>
83004
83005         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
83006         block.
83007
83008 2005-10-21  Simon Josefsson  <jas@extundo.com>
83009
83010         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
83011         <bruno@clisp.org>.
83012
83013         * lib/hmac-sha1.c (hmac_sha1): Likewise.
83014
83015         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
83016         Bruno Haible <bruno@clisp.org>.
83017
83018         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
83019         <bruno@clisp.org>.
83020
83021 2005-10-21  Simon Josefsson  <jas@extundo.com>
83022
83023         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
83024
83025 2005-10-21  Simon Josefsson  <jas@extundo.com>
83026
83027         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
83028
83029 2005-10-21  Simon Josefsson  <jas@extundo.com>
83030
83031         * lib/des.h, lib/des.c: New files.
83032
83033         * lib/gc-gnulib.c: Support DES.c
83034
83035 2005-10-21  Simon Josefsson  <jas@extundo.com>
83036
83037         * lib/arctwo.h, lib/arctwo.c: New files.
83038
83039         * lib/gc-gnulib.c: Support ARCTWO.
83040
83041 2005-10-21  Simon Josefsson  <jas@extundo.com>
83042
83043         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
83044         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83045
83046 2005-10-21  Simon Josefsson  <jas@extundo.com>
83047
83048         * gnulib-tool (func_import, func_create_testdir): Define automake
83049         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
83050         Makefile.am snippet),
83051         suggested by Bruno Haible <bruno@clisp.org>.
83052
83053         * modules/gc (Makefile.am): Use it.
83054
83055 2005-10-21  Bruno Haible  <bruno@clisp.org>
83056
83057         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
83058         patch.
83059
83060 2005-10-19  Simon Josefsson  <jas@extundo.com>
83061
83062         * tests/test-gc-rijndael.c: New file.
83063
83064         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
83065
83066 2005-10-19  Simon Josefsson  <jas@extundo.com>
83067
83068         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
83069         interface too.
83070
83071 2005-10-19  Simon Josefsson  <jas@extundo.com>
83072
83073         * tests/test-gc-arcfour.c: New file.
83074
83075         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
83076
83077 2005-10-19  Simon Josefsson  <jas@extundo.com>
83078
83079         * modules/gc-md4, modules/gc-md4-tests: New file.
83080
83081         * tests/test-gc-md4.c: New file.
83082
83083 2005-10-19  Simon Josefsson  <jas@extundo.com>
83084
83085         * m4/gc-md4.m4: New file.
83086
83087 2005-10-19  Simon Josefsson  <jas@extundo.com>
83088
83089         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
83090         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
83091         <kasal@ucw.cz>.
83092
83093 2005-10-19  Simon Josefsson  <jas@extundo.com>
83094
83095         * m4/gc-arcfour.m4: New file.
83096
83097         * m4/gc-rijndael.m4: New file.
83098
83099 2005-10-19  Simon Josefsson  <jas@extundo.com>
83100
83101         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
83102
83103 2005-10-19  Simon Josefsson  <jas@extundo.com>
83104
83105         * lib/gc-gnulib.c: Support ARCFOUR.
83106
83107 2005-10-19  Simon Josefsson  <jas@extundo.com>
83108
83109         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
83110         support.
83111
83112         * lib/gc.h: Add ECB enum type.
83113
83114         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
83115
83116 2005-10-18  Simon Josefsson  <jas@extundo.com>
83117
83118         * tests/test-md5.c: New file.
83119
83120         * modules/md5-tests: New file.
83121
83122 2005-10-18  Simon Josefsson  <jas@extundo.com>
83123
83124         * tests/test-md4.c: New file.
83125
83126         * modules/md4, modules/md4-tests: New files.
83127
83128 2005-10-18  Simon Josefsson  <jas@extundo.com>
83129
83130         * m4/md4.m4: New file.
83131
83132 2005-10-18  Simon Josefsson  <jas@extundo.com>
83133
83134         * lib/md4.h, lib/md4.c: New files, based on md5.?.
83135
83136 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
83137
83138         * gnulib-tool (func_create_testdir): Omit the second check whether
83139         BUILT_SOURCES in nonempty.
83140
83141 2005-10-17  Simon Josefsson  <jas@extundo.com>
83142
83143         * tests/test-rijndael.c: New file.
83144
83145 2005-10-17  Simon Josefsson  <jas@extundo.com>
83146
83147         * modules/sha1: Depend on stdint instead of md5.
83148
83149         * modules/md5: Depend on stdint, remove uint32_t.
83150
83151 2005-10-17  Simon Josefsson  <jas@extundo.com>
83152
83153         * modules/gc-sha1-tests: New file.
83154
83155         * tests/test-gc-sha1.c: New file.
83156
83157 2005-10-17  Simon Josefsson  <jas@extundo.com>
83158
83159         * m4/md5.m4: Remove call to uint32_t.m4.
83160
83161 2005-10-17  Simon Josefsson  <jas@extundo.com>
83162
83163         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
83164
83165         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
83166         md5.h.
83167
83168         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
83169
83170         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
83171
83172 2005-10-17  Simon Josefsson  <jas@extundo.com>
83173
83174         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
83175
83176 2005-10-17  Simon Josefsson  <jas@extundo.com>
83177
83178         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
83179
83180 2005-10-17  Simon Josefsson  <jas@extundo.com>
83181
83182         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
83183
83184         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
83185
83186 2005-10-17  Bruno Haible  <bruno@clisp.org>
83187
83188         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
83189         that it can also be used in a test.
83190
83191 2005-10-16  Bruno Haible  <bruno@clisp.org>
83192
83193         * gnulib-tool (func_emit_tests_Makefile_am): Also define
83194         TESTS_ENVIRONMENT, so that individual tests can augment it.
83195
83196         * gnulib-tool (func_create_testdir): Use an intermediate target for
83197         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
83198         macros, like $(ALLOCA_H), which cannot be passed through the command
83199         line.
83200
83201 2005-10-15  Simon Josefsson  <jas@extundo.com>
83202
83203         * modules/rijndael-tests: New file.
83204
83205         * modules/rijndael: New file.
83206
83207 2005-10-15  Simon Josefsson  <jas@extundo.com>
83208
83209         * m4/rijndael.m4: New file.
83210
83211 2005-10-15  Simon Josefsson  <jas@extundo.com>
83212
83213         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
83214
83215         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
83216
83217 2005-10-14  Simon Josefsson  <jas@extundo.com>
83218
83219         * tests/test-arcfour.c: New file.
83220
83221         * modules/arcfour, modules/arcfour-tests: New files.
83222
83223 2005-10-14  Simon Josefsson  <jas@extundo.com>
83224
83225         * m4/arcfour.m4: New file.
83226
83227 2005-10-14  Simon Josefsson  <jas@extundo.com>
83228
83229         * lib/arcfour.h, lib/arcfour.c: New files.
83230
83231 2005-10-14  Roland McGrath  <roland@redhat.com>
83232
83233         Import from libc.  [BZ #1331]
83234         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
83235         macro argument.
83236         Reported by Matej Vela <vela@debian.org>.
83237
83238 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83239
83240         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
83241         include <wchar.h>; no longer needed.
83242
83243 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83244
83245         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
83246
83247 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
83248         and  Ulrich Drepper  <drepper@redhat.com>
83249
83250         Import from libc.
83251         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
83252         instead of inline stream orientation test and two separate
83253         function calls.  Pay no attention to USE_IN_LIBIO.
83254
83255 2005-10-13  Simon Josefsson  <jas@extundo.com>
83256
83257         * modules/gc-hmac-md5-tests: New file.
83258
83259         * tests/test-gc-hmac-sha1.c: New file.
83260
83261         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
83262
83263         * modules/gc-hmac-md5-tests: New file.
83264
83265         * tests/test-gc-md5.c: New file.
83266
83267         * modules/gc-md5-tests: New file.
83268
83269 2005-10-13  Simon Josefsson  <jas@extundo.com>
83270
83271         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
83272         Move memory allocation outside of loop.
83273
83274 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
83275
83276         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
83277         intermediate directory is in a read-only file system.  Problem
83278         reported by Eric Blake.
83279
83280 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
83281
83282         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
83283
83284 2005-10-12  Simon Josefsson  <jas@extundo.com>
83285
83286         * tests/test-hmac-sha1.c: New file.
83287
83288         * modules/hmac-sha1-tests: New file.
83289
83290         * modules/hmac-sha1: New file.
83291
83292 2005-10-12  Simon Josefsson  <jas@extundo.com>
83293
83294         * modules/gc-sha1: New file.
83295
83296 2005-10-12  Simon Josefsson  <jas@extundo.com>
83297
83298         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
83299
83300         * tests/test-gc-pbkdf2-sha1.c: New file.
83301
83302 2005-10-12  Simon Josefsson  <jas@extundo.com>
83303
83304         * modules/gc-md5, modules/gc-hmac-md5: New files.
83305
83306         * modules/gc (Files): Remove md5, memxor and hmac files.
83307
83308 2005-10-12  Simon Josefsson  <jas@extundo.com>
83309
83310         * m4/gc-pbkdf2-sha1.m4: New file.
83311
83312         * m4/gc-hmac-sha1.m4: New file.
83313
83314         * m4/gc-sha1: New file.
83315
83316         * m4/hmac-sha1.m4: New file.
83317
83318 2005-10-12  Simon Josefsson  <jas@extundo.com>
83319
83320         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
83321
83322         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
83323
83324 2005-10-12  Simon Josefsson  <jas@extundo.com>
83325
83326         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
83327         suggested by Bruno Haible <bruno@clisp.org>.
83328
83329 2005-10-12  Simon Josefsson  <jas@extundo.com>
83330
83331         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
83332
83333 2005-10-12  Simon Josefsson  <jas@extundo.com>
83334
83335         * lib/gc-pbkdf2-sha1.c: New file.
83336
83337         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
83338
83339 2005-10-12  Simon Josefsson  <jas@extundo.com>
83340
83341         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
83342
83343         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
83344
83345 2005-10-12  Simon Josefsson  <jas@extundo.com>
83346
83347         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
83348         GC_USE_HMAC_MD5, respectively.
83349
83350         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
83351         (gc_md5): Fix typo.
83352
83353         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
83354
83355         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
83356
83357         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
83358
83359 2005-10-12  Bruno Haible  <bruno@clisp.org>
83360
83361         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
83362         Reported by Stepan Kasal <kasal@ucw.cz>.
83363
83364 2005-10-11  Simon Josefsson  <jas@extundo.com>
83365
83366         * tests/test-crc.c: New file.
83367
83368         * modules/crc, modules/crc-tests: New files.
83369
83370 2005-10-11  Simon Josefsson  <jas@extundo.com>
83371
83372         * m4/crc.m4: New file.
83373
83374 2005-10-11  Simon Josefsson  <jas@extundo.com>
83375
83376         * lib/gc.h: Add gc_hash and gc_hash_buffer.
83377
83378         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
83379
83380         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
83381
83382 2005-10-11  Simon Josefsson  <jas@extundo.com>
83383
83384         * lib/crc.h, lib/crc.c: New files.
83385
83386         * lib/gc.h (gc_hash_buffer): Add doc.
83387
83388 2005-10-11  Bruno Haible  <bruno@clisp.org>
83389
83390         * modules/c-strcasestr: New file.
83391         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
83392
83393 2005-10-11  Bruno Haible  <bruno@clisp.org>
83394
83395         * modules/c-strcase: New file.
83396         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
83397
83398 2005-10-11  Bruno Haible  <bruno@clisp.org>
83399
83400         * lib/strcasecmp.c: Include limits.h.
83401         (strcasecmp): Avoid integer overflow on exotic platforms.
83402         * lib/strncasecmp.c: Include limits.h.
83403         (strncasecmp): Avoid integer overflow on exotic platforms.
83404         Reported by Paul Eggert.
83405
83406 2005-10-11  Bruno Haible  <bruno@clisp.org>
83407
83408         * lib/c-strcasestr.h: New file, from GNU gettext.
83409         * lib/c-strcasestr.c: New file, from GNU gettext.
83410
83411 2005-10-11  Bruno Haible  <bruno@clisp.org>
83412
83413         * lib/c-strcase.h: New file, from GNU gettext.
83414         * lib/c-strcasecmp.c: New file, from GNU gettext.
83415         * lib/c-strncasecmp.c: New file, from GNU gettext.
83416
83417 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83418
83419         * modules/mempcpy (License): GPL -> LGPL.
83420         * modules/strchrnul (License): Likewise.
83421         * modules/sysexits (License): Likewise.
83422
83423 2005-10-08  Simon Josefsson  <jas@extundo.com>
83424
83425         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
83426
83427 2005-10-07  Simon Josefsson  <jas@extundo.com>
83428
83429         * m4/memxor.m4: Remove gl_C_RESTRICT call.
83430
83431 2005-10-06  Simon Josefsson  <jas@extundo.com>
83432
83433         * tests/test-hmac-md5.c: New file.
83434
83435         * modules/hmac-md5-tests: New file.
83436
83437         * modules/hmac-md5: New file.
83438
83439 2005-10-06  Simon Josefsson  <jas@extundo.com>
83440
83441         * m4/hmac-md5.m4: New file.
83442
83443         * m4/memxor.m4: Require gl_C_RESTRICT.
83444
83445 2005-10-06  Simon Josefsson  <jas@extundo.com>
83446
83447         * lib/memxor.c (memxor): Avoid casts and warnings.
83448
83449 2005-10-06  Simon Josefsson  <jas@extundo.com>
83450
83451         * lib/hmac-md5.c: New file.
83452
83453         * lib/hmac.h: New file.
83454
83455 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
83456
83457         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
83458         promotes to int, not unsigned int, to catch the AIX 5.3
83459         compiler bug.
83460
83461 2005-10-05  Simon Josefsson  <jas@extundo.com>
83462
83463         * modules/memxor: New file.
83464
83465         * modules/iconv (Files): Move config.rpath to havelib, it is used
83466         there.
83467
83468         * modules/havelib (Files): Add config.rpath.
83469
83470 2005-10-05  Simon Josefsson  <jas@extundo.com>
83471
83472         * m4/memxor.m4: New file.
83473
83474 2005-10-05  Simon Josefsson  <jas@extundo.com>
83475
83476         * lib/memxor.c (memxor): Fix compiler error.
83477
83478         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
83479         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
83480
83481         * lib/memxor.h, lib/memxor.c: New files.
83482
83483         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
83484         we assume all systems have it, suggested by Jim Meyering
83485         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
83486         any systems lack sys/socket.h; mingw32 is known to lack it, but we
83487         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
83488         same reasons.
83489
83490 2005-10-05  Simon Josefsson  <jas@extundo.com>
83491
83492         * config/srclist.txt: Add glibc bug 1423 for md5.h.
83493
83494 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
83495
83496         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
83497         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
83498         needed, since the source code now assumes these .h files.
83499
83500 2005-10-05  Derek Price  <derek@ximbiot.com>
83501
83502         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
83503
83504 2005-10-05  Bruno Haible  <bruno@clisp.org>
83505
83506         * modules/stdint (License): Change to LGPL.
83507
83508 2005-10-04  Simon Josefsson  <jas@extundo.com>
83509
83510         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
83511         D. Baushke" <mdb@gnu.org>.
83512
83513 2005-10-04  Bruno Haible  <bruno@clisp.org>
83514
83515         * lib/verify.h (verify_true): Provide alternative definition for C++.
83516
83517 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
83518
83519         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
83520         (SSIZE_MAX): New macro, if not already defined.
83521         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
83522         than 2 GiB.
83523
83524 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
83525
83526         Sync from coreutils.
83527         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
83528         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
83529         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
83530         ULLONG_MAX doesn't work with 2.7.2.1.
83531
83532 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
83533
83534         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
83535         From Ben Pfaff.
83536
83537         * modules/exclude (Depends-on): Depend on verify.
83538         * modules/strtoimax (Depends-on): Likewise.
83539         * modules/utimecmp (Depends-on): Likewise.
83540
83541 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
83542
83543         * lib/exclude.c: Include verify.h.
83544         (verify): Remove.  All callers changed to use verify.h's version.
83545         * lib/strtoimax.c: Likewise.
83546         * lib/utimecmp.c: Likewis.e
83547
83548         Sync from coreutils.
83549         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
83550         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
83551         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
83552         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
83553         bother returning ENOSYS if settimeofday or stime fails; just let
83554         them return whatever errno they want to return.
83555         * lib/utimens.c: Include unistd.h, for dup2.
83556         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
83557         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
83558
83559 2005-10-02  Jim Meyering  <jim@meyering.net>
83560
83561         Sync from coreutils.
83562         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
83563         from glibc-2.2.5 that fails for read-only files.
83564
83565 2005-10-02  Jim Meyering  <jim@meyering.net>
83566
83567         Sync from coreutils.
83568         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
83569         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
83570         `#if HAVE_CONFIG_H'.
83571         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
83572         Remove AT_FDCWD test.
83573         Do not consume the fd unless successful.
83574         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
83575         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
83576         block, so that we don't even try to compile it if settimeofday is
83577         available.  This works around a compilation failure on OSF1 V5.1,
83578         due to stime requiring a `long int*' while tv_sec is `int'.
83579
83580 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
83581
83582         Sync from coreutils.
83583         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
83584         against `yes', rather than just testing for nonempty.
83585
83586 2005-10-01  Simon Josefsson  <jas@extundo.com>
83587
83588         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
83589         and Darwin.
83590
83591         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
83592         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
83593         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
83594         freeaddrinfo and gai_strerror are declared by the POSIX headers.
83595         Check if struct addrinfo is declared.
83596
83597 2005-10-01  Simon Josefsson  <jas@extundo.com>
83598
83599         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
83600         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
83601         AI_* and EAI_* definitions.  Protect function declarations.
83602
83603 2005-10-01  Jim Meyering  <jim@meyering.net>
83604
83605         Sync from coreutils.
83606
83607         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
83608         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
83609         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
83610         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
83611         in the inet and nsl libraries.  Required on Solaris 5.7.
83612
83613 2005-10-01  Jim Meyering  <jim@meyering.net>
83614
83615         Sync from coreutils.
83616         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
83617         in the inet and nsl libraries.  Required on Solaris 5.7.
83618
83619 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
83620
83621         * lib/getdelim.c (getdelim): Remove unused variables.
83622
83623 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
83624
83625         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
83626         so that the code works even with ancient cpp.  Portability problem
83627         with GCC 2.7.2.1 reported by Thomas M.Ott.
83628
83629 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
83630
83631         * modules/regex (Depends-on): Add strcase.
83632
83633         * modules/gethostname (Licence): Change from GPL to LGPL, since
83634         gethostname.c is a trivial implementation of a standard library
83635         function.
83636         * modules/poll (License): Change from GPL to LGPL, since it's
83637         derived from LGPL code.
83638
83639 2005-09-27  Jim Meyering  <jim@meyering.net>
83640
83641         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
83642         HAVE_CONFIG_H.
83643
83644         * lib/intprops.h (signed_type_or_expr__): Define.
83645         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
83646         for unsigned types.
83647
83648 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
83649
83650         * lib/verify.h (verify_expr): Remove, replacing with:
83651         (verify_true): New macro that returns true instead of void.
83652         (verify_type__): Remove.
83653         (verify): Use verify_true rather than verify_type__.
83654
83655 2005-09-26  Bruno Haible  <bruno@clisp.org>
83656
83657         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
83658         is necessary.
83659         (lib_SOURCES): Remove mbchar.c.
83660         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
83661         (Files): Add m4/mbrtowc.m4.
83662         * modules/mbiter: Likewise.
83663         * modules/mbuiter: Likewise.
83664
83665 2005-09-26  Bruno Haible  <bruno@clisp.org>
83666
83667         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
83668         compile mbchar.c if they are not both present.
83669         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
83670         * m4/mbiter.m4 (gl_MBITER): Likewise.
83671         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
83672         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
83673         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
83674
83675 2005-09-25  Jim Meyering  <jim@meyering.net>
83676
83677         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
83678         also uses socklen_t.
83679
83680 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
83681
83682         * lib/utimens.c (ENOSYS): Define if not already defined.
83683         (futimens): Support having a null PATH if the file descriptor
83684         is nonnegative.
83685
83686         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
83687         Remove.
83688         (__attribute): Define to empty unless GCC 3.1 or later.
83689         This works around a core dump on OpenBSD 3.4, which has GCC
83690         2.95.3, which dumps core when given __attribute__(()).  It also
83691         simplifies other tests, since we really don't want to bother with
83692         worrying about which ancient version of GCC supported what.
83693         Original problem reported by Yoann Vandoorselaere, with part of
83694         the fix suggested by Derek Price.
83695
83696 2005-09-24  Jim Meyering  <jim@meyering.net>
83697
83698         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
83699         so we can once again use a positive bitfield width of 1 -- now we
83700         don't have to explain why we were using a bitfield width of 2.
83701
83702 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
83703
83704         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
83705         and similarly for the other external symbols.  Problem reported
83706         by James Gallager.
83707
83708         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
83709         bug reported by Jim Meyering.
83710
83711         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
83712         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
83713         not needed, since socklen is a prerequisite module.
83714
83715 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
83716
83717         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
83718         Problem reported by Eric Blake.
83719         (getaddrinfo): Initialize se so that it's not garbage.
83720         Redo internal storage allocation so that it doesn't make unportable
83721         assumptions about alignment.
83722         Fix a memory leak.
83723
83724         * lib/utimens.c (futimens): Use futimesat if available.
83725         Prefer it to futimes since it doesn't have the futimes bug.
83726
83727         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
83728         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
83729         Instead, declare a function that returns a pointer to an array,
83730         and use verify_type__ to declare the size of the array.
83731         Problem and germ of a solution reported by Bruno Haible.
83732         (verify_type__): Use 2, not 1, for bitfield size, to avoid
83733         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
83734
83735 2005-09-23  Jim Meyering  <jim@meyering.net>
83736
83737         Sync from coreutils.
83738         Correct build failure (socklen_t not defined) on at least
83739         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
83740         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
83741
83742 2005-09-23  Jim Meyering  <jim@meyering.net>
83743
83744         * modules/getaddrinfo (Depends-on): Add socklen.
83745
83746 2005-09-23  Bruno Haible  <bruno@clisp.org>
83747
83748         * tests/test-verify.c: New file.
83749
83750 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
83751
83752         Sync from coreutils.
83753
83754         * modules/argmatch (Depends-on): Add verify.
83755         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
83756         unistd-safer.
83757         * modules/save-cwd (Depends-on): Likewise.
83758
83759         * modules/openat (Files): Add lib/openat-die.c.
83760         (Depends-on): Remove error, exitfail.
83761         Add dirname.
83762
83763         * modules/verify: New file.
83764         * MODULES.html.sh (Diagnostics <assert.h>): New section,
83765         with "verify" module.
83766
83767 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
83768
83769         Sync from coreutils.
83770
83771         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
83772         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
83773         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
83774         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
83775         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
83776         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
83777         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
83778         Don't bother checking for string.h, stdlib.h, unistd.h.
83779         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
83780         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
83781         module's job.
83782         * m4/jm-macros.m4 (gl_MACROS): Likewise.
83783         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
83784
83785         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
83786         (gl_GETDATE): Use it.
83787
83788         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
83789
83790 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
83791
83792         Sync from coreutils.
83793
83794         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
83795         stat-time.h.
83796         * lib/argmatch.h: Include verify.h
83797         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
83798         (ARGMATCH_ASSERT): Remove; unused.
83799         * lib/canonicalize.c: Assume STDC_HEADERS.
83800         * lib/exclude.c: Include "strcase.h".
83801         * lib/regex_internal.h [!defined _LIBC]: Likewise.
83802         * lib/getusershell.c: Include stdio--.h rather than stdio.h
83803         and stdio-safer.h.
83804         (getusershell): Call fopen, not fopen_safer.
83805         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
83806         Do not include unistd-safer.h.
83807         (save_cwd): Don't call fd_safer; no longer needed
83808         now that we include fcntl--.h.
83809
83810         * lib/getdate.y (relative_time): New type.
83811         (RELATIVE_TIME_0): New constant.
83812         (parser_control): Use relative_time instead of doing it ourselves.
83813         (%union): Add new relative_time rel member.
83814         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
83815         Now typeless.
83816         (relunit, relunit_snumber): Now of type rel.
83817         (zone, rel, relunit, get_date): Adjust to above changes.
83818
83819         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
83820         Do not include unistd-safer.h.
83821         (getloadavg): Don't call fd_safer; no longer needed
83822         now that we include fcntl--.h.
83823
83824         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
83825         (make_dir_parents): Treat ENOSYS like EEXIST.
83826
83827         Improve quality of diagnostics on restore_cwd failure.
83828         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
83829         (make_dir_parents): Last arg is now int * (for errno), not bool *.
83830         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
83831         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
83832         each time through the loop.  Do not diagnose restore_cwd failure;
83833         that is the caller's job (and perhaps the caller does not care).
83834
83835         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
83836         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
83837         If the file already exists but is not a directory, don't bother
83838         to try to make its parents.
83839         Close potential file descriptor leak if we can't chdir("/") (!).
83840         Don't always return true if chdir($PWD) fails; return true only
83841         if the requested action was done successfully (except for the
83842         chdir($PWD)).
83843         Don't log final directory unless we actually made it.
83844         Refactor to avoid duplicate code to fix up permissions.
83845         Don't attempt to fix up parent permissions if chdir($PWD) fails.
83846
83847         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
83848         to make it a bit faster and (I hope) clearer.
83849         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
83850         Fix bug in formats like %2N.
83851
83852         * lib/verify.h: New file.
83853
83854 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
83855
83856         Sync from coreutils.
83857         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
83858
83859 2005-09-22  Jim Meyering  <jim@meyering.net>
83860
83861         Sync from coreutils.
83862
83863         * m4/lstat.m4 (gl_FUNC_LSTAT):
83864         Use AC_LIBSOURCES to require lstat.c and lstat.h.
83865         Remove obsolete comment.
83866         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
83867         * m4/xstrtod.m4: Likewise.
83868
83869         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
83870
83871 2005-09-22  Jim Meyering  <jim@meyering.net>
83872
83873         Sync from coreutils.
83874
83875         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
83876
83877         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
83878         the .tm_year member, since otherwise gcc-4.0 would now warn about
83879         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
83880
83881         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
83882         order to avoid an unsuppressible warning from gcc on 64-bit systems.
83883
83884         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
83885         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
83886         when run in a time zone for which daylight savings time is in effect
83887         for the starting date.
83888
83889         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
83890         stop us from restricting permissions of just-created absolute-named
83891         directories.
83892         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
83893         to restore initial working directory.
83894         * lib/mkdir-p.c (make_dir_parents): New parameter:
83895         different_working_dir, to tell caller if/when we change the working
83896         directory and are unable to return to the initial one.
83897         * lib/mkdir-p.h (make_dir_parents): Update prototype.
83898         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
83899         `return false'.  This fixes a bug introduced on 2004-07-30.
83900
83901         * lib/openat.c (fdopendir): Be sure to close the supplied
83902         file descriptor before returning.  This makes our replacement
83903         implementation a little closer to Solaris's, where fdopendir
83904         ties the file descriptor to the returned DIR* pointer.
83905         * lib/openat.c (unlinkat): New function.
83906         * lib/openat.h (unlinkat): Add prototype.
83907         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
83908         (openat_restore_fail): Rename from openat_restore_die.
83909         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
83910
83911         Provide an alternative to exiting immediately upon save_cwd or
83912         restore_cwd failure.  Now, an application can arrange e.g.,
83913         to perform a longjump in that case.
83914         * lib/openat.c: Include dirname.h.
83915         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
83916         (rpl_openat, fdopendir, fstatat): Call openat_save_die
83917         and openat_restore_die rather than calling error directly.
83918         Don't include "error.h" or "exitfail.h"; they're no longer needed.
83919
83920         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
83921         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
83922         define.
83923
83924         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
83925         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
83926                             int utc, int nanoseconds);
83927         Background:
83928         date should not have to allocate a megabyte of virtual memory to
83929         handle a format argument like +%1048575T.  When implemented with
83930         strftime, it must allocate such a buffer, use strftime to fill it
83931         in, print it, then free it.
83932         With fprintftime, it simply prints everything and exits.
83933         With no need for memory allocation, that's one fewer way to fail.
83934         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
83935         optional field width, not before, so we accept %9:z, not %:9z.
83936         (my_strftime): Be sure to use L_('x') for literals.
83937
83938         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
83939         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
83940         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
83941         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
83942         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
83943         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
83944         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
83945         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
83946         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
83947         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
83948         * lib/xgethostname.c, lib/xreadlink.c:
83949         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
83950
83951         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
83952         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
83953         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
83954         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
83955         and don't include <sys/file.h>).
83956
83957 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
83958
83959         Sync from coreutils.
83960
83961         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
83962         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
83963         [!LDAV_DONE]: Avoid unused variable warning.
83964
83965 2005-09-21  Bruno Haible  <bruno@clisp.org>
83966
83967         * lib/unicodeio.h (unicode_to_mb): New declaration.
83968
83969 2005-09-20  Derek Price  <derek@ximbiot.com>
83970
83971         * lib/getaddrinfo.c: Don't include <netdb.h> included from
83972         getaddrinfo.h.
83973
83974 2005-09-20  Bruno Haible  <bruno@clisp.org>
83975
83976         * gnulib-tool: Remove trailing slashes from the values specified for
83977         --source-base, --m4-base, --tests-base, --aux-dir.
83978         Suggested by Simon Josefsson <jas@extundo.com>.
83979
83980 2005-09-20  Bruno Haible  <bruno@clisp.org>
83981
83982         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
83983         func_modules_to_filelist, func_import, func_create_testdir): Make all
83984         sorting results locale-independent, so that gnulib-cache.m4 doesn't
83985         change when gnulib-tool is invoked in a different locale.
83986
83987 2005-09-19  Simon Josefsson  <jas@extundo.com>
83988
83989         * m4/socklen.m4: Fix typo.
83990
83991 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83992
83993         Use a consistent style for including <config.h>.
83994         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
83995         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
83996         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
83997         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
83998         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
83999         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
84000         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
84001         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
84002         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
84003         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
84004         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
84005         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
84006         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
84007         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
84008         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
84009         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
84010         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
84011         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
84012         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
84013         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
84014         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
84015         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
84016         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
84017         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
84018         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
84019         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
84020         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
84021         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
84022         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
84023         lib/xstrtoumax.c, lib/yesno.c:
84024         Standardize inclusion of config.h.
84025         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
84026         lib/inttostr.h:  Removed inclusion of config.h from header files.
84027         * lib/inttostr.c:  Adjusted in-tree users.
84028         * lib/timespec.h: Remove superfluous warning to include config.h.
84029         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
84030         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
84031         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
84032         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
84033         config.h with HAVE_CONFIG_H.
84034
84035 2005-09-19  Jim Meyering  <jim@meyering.net>
84036
84037         * modules/pathmax (License): Change to LGPL.
84038
84039 2005-09-19  Derek Price  <derek@ximbiot.com>
84040
84041         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
84042
84043 2005-09-19  Bruno Haible  <bruno@clisp.org>
84044
84045         * gnulib-tool (import): Provide default for --tests-base.
84046
84047 2005-09-19  Bruno Haible  <bruno@clisp.org>
84048
84049         * doc/quote.texi: New file, extracted from gnulib.texi.
84050         * doc/ctime.texi: New file, extracted from gnulib.texi.
84051         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
84052         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
84053         * doc/gnulib.texi: Include them.
84054
84055 2005-09-18  Bruno Haible  <bruno@clisp.org>
84056
84057         Portability fix.
84058         * gnulib-tool (func_readlink): New function.
84059         (func_ln_if_changed): Use it.
84060
84061 2005-09-18  Bruno Haible  <bruno@clisp.org>
84062
84063         * gnulib-tool: Support --with-tests also with --import.
84064         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
84065         (func_import): Use variables $testsbase and $inctests. Emit a
84066         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
84067         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
84068         SUBDIRS += $testsdir.
84069         (func_create_testdir): Update.
84070
84071 2005-09-18  Bruno Haible  <bruno@clisp.org>
84072
84073         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
84074         instead of $dry_run.
84075         (func_cp_if_changed, func_mv_if_changed): Remove functions.
84076         (func_ln_if_changed): Don't handle dry-run here.
84077         (func_import): In dry-run mode, detect more precisely which actions
84078         would be performed, and don't use "...ing" verbs.
84079
84080 2005-09-18  Bruno Haible  <bruno@clisp.org>
84081
84082         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
84083         (func_import): Use join on two temporary files instead of three nested
84084         loops, in order to determine which files are new or old.
84085
84086 2005-09-18  Bruno Haible  <bruno@clisp.org>
84087
84088         * gnulib-tool (func_import): Comment out code that spits out the
84089         new files with --dry-run.
84090
84091 2005-09-18  Bruno Haible  <bruno@clisp.org>
84092
84093         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
84094
84095 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84096
84097         * lib/stat-time.h: New file.
84098         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
84099         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
84100         in a different way.
84101         (timespec_cmp): New function.
84102         * lib/utimecmp.c: Include stat-time.h.
84103         (SYSCALL_RESOLUTION): Depend on whether various struct stat
84104         members exist, not on the obsolescent ST_MTIM_NSEC.
84105         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
84106
84107 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84108
84109         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
84110
84111 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84112
84113         * MODULES.html.sh (File system functions): Add stat-time.
84114         * modules/stat-time: New file.
84115         * modules/timespec (Files): Remove m4/st_mtim.m4; this
84116         is now done in a different way, by the stat-time module.
84117         * modules/utimecmp (Depends-on): Add stat-time.
84118
84119 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
84120
84121         * m4/st_mtim.m4: Remove.  Superseded by...
84122         * m4/stat-time.m4: New file.
84123         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
84124         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
84125
84126 2005-09-15  Derek Price  <derek@ximbiot.com>
84127
84128         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
84129
84130 2005-09-15  Derek Price  <derek@ximbiot.com>
84131
84132         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
84133         * lib/regex_internal.c: Ditto, using this...
84134         (__GNUC_PREREQ): ...new macro.
84135         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
84136         using...
84137         (__GNUC_PREREQ): ...this new macro.
84138
84139         * lib/strstr.h: Include string.h. Define strstr as a macro here.
84140
84141 2005-09-15  Derek Price  <derek@ximbiot.com>
84142             Paul Eggert  <eggert@cs.ucla.edu>
84143
84144         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
84145         changes, consolidating in...
84146         * lib/regex_internal.h: ...this file.
84147
84148 2005-09-13  Jim Meyering  <jim@meyering.net>
84149
84150         * lib/canon-host.c: Filter through gnu indent and reword comments
84151         slightly.
84152         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
84153
84154 2005-09-13  Derek Price  <derek@ximbiot.com>
84155
84156         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
84157         failure.
84158         Reported by Jim Meyering  <jim@meyering.net>.
84159
84160 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
84161
84162         * lib/base64.c: Typo.
84163         (base64_encode): Put b64str in initialized data section.
84164
84165 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
84166
84167         Merge glibc and coreutils changes into gnulib, plus a few
84168         extra fixes.
84169         * lib/md5.c: Use #error rather than a string.
84170         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
84171         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
84172         (__attribute__): Define to empty for non recent-GCC.
84173         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
84174         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
84175         Renamed from their non-__ counterparts, with new macros replacing
84176         them if not _LIBC.  Add __THROW attribute.
84177         (rol): Remove.
84178         (struct md5_ctx): Align buffer if using GCC.
84179         * lib/sha1.h (struct sha1_ctx): Likewise.
84180         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
84181         The old name was backwards.
84182         (NOTSWAP): Remove; not used.
84183         (rol): New macro, moved here from md5.h.
84184         (sha1_process_block): Remove a FIXME that doesn't make sense.
84185
84186 2005-09-12  Derek Price  <derek@ximbiot.com>
84187
84188         Return usable errors from canon-host.
84189         * lib/canon-host.h: New file.
84190         * lib/canon-host.c (canon_host): Wrap...
84191         (canon_host_r): ...this new function, which now relies exclusively on
84192         getaddrinfo.
84193         (ch_strerror): New function.
84194         (last_cherror): New global.
84195         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
84196         interface.
84197         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
84198         void *.
84199         (freeaddrinfo): Free ai->ai_canonname when set.
84200
84201 2005-09-12  Derek Price  <derek@ximbiot.com>
84202
84203         Make canon-host require getaddrinfo.
84204         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
84205         AC_LIBSOURCE canon-host.h.  Call...
84206         (gl_PREREQ_CANON_HOST): ...this new function, which requires
84207         gl_GETADDRINFO.
84208         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
84209
84210 2005-09-12  Derek Price  <derek@ximbiot.com>
84211
84212         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
84213         LGPL.
84214         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
84215
84216 2005-09-12  Derek Price  <derek@ximbiot.com>
84217
84218         * lib/gai_strerror.c: Include config.h when available.  Include
84219         getaddrinfo.h before other headers to test interface.
84220         Reported by Larry Jones <lawrence.jones@ugs.com>.
84221
84222 2005-09-12  Derek Price  <derek@ximbiot.com>
84223             Paul Eggert  <eggert@cs.ucla.edu>
84224
84225         * modules/glob (Files): Add glob-libc.h.
84226
84227 2005-09-12  Derek Price  <derek@ximbiot.com>
84228             Paul Eggert  <eggert@cs.ucla.edu>
84229
84230         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
84231         glob_.h, glob-libc.h.
84232         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
84233
84234 2005-09-12  Derek Price  <derek@ximbiot.com>
84235             Paul Eggert  <eggert@cs.ucla.edu>
84236
84237         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
84238         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
84239         protecting things that should be done only in gnulib contexts.
84240         * lib/glob_.h: New file, containing only the glob things needed for
84241         gnulib.
84242         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
84243         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
84244         (glob, globfree, glob_pattern_p): Now defined simply in terms of
84245         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
84246         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
84247         and to respect the namespace rules better.
84248
84249 2005-09-08  Simon Josefsson  <jas@extundo.com>
84250
84251         * modules/socklen: New file.
84252
84253 2005-09-08  Simon Josefsson  <jas@extundo.com>
84254
84255         * m4/socklen.m4: New file.
84256
84257 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84258
84259         * modules/utimens (Files): Add m4/utimbuf.m4, since
84260         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
84261         Reported by Sergey Poznyakoff.
84262
84263 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84264
84265         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
84266         definitions, since that's the preferred style in glibc.
84267         Fix a minor spacing issue, and update copyright notice to match
84268         glibc's.
84269
84270 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84271
84272         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
84273
84274 2005-09-06  Simon Josefsson  <jas@extundo.com>
84275
84276         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
84277         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
84278
84279 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84280
84281         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
84282         warning.
84283
84284 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84285
84286         * config/srclist.txt: Add glibc bug 1302.
84287
84288 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
84289
84290         Change bitset word type from unsigned int to unsigned long int,
84291         as this has better performance on typical 64-bit hosts.
84292         Port bitset code to hosts with unusual word sizes.
84293         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
84294         (build_collating_symbol):
84295         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
84296         argument is a bitset.  This is merely a style issue, but it makes
84297         it clearer that an entire array is expected.
84298         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
84299         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
84300         Port to the case where bitset_word is not the same as unsigned int.
84301         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84302         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
84303         Likewise.
84304         * lib/regexec.c (check_dst_limits_calc_pos_1,
84305         check_subexp_matching_top):
84306         (build_trtable, group_nodes_into_DFAstates):
84307         Likewise.
84308         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
84309         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
84310         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
84311         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
84312         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
84313         * lib/regcomp.c (optimize_subexps, lower_subexp):
84314         Work even if bitset_word has holes in its bitwise representation.
84315         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
84316         * lib/regexec.c (check_dst_limits_calc_pos_1,
84317         check_subexp_matching_top):
84318         Likewise.
84319         * lib/regex_internal.c (re_string_reconstruct):
84320         Don't assume UCHAR_MAX == 255.
84321         * lib/regex_internal.h (bitset_set_all): Likewise.
84322         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
84323         All uses changed.
84324         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
84325         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
84326         All uses changed.
84327         (BITSET_WORD_MAX): New macro.
84328         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
84329         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
84330         (bitset_empty, bitset_copy):
84331         Prefer sizeof (bitset) to multiplying it out ourselves.
84332         (bitset_not_merge): Remove; unused.
84333         (bitset_contain): Return bool, not unsigned int with one bit on.
84334         All callers changed.
84335         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
84336         alignment than re_node_set; do this by defining a new internal
84337         type struct dests_alloc and using it to allocate memory.
84338
84339 2005-09-05  Bruno Haible  <bruno@clisp.org>
84340
84341         * gnulib-tool (func_import): Fix comparison in handling of symbolic
84342         links.
84343
84344 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
84345
84346         * modules/size_max (Makefile.am): Add size_max.h
84347
84348 2005-09-04  Derek Price  <derek@ximbiot.com>
84349
84350         * gnulib-tool (func_import): Fix reversed $symbolic logic.
84351
84352 2005-09-03  Simon Josefsson  <jas@extundo.com>
84353
84354         * gnulib-tool: Fix typo.
84355
84356 2005-09-03  Simon Josefsson  <jas@extundo.com>
84357
84358         * config/srclist.txt: Add glibc bug 1293.
84359
84360 2005-09-03  Derek Price  <derek@ximbiot.com>
84361
84362         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
84363         From Larry Jones <lawrence.jones@ugs.com>.
84364
84365 2005-09-02  Simon Josefsson  <jas@extundo.com>
84366
84367         * modules/socklen: New file.
84368
84369 2005-09-02  Simon Josefsson  <jas@extundo.com>
84370
84371         * modules/havelib: New module.
84372
84373         * modules/gettext, modules/iconv, modules/lock, modules/readline:
84374         Use havelib.
84375
84376 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84377
84378         Check for arithmetic overflow when calculating sizes, to prevent
84379         some buffer-overflow issues.  These patches are conservative, in the
84380         sense that when I couldn't determine whether an overflow was possible,
84381         I inserted a run-time check.
84382         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
84383         macros.
84384         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
84385         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
84386         (re_xnrealloc, re_x2nrealloc): New inline functions.
84387         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
84388         parse_bracket_exp):
84389         (build_equiv_class, build_charclass): Check for arithmetic overflow
84390         in size expression calculations.
84391         * lib/regex_internal.c (re_string_realloc_buffers):
84392         (build_wcs_upper_buffer, re_node_set_add_intersect):
84393         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
84394         (re_dfa_add_node, register_state): Likewise.
84395         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
84396         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
84397         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
84398         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
84399
84400 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84401
84402         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84403         m4/ulonglong.m4.  Problem reported by Martin Lambers.
84404
84405 2005-09-02  Bruno Haible  <bruno@clisp.org>
84406
84407         Support for lib vs. lib64 distinction on biarch platforms.
84408         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
84409         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
84410         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
84411
84412 2005-09-02  Bruno Haible  <bruno@clisp.org>
84413
84414         * gnulib-tool (import): In the other first-use case, provide defaults
84415         as well.
84416
84417 2005-09-02  Bruno Haible  <bruno@clisp.org>
84418
84419         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
84420         patches not yet found in the latest gettext release.
84421
84422 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
84423
84424         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
84425         to avoid a collision with bits/local_lim.h in glibc.
84426         All uses changed.  Problem reported by Dmitry V. Levin in
84427         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
84428
84429         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
84430         bugs in int versus size_t comparisons.
84431         (re_string_context_at): Fix bug where the code assumed that
84432         Idx is signed.
84433
84434         Use bool where appropriate.
84435         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
84436         All callers changed.
84437         (calc_eclosure_iter): Likewise, for ROOT arg.
84438         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
84439         (build_charclass_op): Likewise, for NON_MATCH arg.
84440         * lib/regex_internal.c (re_string_allocate, re_string_construct):
84441         (re_string_construct_common): Likewise, for ICASE arg.
84442         * lib/regexec.c (re_search_2_stub, re_search_stub):
84443         Likewise, for RET_LEN arg.
84444         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
84445         (set_regs): Likewise, for FL_BACKTRACK arg.
84446         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
84447         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
84448         (calc_eclosure_iter, parse_bracket_exp):
84449         Use bool for internal variables that are booleans.
84450         * lib/regexec.c (re_search_internal, check_matching,
84451         proceed_next_node):
84452         (set_regs, build_sifted_states, sift_states_bkref):
84453         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
84454         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
84455         (find_collation_sequence_value):
84456         Likewise.
84457         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
84458         (re_node_set_compare):
84459         Return bool, not int. All callers changed.
84460         * lib/regexec.c (check_halt_node_context, check_dst_limits):
84461         (build_trtable, check_node_accept): Likewise.
84462         * lib/regex_internal.h: Include stdbool.h.
84463
84464         Fix bugs uncovered when converting to bool.
84465         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
84466         failure instead of charging ahead blindly.
84467         * lib/regex_internal.c (register_state): Likewise.
84468         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
84469         for freeing internal storage.
84470         (group_nodes_into_DFA_states): Use unsigned int, not int, for
84471         bitset pieces used as boolean, to avoid undefined behavior
84472         on hosts that do int overflow checking.
84473
84474 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
84475
84476         * config/srclist.txt: Add glibc bugs 1285-1287.
84477
84478 2005-09-01  Jim Meyering  <jim@meyering.net>
84479
84480         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
84481         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
84482         Require gl_STAT_MACROS, too.
84483
84484 2005-09-01  Bruno Haible  <bruno@clisp.org>
84485
84486         * gnulib-tool (import): In the first-use case, provide defaults.
84487
84488 2005-09-01  Bruno Haible  <bruno@clisp.org>
84489
84490         * gnulib-tool (func_import): Remove the .tmp files.
84491
84492 2005-09-01  Bruno Haible  <bruno@clisp.org>
84493
84494         * gnulib-tool (func_import): Fix handling of symbolic links.
84495
84496 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84497
84498         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
84499         old glibc regex code mishandles strings longer than 2**31 bytes.
84500         This patch fixes this when the regex code is used in gnulib
84501         (i.e., outside glibc).
84502
84503         This patch should not affect the use of the regex code inside
84504         glibc.  No doubt this problem also needs to be handled for glibc
84505         as well, but the result will be an incompatible change to the
84506         glibc ABI, and the old ABI will have to be supported too.  That
84507         can be the the subject for another patch.
84508
84509         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
84510         governing whether the rest of this patch is active.  By default,
84511         the macro is disabled and the patch has no effect.
84512         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
84513         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
84514         (struct re_pattern_buffer, re_search, re_search_2, re_match):
84515         (re_match_2, re_set_registers): Use the new types.
84516         * lib/regex_internal.h (Idx, re_hashval_t): New types.
84517         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
84518         New macros.
84519         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
84520         (re_string_context_at, bin_tree_t, re_dfastate_t):
84521         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
84522         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
84523         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
84524         (re_string_char_size_at, re_string_wchar_at):
84525         (re_string_elem_size_at):
84526         Use the new types and macros to port to 64-bit hosts.
84527         Use unsigned types for internal values, so that the code
84528         mostly works even for arrays larger than SSIZE_MAX.
84529         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
84530         (search_duplicated_node, calc_eclosure_iter, fetch_number):
84531         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
84532         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
84533         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
84534         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
84535         (calc_inveclosure, parse_dup_op, build_range_exp):
84536         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
84537         (fetch_number, create_token_tree, mark_opt_subexp):
84538         Likewise.
84539         * lib/regex_internal.c (re_string_construct_common,
84540         create_ci_newstate):
84541         (create_cd_newstate, re_string_allocate, re_string_construct):
84542         (re_string_realloc_buffers, build_wcs_upper_buffer):
84543         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
84544         (re_string_reconstruct, re_string_peek_byte_case):
84545         (re_string_fetch_byte_case, re_string_context_at):
84546         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
84547         (re_node_set_init_copy, re_node_set_add_intersect):
84548         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
84549         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
84550         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
84551         (re_acquire_state, re_acquire_state_context, register_state):
84552         Likewise.
84553         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
84554         search_cur_bkref_entry):
84555         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
84556         (re_search_internal, re_search_2_stub, re_search_stub)
84557         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
84558         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
84559         (update_cur_sifted_state, check_dst_limits):
84560         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
84561         (check_subexp_limits, sift_states_bkref, merge_state_array):
84562         (check_subexp_matching_top, get_subexp, get_subexp_sub):
84563         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
84564         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
84565         (expand_bkref_cache, check_node_accept_bytes):
84566         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
84567         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
84568         (acquire_init_state_context, check_halt_node_context):
84569         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
84570         (sift_states_backward, clean_state_log_if_needed):
84571         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
84572         (find_recover_state, transit_state_sb, transit_state_mb):
84573         (transit_state_bkref, build_trtable, match_ctx_clean):
84574         Likewise.
84575         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
84576         to work around an assumption that REG_MISSING is negative.
84577
84578         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
84579         (seek_collating_symbol_entry) [defined _LIBC]:
84580         (lookup_collation_sequence_value) [defined _LIBC]:
84581         (build_range_exp, build_collating_symbol) [defined _LIBC]:
84582         Use prototypes rather than old-style function definitions.
84583         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
84584         (transit_state_sb) [0]:
84585         (find_collation_sequence_value) [defined _LIBC]: Likewise.
84586
84587         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
84588         rm_eo.
84589
84590         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
84591         (optimize_subexps, lower_subexp):
84592         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
84593         since the signed shift might overflow.  Use 1u<<31 instead.
84594         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84595         Likewise.
84596         * lib/regexec.c (check_dst_limits_calc_pos_1,
84597         check_subexp_matching_top): Likewise.
84598
84599         * lib/regcomp.c (optimize_subexps, lower_subexp):
84600         Use CHAR_BIT rather than 8, for clarity.
84601         * lib/regexec.c (check_dst_limits_calc_pos_1):
84602         (check_subexp_matching_top): Likewise.
84603         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
84604         have to worry about portability issues when shifting it left.
84605         Remove no-longer-needed test for table_size > 0.
84606         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
84607         in a word, as the resulting behavior is undefined.
84608         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
84609         in one case, a <= should have been an <, and in another case the
84610         whole test was missing.
84611         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
84612         the standard name CHAR_BIT.
84613         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
84614         this is not true on one's complement and signed-magnitude hosts.
84615
84616         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
84617         next_last_offset.
84618         (struct re_dfa_t): Remove unused member states_alloc.
84619         * lib/regcomp.c (init_dfa): Don't initialize unused members.
84620
84621 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84622
84623         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
84624         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
84625         and large-file glibc and in 32-bit large-file Solaris.
84626
84627 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84628
84629         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
84630         lengths fit in regoff_t; this isn't true if regoff_t is the same
84631         width as size_t.
84632         * lib/regex.c (re_search_internal): 5th arg is LAST_START
84633         (= START + RANGE) instead of RANGE.  This avoids overflow
84634         problems when regoff_t is the same width as size_t.
84635         All callers changed.
84636         (re_search_2_stub): Check for overflow when adding the
84637         sizes of the two strings.
84638         (re_search_stub): Check for overflow when adding START
84639         to RANGE; if it occurs, substitute the extreme value.
84640
84641 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84642
84643         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
84644
84645 2005-08-31  Jim Meyering  <jim@meyering.net>
84646
84647         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
84648         a pointer-to-const.
84649         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
84650         (register_state): Likewise.
84651         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
84652         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
84653         (group_nodes_into_DFAstates): Likewise.
84654
84655 2005-08-31  Jim Meyering  <jim@meyering.net>
84656
84657         * check-module: Add a FIXME comment.
84658
84659 2005-08-31  Eric Blake  <ebb9@byu.net>
84660
84661         * modules/unistd-safer (Files): Add unistd--.h.
84662         * modules/stdio-safer (Files): Add stdio--.h.
84663
84664 2005-08-31  Derek Price  <derek@ximbiot.com>
84665
84666         * lib/getdelim.c (getdelim): Return EOF on EOF.
84667         Reported by Larry Jones <lawrence.jones@ugs.com>.
84668
84669 2005-08-31  Bruno Haible  <bruno@clisp.org>
84670
84671         Avoid unnecessary diffs in the generated lib/Makefile.am.
84672         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
84673         the generated files.
84674         (func_import): Don't set cmd.
84675
84676 2005-08-31  Bruno Haible  <bruno@clisp.org>
84677
84678         * lib/strstr.c: Include <stddef.h>, for NULL.
84679         * lib/strcasestr.c: Likewise.
84680         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
84681
84682 2005-08-31  Bruno Haible  <bruno@clisp.org>
84683
84684         * gnulib-tool: New option --macro-prefix.
84685         (func_import): Use macro_prefix.
84686         (import): Handle option --macro-prefix.
84687
84688 2005-08-31  Bruno Haible  <bruno@clisp.org>
84689
84690         * gnulib-tool (import): Rename most ac_* variables to cached_*.
84691         Also use new variables cached_lgpl, cached_libtool.
84692
84693 2005-08-31  Bruno Haible  <bruno@clisp.org>
84694
84695         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
84696         always instantiating them.
84697
84698 2005-08-31  Bruno Haible  <bruno@clisp.org>
84699
84700         * gnulib-tool (func_import): Read the previous cached settings
84701         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
84702         earlier added by gnulib but are now dropped. Warn when a gnulib file
84703         overwrites a non-gnulib file.
84704
84705 2005-08-31  Bruno Haible  <bruno@clisp.org>
84706
84707         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
84708         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
84709         projects that don't keep autogenerated files in CVS. Put into
84710         actioncmd only the specified modules, not the transitive closure.
84711
84712 2005-08-31  Bruno Haible  <bruno@clisp.org>
84713
84714         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
84715         Create directories that shall be filled.
84716         (import): Don't look for gl_* macros in configure.ac. Recurse across
84717         all directories containing a gnulib-cache.m4 files, if meaningful.
84718
84719 2005-08-31  Bruno Haible  <bruno@clisp.org>
84720
84721         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
84722         (import): Set seen_libtool when we see gl_LIBTOOL.
84723
84724 2005-08-31  Bruno Haible  <bruno@clisp.org>
84725
84726         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
84727         declaration macro definitions from generated gnulib.m4.
84728
84729 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
84730
84731         * lib/iconvme.h: Add prototype for iconv_alloc.
84732
84733 2005-08-29  Simon Josefsson  <jas@extundo.com>
84734
84735         * lib/iconvme.c: Fix errno.
84736
84737 2005-08-29  Bruno Haible  <bruno@clisp.org>
84738
84739         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
84740         that it works when the directory contains spaces.
84741
84742 2005-08-29  Bruno Haible  <bruno@clisp.org>
84743
84744         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
84745
84746 2005-08-29  Bruno Haible  <bruno@clisp.org>
84747
84748         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
84749         Emit more advice.
84750
84751 2005-08-29  Bruno Haible  <bruno@clisp.org>
84752         and Stepan Kasal  <kasal@ucw.cz>
84753
84754         * check-module: If more parameters are given, check each of them
84755         separately; add more exceptions, as noted by Jim Meyering.
84756         (check_module): New procedure.
84757         (%exempt_header): Now contains all exceptions.
84758
84759 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
84760
84761         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
84762
84763 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
84764
84765         * lib/iconvme.c: Split iconv_string into iconv_alloc.
84766
84767 2005-08-28  Bruno Haible  <bruno@clisp.org>
84768
84769         * m4/gnulib-tool.m4: New file.
84770
84771 2005-08-27  Jim Meyering  <jim@meyering.net>
84772
84773         * modules/unistd-safer (Files): Add pipe-safer.c.
84774         * modules/fcntl-safer (Files): Add creat-safer.c.
84775
84776 2005-08-27  Jim Meyering  <jim@meyering.net>
84777
84778         * m4/stdlib-safer.m4: New file.  From coreutils.
84779         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
84780         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
84781         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
84782         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
84783         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
84784
84785 2005-08-27  Jim Meyering  <jim@meyering.net>
84786
84787         * lib/fopen-safer.c: Merge minor changes from coreutils.
84788         * lib/dup-safer.c: Likewise.
84789         * lib/fd-safer.c: Likewise.
84790
84791         Merge from coreutils.
84792         * lib/stdio--.h: New file.
84793         * lib/stdlib--.h: New file.
84794         * lib/mkstemp-safer.c: New file.
84795
84796         GNU tar needs these.
84797         * lib/pipe-safer.c: New file.
84798         * lib/creat-safer.c: New file.
84799         * lib/fcntl--.h (creat): Define to creat_safer.
84800         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
84801         * lib/unistd--.h (pipe): Define to pipe_safer.
84802         * lib/unistd-safer.h: Declare pipe_safer.
84803
84804 2005-08-26  Simon Josefsson  <jas@extundo.com>
84805
84806         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
84807         Haible <bruno@clisp.org>.
84808
84809 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
84810
84811         * lib/regex_internal.h: Remove all references to
84812         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
84813         or better.
84814         (bitset_not, bitset_merge, bitset_not_merge):
84815         (bitset_mask, re_string_allocate, re_string_construct):
84816         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
84817         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
84818         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
84819         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
84820         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
84821         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
84822         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
84823         (re_acquire_state_context):
84824         Remove unnecessary forward decls.
84825         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
84826         Put __attribute at function definition,
84827         now that the function decl has been removed.
84828         * lib/regex_internal.c (re_string_peek_byte_case):
84829         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
84830         Likewise.
84831
84832 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
84833
84834         * m4/regex.m4: Add AC_PREREQ(2.50).
84835         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
84836
84837 2005-08-25  Simon Josefsson  <jas@extundo.com>
84838
84839         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
84840         __fsetlocking.
84841
84842 2005-08-25  Simon Josefsson  <jas@extundo.com>
84843
84844         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
84845         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
84846         GLIBC specific code.
84847
84848 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
84849
84850         Make regex safe for g++.  This fixes one real bug (an "err"
84851         that should have been "*err").  g++ problem reported by
84852         Sam Steingold.
84853         * lib/regex_internal.h (re_calloc): New macro, consistent with
84854         re_malloc etc.  All callers of calloc changed to use re_calloc.
84855         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
84856         not int.  All callers changed.
84857         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
84858         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
84859         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
84860         (find_recover_state): Change "err" to "*err"; this fixes what
84861         appears to be a real bug.
84862         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
84863         versus int.
84864
84865 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
84866
84867         * modules/regex (Depends-on): Add malloc, since the code
84868         assumes that !malloc(0) means failure.
84869
84870 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
84871
84872         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
84873
84874         alloca modernization/simplification for regex.
84875         * lib/regex.c: Remove portability cruft for alloca.  This no longer
84876         needs to be at the start of the file, and can be moved into
84877         regex_internal.h and simplified.
84878         * lib/regex_internal.h: Include <alloca.h>.
84879         (__libc_use_alloca) [!defined _LIBC]: New macro.
84880         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
84881         now works outside glibc.
84882
84883 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
84884
84885         * config/srclist.txt: Add glibc bugs 1241, 1245.
84886
84887 2005-08-25  Jim Meyering  <jim@meyering.net>
84888
84889         * lib/open-safer.c: Include <config.h>.
84890         Otherwise, we'd lose LARGEFILE support in any file using
84891         e.g. "fcntl--.h"
84892
84893 2005-08-25  Bruno Haible  <bruno@clisp.org>
84894
84895         * m4/minmax.m4: Require autoconf 2.52.
84896         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
84897         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
84898         alternatives of translit over the alphabet.
84899         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
84900
84901 2005-08-24  Simon Josefsson  <jas@extundo.com>
84902
84903         * tests/test-getpass.c: New file.
84904
84905 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
84906
84907         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
84908         for GNU regex features.
84909
84910 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
84911
84912         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
84913         * lib/regex.h (regerror): Likewise.
84914
84915         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
84916         requires this.  (The code never needed it.)
84917
84918         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
84919         All uses of recently-renamed identifiers changed to use the new,
84920         POSIX-compliant names.  The code will build and run just fine
84921         without these changes, but it's better to eat our own dog food
84922         and use the standard-conforming names.
84923
84924         * lib/regex.h: Fix a multitude of POSIX name space violations.
84925         These changes have an effect only for programs that define
84926         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
84927         do not change anything for programs compiled in the normal way.
84928         Also, there is no effect on the ABI.
84929
84930         (_REGEX_SOURCE): New macro.
84931         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
84932         defined and _GNU_SOURCE is not; this fixes a name space violation.
84933
84934         Rename the following macros to obey POSIX requirements.
84935         The old names are still visible as macros if _REGEX_SOURCE is defined.
84936         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
84937         RE_BACKSLASH_ESCAPE_IN_LISTS.
84938         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
84939         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
84940         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
84941         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
84942         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
84943         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
84944         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
84945         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
84946         (REG_INTERVALS): renamed from RE_INTERVALS.
84947         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
84948         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
84949         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
84950         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
84951         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
84952         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
84953         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
84954         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
84955         RE_UNMATCHED_RIGHT_PAREN_ORD.
84956         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
84957         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
84958         (REG_DEBUG): renamed from RE_DEBUG.
84959         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
84960         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
84961         unusual, since we can't clash with the POSIX REG_ICASE.
84962         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
84963         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
84964         (REG_NO_SUB): renamed from RE_NO_SUB.
84965         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
84966         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
84967         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
84968         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
84969         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
84970         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
84971         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
84972         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
84973         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
84974         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
84975         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
84976         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
84977         RE_SYNTAX_POSIX_MINIMAL_BASIC.
84978         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
84979         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
84980         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
84981         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
84982         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
84983         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
84984         (REG_FIXED): Renamed from REGS_FIXED.
84985         (REG_NREGS): Renamed from RE_NREGS.
84986
84987         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
84988         of other REG_* macros, since POSIX says the user is allowed to
84989         #undef these macros selectively.
84990
84991         (reg_errcode_t): Update comment stating what other tables need
84992         to be consistent.
84993
84994         Rename the following enum values to obey POSIX requirements.
84995         The old names are still visible as macros.
84996         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
84997         is not defined, since GNU is supposed to be a superset of POSIX as
84998         much as possible, and since we want reg_errcode_t to be a signed
84999         type for implementation consistency.
85000         (_REG_NOERROR): Renamed from REG_NOERROR.
85001         (_REG_NOMATCH): Renamed from REG_NOMATCH.
85002         (_REG_BADPAT): Renamed from REG_BADPAT.
85003         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
85004         (_REG_ECTYPE): Renamed from REG_ECTYPE.
85005         (_REG_EESCAPE): Renamed from REG_EESCAPE.
85006         (_REG_ESUBREG): Renamed from REG_ESUBREG.
85007         (_REG_EBRACK): Renamed from REG_EBRACK.
85008         (_REG_EPAREN): Renamed from REG_EPAREN.
85009         (_REG_EBRACE): Renamed from REG_EBRACE.
85010         (_REG_BADBR): Renamed from REG_BADBR.
85011         (_REG_ERANGE): Renamed from REG_ERANGE.
85012         (_REG_ESPACE): Renamed from REG_ESPACE.
85013         (_REG_BADRPT): Renamed from REG_BADRPT.
85014         (_REG_EEND): Renamed from REG_EEND.
85015         (_REG_ESIZE): Renamed from REG_ESIZE.
85016         (_REG_ERPAREN): Renamed from REG_ERPAREN.
85017         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
85018         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
85019         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
85020         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
85021
85022         (_REG_RE_NAME, _REG_RM_NAME): New macros.
85023         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
85024         changed.  But support the old name if the new one is not defined
85025         and if _REGEX_SOURCE.
85026
85027         Change the following member names in struct re_pattern_buffer.
85028         The old names are still supported if !_REGEX_SOURCE.
85029         The new names are always supported, regardless of _REGEX_SOURCE.
85030         (re_buffer): Renamed from buffer.
85031         (re_allocated): Renamed from allocated.
85032         (re_used): Renamed from used.
85033         (re_syntax): Renamed from syntax.
85034         (re_fastmap): Renamed from fastmap.
85035         (re_translate): Renamed from translate.
85036         (re_can_be_null): Renamed from can_be_null.
85037         (re_regs_allocated): Renamed from regs_allocated.
85038         (re_fastmap_accurate): Renamed from fastmap_accurate.
85039         (re_no_sub): Renamed from no_sub.
85040         (re_not_bol): Renamed from not_bol.
85041         (re_not_eol): Renamed from not_eol.
85042         (re_newline_anchor): Renamed from newline_anchor.
85043
85044         Change the following member names in struct re_registers.
85045         The old names are still supported if !_REGEX_SOURCE.
85046         The new names are always supported, regardless of _REGEX_SOURCE.
85047         (rm_num_regs): Renamed from num_regs.
85048         (rm_start): Renamed from start.
85049         (rm_end): Renamed from end.
85050
85051         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
85052         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
85053         Prepend __ to parameter names.
85054
85055         Undo yesterday's changes.
85056
85057 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85058
85059         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
85060         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
85061         lib/regex.c.
85062
85063 2005-08-24  Jim Meyering  <jim@meyering.net>
85064
85065         Sync from coreutils.
85066         * m4/fcntl-safer.m4: New file.
85067
85068         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
85069         and object files for this module.
85070
85071 2005-08-24  Jim Meyering  <jim@meyering.net>
85072
85073         Sync from coreutils.
85074         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
85075
85076 2005-08-24  Jim Meyering  <jim@meyering.net>
85077
85078         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
85079         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
85080
85081 2005-08-24  Jim Meyering  <jim@meyering.net>
85082
85083         * modules/fcntl-safer: New module.
85084         * modules/fts (Depends-on): Add fcntl-safer.
85085         * MODULES.html.sh (File descriptor based Input/Output):
85086         Add fcntl-safer.
85087
85088 2005-08-24  Bruno Haible  <bruno@clisp.org>
85089
85090         Support for unit test modules.
85091         * modules/README: Mention tests modules.
85092         * modules/TEMPLATE-TESTS: New file.
85093         * gnulib-tool: New options --extract-tests-module, --with-tests and
85094         --tests-base (unused for the moment).
85095         (testsbase, inctests): New variables.
85096         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
85097         (func_verify_module): Exclude TEMPLATE-TESTS.
85098         (func_verify_nontests_module, func_verify_tests_module): New functions.
85099         (func_get_dependencies): Add implicit dependency for tests modules.
85100         (func_get_tests_module): New function.
85101         (func_modules_transitive_closure): When --with-tests was specified,
85102         include the unit tests as well, unless explicitly avoided.
85103         (func_emit_lib_Makefile_am): Ignore the tests modules here.
85104         (func_emit_tests_Makefile_am): New function.
85105         (func_create_testdir): When --with-tests was specified, emit a
85106         tests/ directory.
85107         * MODULES.html.sh (Future developments): Update.
85108
85109 2005-08-24  Bruno Haible  <bruno@clisp.org>
85110
85111         * modules/tls-tests: New file.
85112         * tests/test-tls.c: New file, from GNU gettext.
85113
85114 2005-08-24  Bruno Haible  <bruno@clisp.org>
85115
85116         * modules/lock-tests: New file.
85117         * tests/test-lock.c: New file, from GNU gettext.
85118
85119 2005-08-24  Bruno Haible  <bruno@clisp.org>
85120
85121         * lib/lock.h: Add multiple inclusion guard.
85122         * lib/tls.h: Add multiple inclusion guard.
85123
85124 2005-08-24  Bruno Haible  <bruno@clisp.org>
85125
85126         * gnulib-tool: Add support for the --aux-dir option to
85127         --create-testdir, --create-megatestdir, --test, --megatest.
85128         (func_create_testdir, func_create_megatestdir): Optionally emit a
85129         AC_CONFIG_AUX_DIR directive.
85130         (create-testdir, create-megatestdir, test, megatest): Provide a
85131         default value for $auxdir.
85132
85133 2005-08-24  Bruno Haible  <bruno@clisp.org>
85134
85135         * gnulib-tool (import): Use compound statement instead of subshell
85136         where possible.
85137
85138 2005-08-24  Bruno Haible  <bruno@clisp.org>
85139
85140         * gnulib-tool (import): Change --aux-dir default to "build-aux".
85141
85142 2005-08-24  Bruno Haible  <bruno@clisp.org>
85143
85144         * gnulib-tool (func_version): Update.
85145
85146 2005-08-24  Bruno Haible  <bruno@clisp.org>
85147
85148         * gnulib-tool (func_import, func_create_testdir,
85149         func_create_megatestdir): Quote all autoconf macro arguments.
85150
85151 2005-08-24  Bruno Haible  <bruno@clisp.org>
85152
85153         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
85154         option --force, because --force causes the aclocal.m4 of each
85155         subdirectory to be newer than the corresponding config.h.in.
85156
85157 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85158
85159         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
85160         All contents moved to gl_REGEX.
85161         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
85162         assume that it does.
85163
85164 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85165
85166         * lib/regex.h (REG_NOSYS)
85167         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
85168         Define, since POSIX requires it as of 2001.
85169         (_REG_ENOSYS)
85170         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
85171         New private symbol, used to keep the enum signed in all cases.
85172         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
85173         Youngman in
85174         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
85175
85176         * lib/regex_internal.c (re_string_skip_chars, register_state):
85177         (calc_state_hash):
85178         Remove forward decls; no longer needed now that we use prototypes.
85179         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
85180         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
85181         (clean_state_log_if_needed): Likewise.
85182
85183 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85184
85185         * config/srclist.txt: Add glibc bugs 1231-1233.
85186
85187 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85188
85189         Fix problems reported by Sam Steingold in
85190         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
85191         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
85192         assumed that reg_errcode_t is a signed type, which is not
85193         necessarily true if _XOPEN_SOURCE is not defined.
85194         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
85195         since some compilers warn about it otherwise.
85196
85197 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85198
85199         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
85200         (init_word_char, create_initial_state, duplicate_node_closure):
85201         (fetch_token, peek_token_bracket, build_range_exp):
85202         (build_collating_symbol): Remove forward decls; no longer needed
85203         now that we use prototypes.
85204
85205         * lib/regcomp.c:
85206         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
85207         (re_compile_fastmap_iter, regcomp, regerror, regfree):
85208         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
85209         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
85210         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
85211         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
85212         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
85213         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
85214         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
85215         (build_range_exp, build_collating_symbol, parse_bracket_exp):
85216         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
85217         (build_charclass, build_charclass_op, fetch_number, create_tree):
85218         (create_token_tree, mark_opt_subexp, duplicate_tree):
85219         Use prototypes rather than old-style definitions.
85220
85221         * lib/regex_internal.c:
85222         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
85223         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
85224         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85225         (re_string_reconstruct, re_string_peek_byte_case):
85226         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
85227         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85228         (re_node_set_init_copy, re_node_set_add_intersect):
85229         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85230         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85231         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85232         (re_acquire_state, re_acquire_state_context, register_state):
85233         (create_ci_newstate, create_cd_newstate, free_state):
85234         Likewise.
85235         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
85236         re_search_2):
85237         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
85238         (re_search_internal, prune_impossible_nodes):
85239         (acquire_init_state_context, check_matching, static):
85240         (check_halt_node_context, check_halt_state_context, proceed_next_node):
85241         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
85242         (update_regs, sift_states_backward, build_sifted_states):
85243         (clean_state_log_if_needed, merge_state_array):
85244         (update_cur_sifted_state, add_epsilon_src_nodes):
85245         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
85246         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
85247         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
85248         (find_recover_state, check_subexp_matching_top, transit_state_mb):
85249         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
85250         (check_arrival, check_arrival_add_next_nodes):
85251         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85252         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85253         (check_node_accept_bytes, check_node_accept, extend_buffers):
85254         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
85255         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
85256         (sift_ctx_init):
85257         Likewise.
85258
85259         * lib/regex_internal.h:
85260         (re_string_allocate, re_string_construct, re_string_reconstruct):
85261         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
85262         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
85263         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
85264         (re_string_context_at, re_string_peek_byte_case):
85265         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
85266         is defined, since we now use prototypes always.
85267
85268         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
85269         C89 or better.  All uses removed.
85270
85271 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85272
85273         * config/srclist.txt: Add glibc bugs 1220-1227.
85274
85275 2005-08-20  Jim Meyering  <jim@meyering.net>
85276
85277         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
85278         of unused local, dfa.
85279
85280 2005-08-20  Bruno Haible  <bruno@clisp.org>
85281
85282         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
85283
85284 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85285
85286         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
85287         (re_node_set_insert_last, re_dfa_add_node):
85288         Rename local variables to avoid GCC shadowing warnings.
85289
85290 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85291
85292         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
85293         [defined lint]: Suppress bogus uninitialized-variable warnings.
85294
85295         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
85296         and let the caller return REG_ESPACE if out of space.  This
85297         removes an uninitialied-variable warning with GCC 4.0.1, and also
85298         avoids taking the address of a local variable.  All callers
85299         changed.
85300
85301 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85302
85303         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
85304         $LIBCSRC/posix/regexec.c.
85305         Add glibc bug 1217 for regcomp.c.
85306
85307 2005-08-19  Jim Meyering  <jim@meyering.net>
85308
85309         * lib/regexec.c (proceed_next_node): Redo local variables to
85310         avoid GCC shadowing warnings.
85311
85312 2005-08-18  Bruno Haible  <bruno@clisp.org>
85313
85314         * lib/strstr.c (strstr): Fix return value in multibyte case.
85315         * lib/strcasestr.c (strcasestr): Likewise.
85316
85317 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85318
85319         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
85320
85321 2005-08-17  Jim Meyering  <jim@meyering.net>
85322
85323         Make the %s format (seconds since the epoch) work for a negative
85324         number and when used with a zero-padded field width, e.g. %015s.
85325
85326         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
85327         label so that it precedes the code to set `digits'.  Otherwise,
85328         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
85329         print `00-22'.  Now, it prints `-0022', as it should.
85330
85331 2005-08-17  Bruno Haible  <bruno@clisp.org>
85332
85333         * modules/strstr (Files): Add m4/mbrtowc.m4.
85334         (Depends-on): Add mbuiter.
85335
85336 2005-08-17  Bruno Haible  <bruno@clisp.org>
85337
85338         * modules/strcasestr: New file.
85339         * MODULES.html.sh (String handling, based on ANSI C 89): Add
85340         strcasestr.
85341
85342 2005-08-17  Bruno Haible  <bruno@clisp.org>
85343
85344         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
85345
85346 2005-08-17  Bruno Haible  <bruno@clisp.org>
85347
85348         * modules/mbuiter: New file.
85349         * MODULES.html.sh (Extended multibyte and wide character utilities):
85350         Add mbuiter.
85351
85352 2005-08-17  Bruno Haible  <bruno@clisp.org>
85353
85354         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
85355         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
85356
85357 2005-08-17  Bruno Haible  <bruno@clisp.org>
85358
85359         * m4/strcasestr.m4: New file.
85360
85361 2005-08-17  Bruno Haible  <bruno@clisp.org>
85362
85363         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
85364         * lib/strstr.c: Completely rewritten, with multibyte locale support.
85365
85366 2005-08-17  Bruno Haible  <bruno@clisp.org>
85367
85368         * lib/strcasestr.h: New file.
85369         * lib/strcasestr.c: New file.
85370
85371 2005-08-17  Bruno Haible  <bruno@clisp.org>
85372
85373         * lib/strcasecmp.c: Use mbuiter.h.
85374
85375 2005-08-17  Bruno Haible  <bruno@clisp.org>
85376
85377         * lib/mbuiter.h: New file.
85378
85379 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
85380
85381         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
85382         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
85383         and gl_GETOPT are both invoked via different paths (as happens
85384         with GNU tar CVS because it uses both argp and getopt), the former
85385         wins.
85386
85387 2005-08-16  Bruno Haible  <bruno@clisp.org>
85388
85389         * modules/tls: New file.
85390         * MODULES.html.sh (Multithreading): Add tls.
85391
85392 2005-08-16  Bruno Haible  <bruno@clisp.org>
85393
85394         * modules/strnlen1: New file.
85395         * MODULES.html.sh (String handling): Add strnlen1.
85396
85397 2005-08-16  Bruno Haible  <bruno@clisp.org>
85398
85399         * modules/strcase (Files): Add m4/mbrtowc.m4.
85400         (Depends-on): Add strnlen1, mbchar.
85401
85402 2005-08-16  Bruno Haible  <bruno@clisp.org>
85403
85404         * modules/mbiter: New file.
85405         * MODULES.html.sh (Extended multibyte and wide character utilities):
85406         Add mbiter.
85407
85408 2005-08-16  Bruno Haible  <bruno@clisp.org>
85409
85410         * modules/mbfile: New file.
85411         * MODULES.html.sh (Extended multibyte and wide character utilities):
85412         Add mbfile.
85413
85414 2005-08-16  Bruno Haible  <bruno@clisp.org>
85415
85416         * modules/mbchar: New file.
85417         * MODULES.html.sh (Extended multibyte and wide character utilities):
85418         New section.
85419
85420 2005-08-16  Bruno Haible  <bruno@clisp.org>
85421
85422         * m4/tls.m4: New file, from GNU gettext.
85423
85424 2005-08-16  Bruno Haible  <bruno@clisp.org>
85425
85426         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
85427         always.
85428         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
85429
85430 2005-08-16  Bruno Haible  <bruno@clisp.org>
85431
85432         * m4/mbiter.m4: New file.
85433
85434 2005-08-16  Bruno Haible  <bruno@clisp.org>
85435
85436         * m4/mbfile.m4: New file.
85437
85438 2005-08-16  Bruno Haible  <bruno@clisp.org>
85439
85440         * m4/mbchar.m4: New file.
85441
85442 2005-08-16  Bruno Haible  <bruno@clisp.org>
85443
85444         * lib/tls.h: New file, from GNU gettext.
85445         * lib/tls.c: New file, from GNU gettext.
85446
85447 2005-08-16  Bruno Haible  <bruno@clisp.org>
85448
85449         * lib/strnlen1.h: New file.
85450         * lib/strnlen1.c: New file.
85451
85452 2005-08-16  Bruno Haible  <bruno@clisp.org>
85453
85454         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
85455         (mbi_init): Update.
85456         (mbi_avail, mbi_advance): Let the iteration end before the terminating
85457         NUL byte, not after it.
85458
85459 2005-08-16  Bruno Haible  <bruno@clisp.org>
85460
85461         * lib/strcase.h (strcasecmp): Add note in comments.
85462         * lib/strncasecmp.c: Use code from strcasecmp.c.
85463         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
85464         (strcasecmp): Work correctly in multibyte locales.
85465
85466 2005-08-16  Bruno Haible  <bruno@clisp.org>
85467
85468         * lib/mbiter.h: New file.
85469
85470 2005-08-16  Bruno Haible  <bruno@clisp.org>
85471
85472         * lib/mbfile.h: New file.
85473
85474 2005-08-16  Bruno Haible  <bruno@clisp.org>
85475
85476         * lib/mbchar.h: New file.
85477         * lib/mbchar.c: New file.
85478
85479 2005-08-16  Bruno Haible  <bruno@clisp.org>
85480
85481         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
85482         the valid ones. Makes the comparison operations transitive:
85483         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
85484         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
85485
85486 2005-08-15  Simon Josefsson  <jas@extundo.com>
85487
85488         * modules/ssize_t (License): Change to 'unlimited'.
85489
85490         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
85491
85492 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
85493
85494         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
85495         Add comments for each pending glibc patch.
85496
85497 2005-08-15  Bruno Haible  <bruno@clisp.org>
85498
85499         * lib/regex.h (__restrict_arr): Don't define to __restrict if
85500         __cplusplus is defined.
85501
85502 2005-08-14  Jim Meyering  <jim@meyering.net>
85503
85504         Sync from coreutils.
85505
85506         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
85507         Use the hash-table-based cycle-detection code not just when
85508         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
85509         Reported by James Youngman in
85510         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
85511         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
85512         FTS_TIGHT_CYCLE_CHECK.
85513         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
85514         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
85515         once again.
85516         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
85517         * lib/fts.c (fd_safer): Remove decl.
85518         Include fcntl--.h rather than unistd-safer.h
85519         (fts_safe_changedir): Don't call fd_safer; no longer needed
85520         now that we include fcntl--.h.
85521
85522 2005-08-12  Simon Josefsson  <jas@extundo.com>
85523
85524         * modules/getndelim2: Use ssize_t module.
85525         * modules/getnline: Likewise.
85526         * modules/safe-read: Likewise.
85527         * modules/xreadlink: Likewise.
85528
85529         * modules/ssize_t: New file.
85530
85531 2005-08-12  Simon Josefsson  <jas@extundo.com>
85532
85533         * m4/readline.m4: Look for termcap, curses or ncurses if required.
85534
85535 2005-08-12  Simon Josefsson  <jas@extundo.com>
85536
85537         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85538         ssize_t.
85539
85540 2005-08-12  Simon Josefsson  <jas@extundo.com>
85541
85542         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
85543         readline, getdelim and check_version.
85544         (Support for systems lacking ISO C 99: Sizes of integer types):
85545         Add size_max.
85546
85547 2005-08-12  Bruno Haible  <bruno@clisp.org>
85548
85549         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
85550
85551 2005-08-11  Simon Josefsson  <jas@extundo.com>
85552
85553         * modules/readline: New file.
85554
85555         * modules/strnlen (Files): Add strnlen.h.
85556
85557 2005-08-11  Simon Josefsson  <jas@extundo.com>
85558
85559         * m4/readline.m4: New file.
85560
85561 2005-08-11  Simon Josefsson  <jas@extundo.com>
85562
85563         * lib/readline.h, readline.c: New file.
85564
85565 2005-08-11  Simon Josefsson  <jas@extundo.com>
85566
85567         * doc/gnulib.texi (Initial import, Finishing touches): Mention
85568         gl_AVOID.
85569
85570 2005-08-11  Bruno Haible  <bruno@clisp.org>
85571
85572         * lib/strnlen.h (strnlen): Change parameter name to match comment.
85573
85574 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
85575
85576         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
85577
85578 2005-08-10  Simon Josefsson  <jas@extundo.com>
85579
85580         * tests/test-iconvme.c: New file.
85581
85582 2005-08-10  Simon Josefsson  <jas@extundo.com>
85583
85584         * m4/strnlen.m4: New file.
85585
85586         * m4/strndup.m4: Don't check for strnlen declaration, done in
85587         strnlen.m4.
85588
85589 2005-08-10  Simon Josefsson  <jas@extundo.com>
85590
85591         * lib/strndup.c: Use strnlen.h.
85592
85593         * lib/strnlen.h: New file.
85594
85595 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
85596
85597         * README: Typos.
85598
85599 2005-08-02  Simon Josefsson  <jas@extundo.com>
85600
85601         * modules/readline: New file.
85602
85603 2005-08-02  Simon Josefsson  <jas@extundo.com>
85604
85605         * modules/getdelim: New file.
85606
85607         * modules/getline: Rewrite, don't use getndelim2.
85608
85609 2005-08-02  Simon Josefsson  <jas@extundo.com>
85610
85611         * m4/getline.m4: Separate out getdelim stuff into separate module.
85612
85613         * m4/getdelim.m4: New file.
85614
85615 2005-08-02  Simon Josefsson  <jas@extundo.com>
85616
85617         * lib/getline.h, getline.c: Rewrite.
85618
85619         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
85620
85621 2005-07-31  Bruno Haible  <bruno@clisp.org>
85622
85623         * lib/lock.h (gl_lock_initializer): New macro.
85624         (gl_lock_define_initialized): Use it.
85625         (gl_rwlock_initializer): New macro.
85626         (gl_rwlock_define_initialized): Use it.
85627         (gl_recursive_lock_initializer): New macro.
85628         (gl_recursive_lock_define_initialized): Use it.
85629
85630 2005-07-30  Karl Berry  <karl@gnu.org>
85631
85632         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
85633         Report from Ben Pfaff, regarding getopt.
85634
85635 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
85636
85637         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
85638         normal way.
85639         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
85640         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
85641         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
85642         (gl_GETOPT): Use the new macros.  Most of the implementation
85643         is moved to the new macros.  This is for programs like Emacs
85644         that don't want all the functionality of gl_GETOPT.
85645
85646 2005-07-26  Bruno Haible  <bruno@clisp.org>
85647
85648         * m4/lock.m4: Update from GNU gettext.
85649
85650 2005-07-26  Bruno Haible  <bruno@clisp.org>
85651
85652         * lib/lock.h: Update from GNU gettext.
85653         * lib/lock.c: Update from GNU gettext.
85654
85655 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
85656
85657         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
85658         obsolescent AC_TRY_RUN.  Include the default includes files, for
85659         'exit'.
85660
85661 2005-07-24  Bruno Haible  <bruno@clisp.org>
85662
85663         * modules/visibility: New file.
85664         * MODULES.html.sh (Misc): Add visibility.
85665
85666 2005-07-24  Bruno Haible  <bruno@clisp.org>
85667
85668         * m4/visibility.m4: New file.
85669
85670 2005-07-24  Bruno Haible  <bruno@clisp.org>
85671
85672         * doc/visibility.texi: New file.
85673
85674 2005-07-22  Bruno Haible  <bruno@clisp.org>
85675
85676         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
85677         $(ALLOCA_H), redundant through BUILT_SOURCES.
85678         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
85679         redundant through BUILT_SOURCES.
85680         * modules/byteswap (Makefile.am): Remove explicit dependency on
85681         $(BYTESWAP_H), redundant through BUILT_SOURCES.
85682         * modules/fnmatch (Makefile.am): Remove explicit dependency on
85683         $(FNMATCH_H), redundant through BUILT_SOURCES.
85684         * modules/getopt (Makefile.am): Remove explicit dependency on
85685         $(GETOPT_H), redundant through BUILT_SOURCES.
85686         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
85687         redundant through BUILT_SOURCES.
85688         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
85689         redundant through BUILT_SOURCES.
85690         * modules/stdbool (Makefile.am): Remove explicit dependency on
85691         $(STDBOOL_H), redundant through BUILT_SOURCES.
85692         * modules/stdint (Makefile.am): Remove explicit dependency on
85693         $(STDINT_H), redundant through BUILT_SOURCES.
85694         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
85695         Remove explicit dependency on $(SYSEXITS_H).
85696         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
85697
85698 2005-07-18  Simon Josefsson  <jas@extundo.com>
85699
85700         * lib/check-version.c (check_version): Accept identical versions too.
85701
85702 2005-07-18  Bruno Haible  <bruno@clisp.org>
85703
85704         * modules/lock: New file.
85705         * MODULES.html.sh (Multithreading): New section.
85706
85707 2005-07-18  Bruno Haible  <bruno@clisp.org>
85708
85709         * m4/lock.m4: New file, from GNU gettext.
85710
85711 2005-07-18  Bruno Haible  <bruno@clisp.org>
85712
85713         * lib/lock.h: New file, from GNU gettext.
85714         * lib/lock.c: New file, from GNU gettext.
85715
85716 2005-07-18  Bruno Haible  <bruno@clisp.org>
85717
85718         * lib/lock.h (gl_once_t): New type.
85719         (gl_once_define, gl_once): New macros.
85720         * lib/lock.c (fresh_once): New variable.
85721         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
85722         functions.
85723
85724 2005-07-16  Simon Josefsson  <jas@extundo.com>
85725
85726         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
85727         workaround, suggested by Bruno.
85728
85729 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
85730
85731         * modules/xalloc (Depends-on): Add xalloc-die.
85732         * modules/xvasprintf (Depends-on): Add xalloc-die.
85733
85734 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
85735
85736         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
85737         with a minor change.
85738
85739 2005-07-15  Bruno Haible  <bruno@clisp.org>
85740
85741         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
85742         When using lib/poll.c, define poll as rpl_poll.
85743
85744 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
85745
85746         * modules/argp (Depends-on): Remove unlocked-io.
85747
85748 2005-07-14  Derek Price  <derek@ximbiot.com>
85749
85750         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
85751         for glob symlink bug.
85752
85753 2005-07-14  Bruno Haible  <bruno@clisp.org>
85754
85755         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
85756         Instead, test for *_unlocked function declarations directly.
85757
85758 2005-07-11  Simon Josefsson  <jas@extundo.com>
85759
85760         * modules/size_max: New file.
85761
85762         * modules/xsize: Depend on size_max module for size_max.m4.
85763
85764 2005-07-11  Simon Josefsson  <jas@extundo.com>
85765
85766         * lib/size_max.h: New file.
85767
85768 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
85769
85770         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
85771         copyright symbol and the year.
85772         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
85773         (version_etc_va): Use parameterized copyright notice.
85774         Reword to conform to the current GNU coding standards.
85775
85776 2005-07-11  Karl Berry  <karl@gnu.org>
85777
85778         * doc/gnulib.texi (Quoting): new node.
85779         (Initial import): more info, from Patrice.
85780
85781 2005-07-11  Bruno Haible  <bruno@clisp.org>
85782
85783         * gnulib-tool (func_usage): Document option --avoid.
85784         (Command line options): Handle --avoid.
85785         (func_acceptable): New function.
85786         (func_modules_transitive_closure): Use it.
85787
85788 2005-07-11  Bruno Haible  <bruno@clisp.org>
85789
85790         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
85791         Reported by Jim Meyering.
85792
85793 2005-07-10  Bruno Haible  <bruno@clisp.org>
85794
85795         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
85796         Needed when size_t is smaller than 'unsigned int'.
85797         Reported by Paul Eggert.
85798
85799 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
85800
85801         * modules/argp (Depends-on): Add unlocked-io
85802
85803 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
85804
85805         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
85806         block of defines.
85807
85808 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
85809
85810         * config/srclist.txt: Comment out regcomp.c, since we have a porting
85811         fix now.
85812
85813 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
85814         and Paul Eggert  <eggert@cs.ucla.edu>
85815
85816         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
85817         in wint_t, not wchar_t.  Remove now-unnecessary cast.
85818
85819 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
85820
85821         * modules/regex (Files): Add lib/regex_internal.c,
85822         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
85823         (Depends-on): Add extensions.
85824         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
85825
85826 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
85827
85828         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
85829         pathconf.
85830         * m4/same.m4 (gl_SAME): Likewise.
85831         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
85832
85833         * m4/regex.m4: Adjust to new libc regex implementation.
85834         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
85835         all the .c and .h parts of (the new) regex.
85836         Quote the m4 stuff better.
85837         Check for RE_ICASE bug of old gnulib.
85838         Check for REG_STARTEND of recent libc.
85839         Rename local variables from jm_* to gl_*.
85840         Quote operand of "test -f".
85841         Say "recent enough" version of libc, not "version 2".
85842         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
85843         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
85844         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
85845         Remove check for btowc, isascii.
85846         Require AM_LANGINFO_CODESET.
85847
85848 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
85849
85850         * lib/regex.c, regex.h: Sync from libc.
85851         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
85852         * lib/regexec.c:
85853         New files, synced from libc, except that regex_internal.h
85854         currently has a small porting fix.
85855
85856 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
85857
85858         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
85859         regex_internal.c, regexec.c.
85860         Add regex_internal.h too, but as a comment, since the libc version
85861         is currently broken in gnulib mode.
85862
85863 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
85864
85865         Support programs like Emacs that use gnulib but not gettext.
85866         * MODULES.html.sh (Internationalization functions): Add gettext-h.
85867         * modules/gettext-h: New file.
85868         * modules/gettext (Files): Remove lib/gettext.h.
85869         (Depends-on): Add gettext-h.
85870         (Makefile.am): Remove lib_SOURCES.
85871         * modules/argmatch, modules/c-stack, modules/closeout:
85872         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
85873         * modules/execute, modules/file-type, modules/getaddrinfo:
85874         * modules/getopt, modules/human, modules/javacomp:
85875         * modules/javaexec, modules/mkdir-p, modules/obstack:
85876         * modules/openat, modules/pagealign_alloc, modules/pipe:
85877         * modules/quotearg, modules/regex, modules/rpmatch:
85878         * modules/unicodeio, modules/userspec, modules/version-etc:
85879         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
85880         * modules/xsetenv:
85881         Depend on gettext-h, not gettext.
85882
85883 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
85884
85885         * gnulib-tool (func_import): Add support for 'public domain' license.
85886         * modules/alloca, modules/atexit, modules/memmove:
85887         Now public domain, not GPL.
85888         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
85889         * modules/realloc, modules/strerror, modules/strtod:
85890         Now LGPL, not GPL.
85891
85892 2005-07-05  Bruno Haible  <bruno@clisp.org>
85893
85894         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
85895         autoconf CVS. Needed for mingw.
85896
85897 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
85898
85899         Remove the dependency of the strftime module on the tzset module.
85900         * modules/strftime (Depends-on): Remove dependency on tzset.
85901
85902 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
85903
85904         Remove the dependency of the strftime module on the tzset module.
85905         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
85906         gl_FUNC_TZSET_CLOBBER.
85907
85908 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
85909
85910         Remove the dependency of the strftime module on the tzset module.
85911         * lib/strftime.c (my_strftime)
85912         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
85913         Copy the input structure, to work around some of the bug with
85914         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
85915         Solaris releases, you should also use the tzset module, but we won't
85916         require it as a dependency any more since we don't want LGPLed code
85917         to depend on GPLed code.
85918
85919 2005-07-02  Jim Meyering  <jim@meyering.net>
85920
85921         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
85922         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
85923         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
85924         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
85925
85926 2005-07-02  Jim Meyering  <jim@meyering.net>
85927
85928         * lib/backupfile.c (backup_args): Change a `0' to NULL.
85929
85930 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
85931
85932         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
85933         declares only 'struct timespec;' (!).
85934
85935 2005-07-01  Jim Meyering  <jim@meyering.net>
85936
85937         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
85938         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
85939         * lib/save-cwd.c, tempname.c:
85940         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
85941         and don't include <sys/file.h>).
85942
85943 2005-06-29  Jim Meyering  <jim@meyering.net>
85944
85945         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
85946         type name.  Use the variable name instead.
85947         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
85948         Likewise.
85949
85950 2005-06-28  Simon Josefsson  <jas@extundo.com>
85951
85952         * modules/check-version (Files): Add check-version.m4.
85953
85954 2005-06-28  Simon Josefsson  <jas@extundo.com>
85955
85956         * m4/check-version.m4: New file, suggested by Jim Meyering
85957         <jim@meyering.net>.
85958
85959 2005-06-28  Simon Josefsson  <jas@extundo.com>
85960
85961         * lib/check-version.h, lib/check-version.c: New files.
85962
85963 2005-06-28  Simon Josefsson  <jas@extundo.com>
85964
85965         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
85966         collision with global variable.  Better indentation.  Don't
85967         increment buffer pointer beyond buffer end.  Based on comments
85968         from Paul Eggert <eggert@cs.ucla.edu>.
85969
85970         * lib/base64.h: Indent.
85971
85972 2005-06-28  Simon Josefsson  <jas@extundo.com>
85973
85974         * doc/gnulib.texi (Library version handling): New section.
85975
85976 2005-06-28  Jim Meyering  <jim@meyering.net>
85977
85978         * check-module (find_included_lib_files): Hard-code another
85979         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
85980         but modules/fts-lgpl (correctly) does not list those files.
85981
85982         * modules/canonicalize (Files): Add lib/pathmax.h.
85983
85984 2005-06-25  Simon Josefsson  <jas@extundo.com>
85985
85986         * modules/check-version: New file.
85987
85988 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
85989
85990         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
85991         initializer of struct addrinfo, as an indication that we don't
85992         care how many members the structure has.
85993
85994 2005-06-24  Derek Price  <derek@ximbiot.com>
85995         and Bruno Haible  <bruno@clisp.org>
85996
85997         Remove stat module & update lstat.
85998         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
85999         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86000         * m4/stat.m4: Remove this file.
86001
86002 2005-06-24  Derek Price  <derek@ximbiot.com>
86003         and Bruno Haible  <bruno@clisp.org>
86004
86005         Remove stat module & update lstat.
86006         * lib/stat.c: Remove this file...
86007         (slash_aware_lstat): ...moving this content and its support...
86008         * lib/lstat.c (rpl_lstat): ...into here.
86009         * lib/lstat.h: New file.
86010
86011 2005-06-24  Derek Price  <derek@ximbiot.com>
86012         and Bruno Haible  <bruno@clisp.org>
86013
86014         Remove stat module & update lstat.
86015         * config/srclist.txt (libc sources): Remove stat.
86016
86017 2005-06-24  Derek Price  <derek@ximbiot.com>
86018         and Bruno Haible  <bruno@clisp.org>
86019
86020         Remove stat module & update lstat.
86021         * MODULES.html.sh (stat): Remove.
86022         * MODULES.html: Regenerated.
86023         * modules/lstat (Description): Correct function name.
86024         (Files): Add "lstat.h".
86025         (Depends-on): Remove stat, add xalloc, stat-macros.
86026         * modules/stat: Remove this file.
86027         (Include): Add "lstat.h", remove <sys/stat.h>.
86028
86029 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86030
86031         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
86032         (ranged_convert): Don't save conversion in a temporary struct.
86033         This causes a warning with GCC 4.0.0, and anyway in the typical
86034         case it's not worth the extra 100 bytes or so of code.
86035         (ranged_convert, __mktime_internal): When calling a function via a
86036         pointer P, use P () rather than (*P) (), as we now assume C89 or
86037         better.
86038
86039 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86040
86041         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
86042         "who -r" failed to give output.  Problem reported by Tim Waugh.
86043
86044         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
86045         (xcalloc): Use it to avoid needless tests.
86046         Problem reported by Jim Meyering.
86047
86048 2005-06-20  Derek Price  <derek@ximbiot.com>
86049
86050         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
86051         unnecessary for Autoconfs > 2.59c.
86052
86053 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86054
86055         * lib/argp.h (__option_is_short): Check upper limit of
86056         __key. Isprint() requires its argument to have the value
86057         of an unsigned char or EOF.
86058
86059 2005-06-16  Jim Meyering  <jim@meyering.net>
86060
86061         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
86062         when either N or S is zero.
86063
86064 2005-06-16  Derek Price  <derek@ximbiot.com>
86065
86066         * m4/bison.m4: Declare YACC & YFLAGS precious.
86067
86068 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
86069
86070         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
86071         multibyte string or pattern, fall back on unibyte matching.
86072         Problem reported by James Youngman.
86073
86074 2005-06-08  Bruno Haible  <bruno@clisp.org>
86075
86076         * modules/csharpcomp: New file.
86077         * MODULES.html.sh (C#): Add csharpcomp.
86078
86079 2005-06-08  Bruno Haible  <bruno@clisp.org>
86080
86081         * m4/csharpcomp.m4: New file, from GNU gettext.
86082
86083 2005-06-08  Bruno Haible  <bruno@clisp.org>
86084
86085         * lib/csharpcomp.h: New file, from GNU gettext.
86086         * lib/csharpcomp.c: New file, from GNU gettext.
86087         * lib/csharpcomp.sh.in: New file, from GNU gettext.
86088
86089 2005-06-08  Bruno Haible  <bruno@clisp.org>
86090
86091         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
86092         warning on mingw.
86093
86094 2005-06-07  Derek Price  <derek@ximbiot.com>
86095
86096         Sync from CVS.
86097         * lib/glob_.h: Indent nested #ifdef.
86098
86099 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86100
86101         Sync from coreutils.
86102         Use "file name" when talking about file names, instead of "filename"
86103         or "path", as per the GNU coding standards.
86104         * lib/mkdir-p.c: Renamed from makepath.c.
86105         (make_dir_parents): Renamed from make_path.  All callers changed.
86106         * lib/mkdir-p.h: Likewise.  All includers changed.
86107         * lib/filenamecat.c: Renamed from path-concat.c.
86108         (file_name_concat): Renamed from path_concat.  All callers changed.
86109         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
86110         * lib/filenamecat.h: Likewise.  All includers changed.
86111         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
86112         in comments or local variable names.
86113         * lib/basename.c: Likewise.
86114         * lib/canonicalize.c, canonicalize.h: Likewise.
86115         * lib/dirname.c, dirname.h: Likewise.
86116         * lib/euidaccess.c: Likewise.
86117         * lib/exclude.c: Likewise
86118         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
86119         * lib/fsusage.c, fsuage.h: Likewise.
86120         * lib/fts.c, fts_.h: Likewise.
86121         * lib/getcwd.c: Likewise.
86122         * lib/getloadavg.c: Likewise.
86123         * lib/mkstemp.c: Likewise.
86124         * lib/mountlist.c, mountlist.h: Likewise.
86125         * lib/openat.c, openat.h: Likewise.
86126         * lib/readlink-stub.c: Likewise.
86127         * lib/readutmp.c, readutmp.h: Likewise.
86128         * lib/rename.c: Likewise.
86129         * lib/rmdir.c: Likewise.
86130         * lib/same.c: Likewise.
86131         * lib/savedir.c: Likewise.
86132         * lib/stripslash.c: Likewise.
86133         * lib/tempname.c: Likewise.
86134         * lib/xreadlink.c: Likewise.
86135         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
86136         All uses changed.
86137         * lib/exclude.h: Likewise.
86138
86139         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
86140         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86141         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
86142         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86143         * lib/pathmax.h: Include <limits.h> unconditionally, since other
86144         files have been getting away with it for years (MORE/BSD 4.3
86145         is extinct now).
86146         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
86147         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86148
86149         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
86150         Define to 256, not 255, as per modern POSIX.
86151
86152 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86153
86154         Sync from coreutils.
86155         Use "file name" when talking about file names, instead of "filename"
86156         or "path", as per the GNU coding standards.
86157         * MODULES.html.sh: mkdir-p renamed from makepath.
86158         filenamecat renamed from path-concat.
86159         * modules/filenamecat: Renamed from modules/path-concat.
86160         (Files): filenamecat.h and filenamecat.c renamed from
86161         path-concat.h and path-concat.c.
86162         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
86163         (Include): filenamecat.h, not path-concat.h.
86164         * modules/mkdir-p: Renamed from modules/makepath.
86165         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
86166         makepath.c.
86167         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
86168         (Include): mkdir-p.h, not makepath.h.
86169
86170 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86171
86172         Sync from coreutils.
86173         * m4/mkdir-p.m4: Renamed from makepath.m4.
86174         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
86175         Rename files from makepath.c to mkdir-p.c, and from
86176         makepath.h to mkdir-p.h.
86177         * m4/filenamecat.m4: Renamed from path-concat.m4.
86178         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
86179         Rename files from path-concat.c to filenamecat.c,
86180         and from path-concat.h to filenamecat.h.
86181         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
86182         "file name" in local variables or comments.
86183         * m4/rename.m4: Likewise.
86184
86185 2005-06-01  Bruno Haible  <bruno@clisp.org>
86186
86187         * modules/csharpexec: New file.
86188         * MODULES.html.sh (C#): New section.
86189
86190 2005-06-01  Bruno Haible  <bruno@clisp.org>
86191
86192         * m4/csharp.m4: New file, from GNU gettext.
86193         * m4/csharpexec.m4: New file, from GNU gettext.
86194
86195 2005-06-01  Bruno Haible  <bruno@clisp.org>
86196
86197         * lib/csharpexec.h: New file, from GNU gettext.
86198         * lib/csharpexec.c: New file, from GNU gettext.
86199         * lib/csharpexec.sh.in: New file, from GNU gettext.
86200
86201 2005-05-31  Derek Price  <derek@ximbiot.com>
86202             Paul Eggert  <eggert@cs.ucla.edu>
86203
86204         Sync from cvs.
86205         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86206
86207 2005-05-31  Derek Price  <derek@ximbiot.com>
86208             Paul Eggert  <eggert@cs.ucla.edu>
86209
86210         Sync from cvs.
86211         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86212
86213 2005-05-29  Derek Price  <derek@ximbiot.com>
86214
86215         * config/srclist.txt (glob_.h, glob.c): Add these files.
86216
86217 2005-05-29  Derek Price  <derek@ximbiot.com>
86218
86219         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
86220         * modules/glob: New file.
86221         * modules/getlogin_r: Add link to POSIX spec in description.
86222
86223 2005-05-29  Derek Price  <derek@ximbiot.com>
86224             Paul Eggert  <eggert@cs.ucla.edu>
86225
86226         * m4/glob.m4: New file.
86227
86228 2005-05-29  Derek Price  <derek@ximbiot.com>
86229             Paul Eggert  <eggert@cs.ucla.edu>
86230
86231         * lib/glob_.h, lib/glob.c: New files.
86232
86233 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86234
86235         * modules/fts (Files): Remove m4/inttypes-pri.m4.
86236         * modules/fts-lgpl (Depends-on): Remove gettext.
86237
86238 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86239
86240         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
86241         and don't require gt_INTTYPES_PRI.
86242
86243 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86244
86245         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
86246
86247         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
86248         the configuration hassle isn't worth it.
86249         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
86250         (LONGEST_MODIFIER, PRIuMAX): Remove.
86251
86252 2005-05-27  Bruno Haible  <bruno@clisp.org>
86253
86254         * lib/getlogin_r.h: Remove second include of <stddef.h>.
86255
86256 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
86257
86258         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
86259         _POSIX_PTHREAD_SEMANTICS for Solaris.
86260
86261 2005-05-25  Derek Price  <derek@ximbiot.com>
86262
86263         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
86264
86265 2005-05-25  Derek Price  <derek@ximbiot.com>
86266             Paul Eggert  <eggert@cs.ucla.edu>
86267
86268         * modules/getlogin_r, m4/getlogin_r.m4: New files.
86269         * lib/getlogin_r.c, getlogin_r.h: New files.
86270
86271 2005-05-25  Bruno Haible  <bruno@clisp.org>
86272             Derek Price  <derek@ximbiot.com>
86273
86274         * lib/getlogin_r.h: Simplify API documentation.
86275
86276 2005-05-23  Derek Price  <derek@ximbiot.com>
86277
86278         * modules/minmax (Files): Add m4/minmax.m4.
86279         (configure.ac): Add gl_MINMAX.
86280
86281 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
86282
86283         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
86284         so that unistd-safer.h (GPL'ed code) need not be included.
86285
86286 2005-05-22  Bruno Haible  <bruno@clisp.org>
86287
86288         * m4/minmax.m4: New file.
86289         Based on a patch by Derek Price <derek@ximbiot.com>.
86290
86291 2005-05-22  Bruno Haible  <bruno@clisp.org>
86292
86293         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
86294         (INT64_MIN): Fix definition.
86295         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
86296
86297         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
86298         NEED_SIGNED_INT_TYPES.
86299
86300         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
86301         HAVE_SYSTEM_INTTYPES.
86302
86303 2005-05-22  Bruno Haible  <bruno@clisp.org>
86304
86305         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
86306         Also include <sys/param.h> if it defines MIN, MAX.
86307         Based on a patch by Derek Price <derek@ximbiot.com>.
86308
86309 2005-05-21  Jim Meyering  <jim@meyering.net>
86310
86311         * modules/fts (Files): Add m4/inttypes-pri.m4.
86312         (Depends-on): Add lstat and remove gettext.  Alphabetize.
86313
86314 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86315
86316         New fts module.
86317         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
86318         (setup_dir, free_dir): New functions.
86319         (enter_dir, leave_dir): Define trivial
86320         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
86321         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
86322         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
86323         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
86324         Move to fts-cycle.c.
86325         (fts_open): Use setup_dir.
86326         (fts_close): Use free_dir.
86327         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
86328         This adds a label and some gotos, but the alternatives were messier.
86329         Check for memory allocation failure when entering a dir.
86330         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
86331         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
86332         (FTS): New member fts_cycle, that is a union that contains the
86333         old active_dir_ht and cycle_state.  All uses changed to mention
86334         fts_cycle.ht and fts_cycle.state.
86335         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
86336         fts.c, with the following changes:
86337         (setup_dir, free_dir): New functions.
86338         (enter_dir): Now returns bool.  Return true if successful, false
86339         if memory exhausted.  All callers changed.
86340         Do not bother partly cleaning up on
86341         memory allocation failure; that is free_dir's job.
86342         However, free ad if hash_insert fails, to avoid memory leak.
86343         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
86344         fts->fts_options to see which union member to use.
86345
86346 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86347
86348         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
86349         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
86350
86351 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86352
86353         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
86354
86355 2005-05-20  Jim Meyering  <jim@meyering.net>
86356
86357         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
86358         Now a macro, to pacify GCC.
86359
86360 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86361
86362         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
86363         of -1.
86364
86365 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86366
86367         * lib/chown.c (rpl_chown): Return -1 on failure.
86368
86369 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86370
86371         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
86372         Don't check for stddef.h.
86373         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
86374         don't use its results.
86375         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
86376         since we include them unconditionally.  Don't require
86377         AM_STDBOOL_H, since stdbool is a prerequisite.
86378         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
86379         since we assume C89 or better.
86380         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
86381         as we don't use their results.
86382         Don't check for fchdir, memmove, memset, strrchr, as we use
86383         them unconditionally.
86384         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
86385         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
86386
86387 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86388
86389         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
86390         Include <stddef.h> unconditionally, since we assume C89 now.
86391         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
86392         * lib/fts.c: Include fts_.h first, to check interface.
86393         Do not include intprops.h; no longer needed.
86394         Include cycle-check.h and hash.h, since fts_.h no longer does.
86395         Remove unnecessary casts of closedir to void.
86396         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
86397         decide whether to decrement nlinks.
86398         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
86399         (FTS): Use struct hash_table * instead of Hash_table, so that
86400         we no longer need to include hash.h here.
86401
86402 2005-05-18  Jim Meyering  <jim@meyering.net>
86403
86404         * modules/dirfd (License): Change to LGPL.  Most of the code
86405         is already in the public domain.
86406
86407 2005-05-18  Jim Meyering  <jim@meyering.net>
86408
86409         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
86410         Reported by Yoann Vandoorselaere.
86411
86412 2005-05-17  Jim Meyering  <jim@meyering.net>
86413
86414         * m4/fts.m4: New file, from coreutils.
86415
86416 2005-05-17  Jim Meyering  <jim@meyering.net>
86417
86418         * lib/fts.c, lib/fts_.h: New files, from coreutils.
86419
86420 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86421
86422         Sync from coreutils.
86423         * m4/unlinkdir.m4: New file.
86424
86425 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86426
86427         Sync from coreutils.
86428         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
86429         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
86430         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
86431         White space changes only.
86432         * lib/makepath.c (make_path): Port to hosts where leading "//" is
86433         special.
86434         * lib/yesno.c: Include getline.h, not ctype.h.
86435         (yesno): Don't remove leading white space; POSIX doesn't allow it.
86436         Use getline to remove arbitrary restriction on response length.
86437
86438 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86439
86440         * config/srclist-update: Spell out "Street" in FSF postal
86441         mail address; this is the style the FSF seems to prefer.
86442
86443         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
86444         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
86445         this updates FSF postal mail address.
86446
86447         Sync from coreutils.
86448         * modules/unlinkdir: New file.
86449         * modules/yesno (Depends-on): Add getline.
86450         * MODULES.html.sh (File system functions): Add unlinkdir.
86451
86452 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86453
86454         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
86455         lib/strsep.h:
86456         Change the initial comment to refer to GPL, not LGPL.
86457         gnulib-tool will change it to LGPL as needed.
86458
86459         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
86460         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
86461         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
86462         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
86463         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
86464         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
86465         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
86466         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
86467         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
86468         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
86469         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
86470         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
86471         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
86472         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
86473         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
86474         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
86475         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
86476         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
86477         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
86478         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
86479         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
86480         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
86481         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
86482         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
86483         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
86484         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
86485         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
86486         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
86487         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
86488         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
86489         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
86490         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
86491         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
86492         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
86493         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
86494         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
86495         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
86496         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
86497         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
86498         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
86499         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
86500         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
86501         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
86502         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
86503         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
86504         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
86505         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
86506         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
86507         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
86508         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
86509         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
86510         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
86511         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
86512         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
86513         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
86514         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
86515         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
86516         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
86517         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
86518         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
86519         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
86520         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
86521         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
86522         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
86523         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
86524         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
86525         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
86526         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
86527         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
86528         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
86529         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
86530         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
86531         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
86532         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
86533         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
86534         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
86535         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
86536         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
86537         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
86538         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
86539         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
86540         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
86541         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
86542         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
86543         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
86544         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
86545         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
86546         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
86547         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
86548         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
86549         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
86550         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
86551         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
86552         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
86553         lib/yesno.c, lib/yesno.h:
86554         Update FSF postal mail address.
86555
86556 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86557
86558         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
86559         tests/test-memmem.c, tests/test-stpncpy.c:
86560         Update FSF postal mail address.
86561
86562 2005-05-13  Bruno Haible  <bruno@clisp.org>
86563
86564         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
86565         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
86566         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
86567         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
86568         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
86569         Add support for 64-bit integers in the MSVC compiler.
86570
86571 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86572
86573         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
86574
86575 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
86576
86577         * gnulib-tool (func_import): Sort and uniquify recommended includes.
86578
86579 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
86580
86581         * doc/getdate.texi (General date syntax): Don't say that date
86582         date --iso-8601=ns generates acceptable dates; it doesn't yet.
86583         Problem reported by Nic Ferrier.
86584
86585 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86586
86587         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
86588         specified in ai_socktype. Fix invalid ai_protocol
86589         check. ai_protocol is usually set to 0 or depending on
86590         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
86591         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
86592         ai_socktype / ai_protocol in the returned addrinfo structure.
86593
86594 2005-05-10  Simon Josefsson  <jas@extundo.com>
86595
86596         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
86597         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
86598
86599 2005-05-10  Karl Berry  <karl@gnu.org>
86600
86601         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
86602         (from http://www.gnu.org/licenses).
86603         * doc/COPYING.LIB: also rename to COPYING.LESSER.
86604         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
86605         fdl.texi suffices.
86606
86607 2005-05-10  Karl Berry  <karl@gnu.org>
86608
86609         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
86610         (COPYING.DOC): remove.
86611
86612         * config/srclist-update: new FSF address.
86613
86614 2005-05-10  Derek Price  <derek@ximbiot.com>
86615
86616         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
86617         possible.
86618
86619 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86620             Bruno Haible  <bruno@clisp.org>
86621
86622         * modules/inet_ntop: New file.
86623         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86624         inet_ntop.
86625
86626 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86627             Bruno Haible  <bruno@clisp.org>
86628
86629         * m4/inet_ntop.m4: New file.
86630
86631 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86632             Bruno Haible  <bruno@clisp.org>
86633
86634         * lib/inet_ntop.h: New file.
86635         * lib/inet_ntop.c: New file, from glibc with modifications.
86636
86637 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
86638
86639         * modules/time_r (License): Change to LGPL.
86640         * modules/extensions (License): Change to LGPL.  Actually,
86641         the license is more permissive than that, but currently gnulib-tool
86642         doesn't know how to handle more-permissive licenses.
86643
86644         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
86645         Problem reported by Dave Love.
86646
86647 2005-05-08  Jim Meyering  <jim@meyering.net>
86648
86649         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
86650         blank.
86651
86652 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
86653
86654         * modules/argmatch (Depends-on): Add stdbool.
86655         * modules/backupfile (Depends-on): Likewise.
86656         * modules/chdir-long (Depends-on): Likewise.
86657         * modules/closeout (Depends-on): Likewise.
86658         * modules/cycle-check (Depends-on): Likewise.
86659         * modules/dirname (Depends-on): Likewise.
86660         * modules/fnmatch (Depends-on): Likewise.
86661         * modules/fsusage (Depends-on): Likewise.
86662         * modules/fwriteerror (Depends-on): Likewise.
86663         * modules/getcwd (Depends-on): Likewise.
86664         * modules/getloadavg (Depends-on): Likewise.
86665         * modules/hard-locale (Depends-on): Likewise.
86666         * modules/makepath (Depends-on): Likewise.
86667         * modules/mountlist (Depends-on): Likewise.
86668         * modules/nanosleep (Depends-on): Likewise.
86669         * modules/posixtm (Depends-on): Likewise.
86670         * modules/quotearg (Depends-on): Likewise.
86671         * modules/readtokens (Depends-on): Likewise.
86672         * modules/readtokens0 (Depends-on): Likewise.
86673         * modules/readutmp (Depends-on): Likewise.
86674         * modules/save-cwd (Depends-on): Likewise.
86675         * modules/strftime (Depends-on): Likewise.
86676         * modules/userspec (Depends-on): Likewise.
86677         * modules/utimecmp (Depends-on): Likewise.
86678         * modules/xgetcwd (Depends-on): Likewise.
86679         * modules/xnanosleep (Depends-on): Likewise.
86680         * modules/xstrtod (Depends-on): Likewise.
86681         * modules/yesno (Depends-on): Likewise.
86682
86683 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
86684
86685         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
86686         needless checks.
86687
86688 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
86689
86690         Merge from coreutils.  Among other things,
86691         add bulletproofing for cases where stdin, stdout, or stderr are closed.
86692         * lib/fd-safer.c: New file.
86693         * lib/fcntl-safer.h, open-safer.c: Remove.
86694         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
86695         * lib/dup-safer.c: Include unistd-safer.h first.
86696         Don't include errno.h.
86697         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
86698         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
86699         * lib/file-type.c: Rely on file-type.h change.
86700         * lib/getloadavg.c: Include unistd-safer.h.
86701         (getloadavg): Use safer open.
86702         * lib/getusershell.c: Include "stdio-safer.h".
86703         (getusershell): Use safer fopen.
86704         * lib/long-options.c (long_options): Use NULL rather than 0.
86705         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
86706         'free'.
86707         * lib/modechange.c: Likewise.
86708         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
86709         (MODE_DONE): New constant.
86710         (struct mode_change): Remove 'next' member.
86711         (make_node_op_equals): New function; like the old one of the
86712         same name, except it allocates an array.
86713         (mode_compile, mode_create_from_ref): Use it.
86714         (mode_compile): Allocate result as an array, not a linked list.
86715         Parse octal string ourself, so that we catch mistakes like "+0".
86716         (mode_adjust): Arg is an array, not a linked list.
86717         * lib/modechange.c: Include stat-macros.h, xalloc.h.
86718         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
86719         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
86720         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
86721         Remove.  This is now stat-macros.h's job.
86722         (talloc): Remove.  All callers replaced by xalloc, so that
86723         our invokers don't have to worry about reporting memory failures.
86724         (make_node_op_equals): Remove.
86725         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
86726         New constants.
86727         (struct mode_change): Moved here from modechange.h.
86728         (mode_append_entry): Remove.
86729         (mode_compile): Remove MASKED_OPS arg, since it encouraged
86730         apps to have incorrect behavior.  Use simpler algorithm for head
86731         and tail.  Don't futz with umask; that's now the job of mode_adjust.
86732         Detect more invalid usages rather than having somewhat-random behavior.
86733         Don't insert an "a=" action, as that leads to incorrect behavior.
86734         (mode_compile, mode_create_from_ref): Return NULL on error instead
86735         of an enum, since now there's only one way to have an error.  All
86736         callers changed.
86737         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
86738         at the correct time.  Simplify calculation of "+u" and its ilk.
86739         Don't mishandle "+X".
86740         (mode_free): Remove "register" and localize decls.
86741         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
86742         (struct mode_change): Move to modechange.c; callers don't
86743         need to see this stuff.
86744         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
86745         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
86746         (mode_change, mode_adjust): Reflect the new signatures noted above.
86747         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
86748         that might redefine system include files.
86749         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
86750         (my_usleep): Use NULL rather than (void *) 0.
86751         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
86752         Use siginterrupt to specify that system calls should be interrupted.
86753         (rpl_nanosleep): Move initialization of suspended closer to call of
86754         my_usleep.
86755         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
86756         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
86757         (desirable_utmp_entry): New function.
86758         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
86759         using x2nrealloc, to simplify logic.
86760         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
86761         size calculation.  Do not assume utmp file is a regular file.
86762         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
86763         (READ_UTMP_CHECK_PIDS): New constant.
86764         * lib/save-cwd.c: Include unistd-safer.h.
86765         (save_cwd): Use fd_safer.
86766         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
86767         [!_LIBC] Include "stat-macros.h" instead.
86768         * lib/unistd-safer.h (fd_safer): New decl.
86769
86770 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
86771
86772         * modules/getloadavg (Depends-on): Add unistd-safer.
86773         * modules/getusershell (Depends-on): Add stdio-safer.
86774         * modules/lstat (Depends-on): Remove xalloc.
86775         * modules/mkstemp (Depends-on): Add stat-macros.
86776         * modules/modechange (Depends-on): Remove xstrtol.
86777         Add stat-macros, xalloc.
86778         * modules/save-cwd (Depends-on): Add unistd-safer.
86779         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
86780         * modules/unistd-safer (Files): Add lib/fd-safer.c
86781         (Makefile.am): Remove lib_SOURCES.
86782
86783         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
86784         Remove fcntl-safer; unistd-safer supersedes it.
86785
86786 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
86787
86788         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
86789         AC_HEADER_STAT.
86790         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
86791         (gl_PREREQ_CHOWN): Remove.
86792         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
86793         it.  Don't require AC_HEADER_STAT.
86794         (gl_PREREQ_LSTAT): Remove.
86795         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
86796         Don't require AC_HEADER_STAT.
86797         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
86798         (gl_PREREQ_RMDIR): Remove.
86799         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
86800         mention stat-macros.h or AC_HEADER_STAT, since we'll make
86801         the stat-macros module a prerequisite.
86802         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
86803         * m4/filemode.m4 (gl_FILEMODE): Likewise.
86804         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
86805         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
86806         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
86807         variable names.
86808         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
86809         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
86810         variable prefixes.
86811         * m4/fcntl-safer.m4: Remove.
86812         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
86813         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
86814         Invoke gl_PREREQ_FD_SAFER.
86815         (gl_PREREQ_FD_SAFER): New macro.
86816         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
86817         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
86818         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
86819         Remove duplicate call to AC_LIBOBJ(readutmp).
86820         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
86821
86822         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
86823         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
86824
86825 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
86826
86827         * MODULES.html.sh (Misc): Add byteswap.
86828
86829 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
86830
86831         * modules/getcwd (Depends-on): Add extensions.
86832         * modules/openat (Depends-on): Likewise.
86833
86834 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
86835
86836         * modules/byteswap: New file.
86837
86838 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
86839
86840         * m4/byteswap.m4: New file.
86841
86842 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
86843
86844         * lib/byteswap_.h: New file.
86845
86846 2005-04-25  Karl Berry  <karl@gnu.org>
86847
86848         * m4/gettext.m4: Update from GNU gettext 0.14.4.
86849
86850 2005-04-25  Albert Chin  <china@thewrittenword.com>
86851
86852         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
86853         Toolkit C bug.
86854
86855 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
86856
86857         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
86858         (func_ln_if_changed): Remove forcibly for no error message
86859         in case file does not exist.
86860
86861 2005-04-19  Simon Josefsson  <jas@extundo.com>
86862
86863         * gnulib-tool (Options): Make --symlink mean --symbolic.
86864
86865 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
86866
86867         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
86868
86869 2005-04-16  Simon Josefsson  <jas@extundo.com>
86870
86871         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
86872
86873 2005-04-15  Simon Josefsson  <jas@extundo.com>
86874
86875         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
86876
86877 2005-04-15  Simon Josefsson  <jas@extundo.com>
86878
86879         * gnulib-tool: Rename --symlink to --symbolic.
86880
86881 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
86882
86883         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
86884         symbolic links to files instead of copying/moving.  Add --aux-dir,
86885         specifying directory relative --dir where auxiliary build tools
86886         are placed.
86887
86888 2005-04-14  Bruno Haible  <bruno@clisp.org>
86889
86890         * modules/allocsa (License): Change to LGPL.
86891         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
86892
86893 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
86894
86895         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
86896         that "UTC +1 second" continues to work.  Problem reported
86897         by Dmitry V. Levin.
86898         (relunit_snumber): New rule.
86899         (relunit): Use it.
86900
86901 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
86902
86903         * lib/getdate.y (universal_time_zone_table): New constant.
86904         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
86905         universal_time_zone_table.
86906         (lookup_zone): Prefer universal_time_zone_table to
86907         local_time_zone_table, so that "GMT" time stamps are allowed in
86908         London during the summer.  Problem reported by Ian Abbott.
86909
86910 2005-04-12  Jim Meyering  <jim@meyering.net>
86911
86912         * lib/human.c (humblock): Set *options even when returning due to
86913         xstrtoumax conversion failure.  Thanks to a used-uninitialized
86914         warning from gcc-4.
86915
86916 2005-04-09  Jim Meyering  <jim@meyering.net>
86917
86918         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
86919         -Wuninitialized: initialize tm0.tm_year.
86920
86921 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
86922
86923         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
86924         count, since there's no maximum.  All uses changed.
86925         Add member dsts_seen.
86926         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
86927         not being INT_MAX.
86928         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
86929         Use pc_rels_seen to decide whether a date is absolute.
86930
86931         * lib/getdate.y (number): Don't overwrite year.
86932         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
86933         check.
86934
86935 2005-04-02  Simon Josefsson  <jas@extundo.com>
86936
86937         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
86938         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
86939
86940 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
86941
86942         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
86943         where no absolute path name can be longer than PATH_MAX.
86944
86945 2005-03-27  Jim Meyering  <jim@meyering.net>
86946
86947         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
86948
86949 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
86950
86951         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
86952         "one's complement" -> "ones' complement" in comment, as per Knuth.
86953         "value of type" -> "type or expression" in comment.
86954         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
86955
86956 2005-03-26  Jim Meyering  <jim@meyering.net>
86957
86958         Comment nits.
86959         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
86960         Correct typos: s/or/of/.
86961
86962 2005-03-26  Jim Meyering  <jim@meyering.net>
86963
86964         * modules/check-include-files: Move to ../ and rename to...
86965         * check-module: ...this.
86966
86967 2005-03-25  Jim Meyering  <jim@meyering.net>
86968
86969         * modules/xvasprintf (Files): Add xalloc.h.
86970
86971 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
86972
86973         * modules/gettext (Files): config/config.rpath ->
86974         build-aux/config.rpath
86975         * modules/iconv (Files): Likewise.
86976         Problem reported by Oskar Liljeblad.
86977
86978 2005-03-23  Jim Meyering  <jim@meyering.net>
86979
86980         * modules/check-include-files: New script to check for
86981         missing dependencies, multiple includes, etc.
86982
86983         * modules/c-strtold (Depends-on): Add xalloc.
86984         * modules/c-strtod (Depends-on): Add xalloc.
86985         * modules/hash (Depends-on): Add xalloc.
86986         (Files): Remove lib/xalloc.h.
86987
86988         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
86989         * modules/userspec (Files): Add lib/inttostr.h.
86990
86991 2005-03-23  Jim Meyering  <jim@meyering.net>
86992
86993         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
86994
86995 2005-03-22  Jim Meyering  <jim@meyering.net>
86996
86997         * modules/stat-macros: New module.
86998         * modules/canonicalize, modules/euidaccess, modules/file-type,
86999         * modules/filemode, modules/lchown, modules/makepath,
87000         * modules/rmdir, modules/stat: Depend on new stat-macros module
87001         rather than listing lib/stat-macros.h manually.
87002         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
87003
87004 2005-03-22  Jim Meyering  <jim@meyering.net>
87005
87006         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
87007
87008 2005-03-22  Bruno Haible  <bruno@clisp.org>
87009
87010         * config/srclist.txt: Replace target directory 'config' with
87011         'build-aux'.
87012         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
87013         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
87014         ../build-aux/.
87015
87016 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
87017
87018         * modules/chdir-long (Depends-on): Add mempcpy.
87019
87020         * modules/acl, modules/backupfile, modules/c-strtod,
87021         modules/c-strtold, modules/canon-host, modules/canonicalize,
87022         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
87023         modules/exclude, modules/exitfail, modules/file-type,
87024         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
87025         modules/getdate, modules/getline, modules/getpagesize,
87026         modules/getpass, modules/getugroups, modules/group-member,
87027         modules/hard-locale, modules/hash, modules/human, modules/idcache,
87028         modules/inttostr, modules/long-options, modules/makepath,
87029         modules/md5, modules/memcasecmp, modules/memcoll,
87030         modules/modechange, modules/mountlist, modules/path-concat,
87031         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
87032         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
87033         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
87034         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
87035         modules/strftime, modules/strndup, modules/strverscmp,
87036         modules/timespec, modules/unlocked-io, modules/userspec,
87037         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
87038         modules/yesno:
87039         Remove lib_SOURCES line from Makefile.am section, as this is now
87040         done automatically by the corresponding Autoconf macro.
87041
87042 2005-03-21  Jim Meyering  <jim@meyering.net>
87043
87044         Changes imported from coreutils.
87045
87046         * lib/cycle-check.c: Don't include xalloc.h.
87047
87048         * lib/path-concat.c: Don't include assert.h.
87049         (path_concat): Remove assertion that would have triggered
87050         for ABASE starting with more than one slash.
87051         Reported by Andreas Schwab.
87052
87053         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
87054         properly when ABASE is an absolute file name.
87055         Correct the description of this function.
87056         Include <assert.h>.
87057         Add an assertion and a test driver.
87058         This fixes a bug introduced on 2004-07-02.
87059         Andreas Schwab reported the resulting failure of cp --parents:
87060         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
87061
87062 2005-03-21  Jim Meyering  <jim@meyering.net>
87063
87064         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
87065         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
87066
87067 2005-03-21  Jim Meyering  <jim@meyering.net>
87068         and  Paul Eggert  <eggert@cs.ucla.edu>
87069
87070         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
87071         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
87072         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
87073         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
87074         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
87075         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
87076         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
87077         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
87078         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
87079         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
87080         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
87081         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
87082         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
87083         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
87084         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
87085         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
87086         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
87087         for these modules.
87088
87089 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
87090
87091         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
87092         (which shouldn't happen), generate nothing instead of returning 0
87093         immediately, so that nstrftime (NULL, ...) doesn't return 0.
87094
87095 2005-03-16  Bruno Haible  <bruno@clisp.org>
87096
87097         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
87098         HAVE_LONGLONG_64BIT.
87099
87100 2005-03-16  Bruno Haible  <bruno@clisp.org>
87101
87102         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
87103         HAVE_LONGLONG_64BIT.
87104
87105 2005-03-16  Bruno Haible  <bruno@clisp.org>
87106
87107         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
87108         HAVE_LONGLONG_64BIT.
87109
87110 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87111
87112         * lib/strftime.c (my_strftime): Prepend space to format so that we can
87113         reliably distinguish strftime failure from empty output on POSIX
87114         hosts.
87115
87116 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87117
87118         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
87119         (iconv_string): Don't guess a size-zero buffer, as that might cause
87120         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
87121         result would be 'too large', where 'too large' is (heuristically)
87122         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
87123         overflow concerns.  This will prevent some unwanted malloc failures
87124         when the inputs are very large.
87125
87126 2005-03-15  Karl Berry  <karl@gnu.org>
87127
87128         * config/srclist.txt (config.rpath): from gettext.
87129         * config/config.rpath: update.
87130
87131 2005-03-15  Bruno Haible  <bruno@clisp.org>
87132
87133         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
87134         to 'negate'.
87135
87136         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
87137         variable.
87138
87139         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
87140         results.
87141
87142 2005-03-14  Simon Josefsson  <jas@extundo.com>
87143
87144         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
87145         <fx@gnu.org>.
87146
87147 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
87148
87149         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
87150         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
87151         intprops.h.
87152         * lib/strtol.c: Likewise.
87153
87154 2005-03-14  Jim Meyering  <jim@meyering.net>
87155
87156         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
87157         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
87158         to be nonzero so that we (and caller) can detect the difference
87159         between a valid zero-length expansion and an error return, even
87160         when the underlying strftime fails before writing anything into
87161         that location.
87162
87163 2005-03-14  Bruno Haible  <bruno@clisp.org>
87164
87165         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
87166         Update from GNU gettext 0.14.3.
87167
87168 2005-03-10  Jim Meyering  <jim@meyering.net>
87169
87170         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
87171
87172 2005-03-10  Jim Meyering  <jim@meyering.net>
87173
87174         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
87175         so that this module works on systems without fchdir.
87176
87177 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
87178
87179         Factor int-properties macros into a single file, except for
87180         glibc-related files.
87181         * lib/intprops.h: New file.
87182         * lib/getloadavg.c: Include it instead of limits.h.
87183         (INT_STRLEN_BOUND): Remove.
87184         * lib/human.c: Include intprops.h.
87185         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
87186         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
87187         302/1000.
87188         * lib/inttostr.h: Include intprops.h instead of limits.h.
87189         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
87190         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
87191         for consistency with intprops.h.
87192         (time_t_is_integer, twos_complement_arithmetic): Use them.
87193         * lib/sig2str.h: Include <signal.h>, intprops.h.
87194         (INT_STRLEN_BOUND): Remove.
87195         * lib/strftime.c (TYPE_SIGNED): Remove.
87196         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
87197         * lib/strtol.c: Adjust comments to match intprops.h.
87198         * lib/userspec.c: Include intprops.h.
87199         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
87200         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
87201         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
87202         instead of rolling our own expressions.
87203         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
87204
87205         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
87206         instead of int.
87207         (my_strftime): Do not mishandle years close to INT_MAX, by doing
87208         the right thing even if adding 1900 would overflow.  Similarly
87209         for tm_mon + 1 and tm_yday + 1.
87210         Make %Y always equivalent to %C%y, and similarly for %G and %g.
87211         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
87212         (DO_SIGNED_NUMBER): New macro.
87213         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
87214
87215 2005-03-07  Bruno Haible  <bruno@clisp.org>
87216
87217         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
87218
87219 2005-03-07  Bruno Haible  <bruno@clisp.org>
87220
87221         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
87222
87223 2005-03-04  Derek R. Price  <derek@ximbiot.com>
87224
87225         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
87226         (func_import): Only replace files via --import when they have actually
87227         changed.
87228
87229 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87230
87231         * m4/mmap-anon.m4: New file.
87232         * m4/pagealign_alloc.m4: New file.
87233
87234 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87235             Bruno Haible  <bruno@clisp.org>
87236
87237         * modules/pagealign_alloc: New file.
87238         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
87239
87240 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87241             Bruno Haible  <bruno@clisp.org>
87242
87243         * lib/pagealign_alloc.h: New file.
87244         * lib/pagealign_alloc.c: New file.
87245
87246 2005-03-03  Bruno Haible  <bruno@clisp.org>
87247
87248         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
87249         Use an all-permissive copyright notice, recommended by RMS.
87250
87251 2005-03-02  Bruno Haible  <bruno@clisp.org>
87252
87253         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
87254         of AIX, the replacement has to be done only after <string.h> is
87255         included, therefore not in config.h. stpncpy.h does the replacement,
87256         and stpncpy.c uses it.
87257
87258 2005-03-02  Bruno Haible  <bruno@clisp.org>
87259
87260         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
87261         stpncpy.c uses it.
87262
87263 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87264
87265         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
87266         The workaround isn't strictly needed for POSIX conformance, and
87267         it's too much of a pain to configure and maintain.  We'll ask
87268         people to fix their kernels instead.
87269         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
87270         (NANOSLEEP_BUG_WORKAROUND): Remove.
87271         (xnanosleep): Remove the workaround.
87272
87273 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87274
87275         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
87276         Reported by Derek Price.
87277         (Include): Add "timespec.h".
87278
87279         * modules/xnanosleep (Depends-on): Remove gethrxtime.
87280
87281 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87282
87283         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
87284         to detect nanosleep bug.
87285
87286 2005-03-01  Bruno Haible  <bruno@clisp.org>
87287
87288         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
87289
87290 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
87291
87292         * modules/gethrxtime: New file.
87293         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
87294         (Depends-on): Add gethrxtime.
87295         (configure.ac): Add gl_XNANOSLEEP.
87296         (Makefile.am): Remove lib_SOURCES line.
87297
87298 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87299
87300         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
87301         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
87302
87303 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87304
87305         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
87306         * lib/timespec.h (gettime): Return void, since it always
87307         succeeds now.  All uses changed.
87308         * lib/gettime.c (gettime): Likewise.
87309         [HAVE_NANOTIME]: Prefer nanotime.
87310         Assume gettimeofday succeeds, as POSIX requires.
87311         Assime time () succeeds, since other code already does.
87312         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
87313         (timespec_subtract): Remove.
87314         (NANOSLEEP_BUG_WORKAROUND): New constant.
87315         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
87316         things considerably.  Use it only on GNU/Linux hosts, since the
87317         workaround shouldn't be needed elsewhere.
87318
87319 2005-02-24  Bruno Haible  <bruno@clisp.org>
87320
87321         * modules/gettext (Files): Add m4/glibc2.m4.
87322
87323 2005-02-24  Bruno Haible  <bruno@clisp.org>
87324
87325         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
87326         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
87327         * m4/progtest.m4:
87328         Update from GNU gettext 0.14.2.
87329         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
87330
87331 2005-02-24  Bruno Haible  <bruno@clisp.org>
87332
87333         * lib/localcharset.c: Update from GNU gettext 0.14.2.
87334         * lib/config.charset: Update from GNU gettext 0.14.2.
87335
87336 2005-02-24  Bruno Haible  <bruno@clisp.org>
87337
87338         * lib/gettext.h: Update from GNU gettext 0.14.2.
87339
87340 2005-02-23  Simon Josefsson  <jas@extundo.com>
87341
87342         * m4/iconvme.m4: New file.
87343
87344 2005-02-23  Jim Meyering  <jim@meyering.net>
87345
87346         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
87347         change.
87348         Thanks to Bruno Haible for catching it.
87349
87350 2005-02-22  Simon Josefsson  <jas@extundo.com>
87351
87352         * modules/iconvme: New file.
87353
87354         * MODULES.html.sh: Add iconvme.
87355
87356 2005-02-22  Simon Josefsson  <jas@extundo.com>
87357
87358         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
87359
87360 2005-02-22  Simon Josefsson  <jas@extundo.com>
87361
87362         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
87363
87364 2005-02-22  Jim Meyering  <jim@meyering.net>
87365
87366         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
87367         s/ifndef/ifdef/.
87368
87369 2005-02-20  Neil Conway  <neilc@samurai.com>
87370
87371         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
87372         returned by OSX/Darwin if the specified buffer is not large
87373         enough for the hostname.
87374
87375 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87376
87377         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
87378         pass it to _help, otherwise the latter coredumps trying to
87379         dereference state.root_argp.
87380
87381 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87382
87383         * modules/chdir-long (Depends-on): Add memrchr.
87384         * modules/memrchr (Files): Add lib/memrchr.h.
87385         (Include): "memrchr.h".
87386
87387 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87388
87389         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
87390
87391 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87392
87393         * lib/memrchr.h: New file.
87394         * lib/chdir-long.c: Include it.
87395         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
87396         Don't bother including stddef.h.
87397
87398 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
87399
87400         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
87401         inclusion.
87402         Include <sys/types.h>, for dev_t.
87403         (ME_DUMMY, ME_REMOTE): Move from here....
87404         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
87405         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
87406         Dmitry V. Levin.
87407         Include mountlist.h first, to test the interface.
87408
87409 2005-01-29  Bruno Haible  <bruno@clisp.org>
87410
87411         * lib/progname.c (program_name): Initialize.
87412         Needed when linking statically on MacOS X.
87413
87414 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87415
87416         Sync from coreutils.
87417         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
87418         (Depends-on): Add c-strtod.
87419         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
87420
87421 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87422
87423         Sync from coreutils.
87424         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
87425
87426         Remove files that are specific to coreutils.
87427         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
87428
87429 2005-01-28  Bruno Haible  <bruno@clisp.org>
87430
87431         * modules/javacomp: New file.
87432         * MODULES.html.sh (Java): Add javacomp.
87433
87434 2005-01-28  Bruno Haible  <bruno@clisp.org>
87435
87436         * m4/javacomp.m4: New file, from GNU gettext.
87437
87438 2005-01-28  Bruno Haible  <bruno@clisp.org>
87439
87440         * lib/javacomp.sh.in: New file, from GNU gettext.
87441         * lib/javacomp.h: New file, from GNU gettext.
87442         * lib/javacomp.c: New file, from GNU gettext.
87443
87444 2005-01-26  Simon Josefsson  <jas@extundo.com>
87445
87446         * lib/gai_strerror.c: Use GPL in header.
87447
87448 2005-01-26  Bruno Haible  <bruno@clisp.org>
87449
87450         * modules/javaexec: New file.
87451         * MODULES.html.sh (Java): Add javaexec.
87452
87453 2005-01-26  Bruno Haible  <bruno@clisp.org>
87454
87455         * m4/javaexec.m4: New file, from GNU gettext.
87456
87457 2005-01-26  Bruno Haible  <bruno@clisp.org>
87458
87459         * lib/javaexec.sh.in: New file, from GNU gettext.
87460         * lib/javaexec.h: New file, from GNU gettext.
87461         * lib/javaexec.c: New file, from GNU gettext.
87462
87463 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87464
87465         * modules/lchown (Depends-on): Remove lchown.h
87466
87467 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87468
87469         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
87470         must be defined if the header file was not found, in order
87471         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
87472
87473 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87474
87475         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
87476         initializers for struct pentry_state.
87477         (__argp_error): Check return value of __asprintf
87478         (__argp_failure): Translate error message
87479
87480         * lib/argp-parse.c: Removed braces around the expansion of N_()
87481
87482 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
87483
87484         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
87485         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
87486         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
87487         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
87488         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
87489         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
87490         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
87491         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
87492         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
87493         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
87494         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
87495         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
87496         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
87497         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
87498         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
87499         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
87500         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
87501         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
87502         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
87503         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
87504         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
87505         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
87506         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
87507         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
87508         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
87509         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
87510         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
87511         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
87512         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
87513         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
87514         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
87515         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
87516         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
87517         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
87518         xstrtol.m4, xstrtoumax.m4, yesno.m4:
87519         Use an all-permissive copyright notice, recommended by RMS.
87520
87521 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
87522
87523         * modules/chdir-long (Depends-on): Remove mempcpy.
87524
87525 2005-01-21  Jim Meyering  <jim@meyering.net>
87526
87527         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
87528         same value as for Solaris 9.
87529
87530         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
87531         component length.  This included changing the parameter to be
87532         of type `char *' rather than `char const *'.
87533         * lib/chdir-long.h (chdir_long): Update prototype.
87534
87535         * lib/openat.c (fdopendir, fstatat): New functions.
87536         * lib/openat.h: Include headers required for use of DIR and struct
87537         stat.
87538         [AT_SYMLINK_NOFOLLOW]: Define.
87539         (fdopendir, fstatat): Add prototypes.
87540
87541 2005-01-21  Bruno Haible  <bruno@clisp.org>
87542
87543         * modules/classpath: New file.
87544         * MODULES.html.sh (Java): Add classpath.
87545
87546 2005-01-21  Bruno Haible  <bruno@clisp.org>
87547
87548         * lib/classpath.h: New file, from GNU gettext.
87549         * lib/classpath.c: New file, from GNU gettext.
87550
87551 2005-01-20  Simon Josefsson  <jas@extundo.com>
87552
87553         * modules/version-etc-fsf: New file.
87554
87555 2005-01-20  Simon Josefsson  <jas@extundo.com>
87556
87557         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
87558         * lib/version-etc.c: Remove version_etc_copyright.
87559         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
87560         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
87561
87562 2005-01-20  Simon Josefsson  <jas@extundo.com>
87563
87564         * lib/base64.h (isbase64): Add.
87565
87566         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
87567         using a unsigned prototype, don't inline.
87568         (base64_decode): Use it.
87569
87570 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
87571
87572         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
87573         it.
87574
87575 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
87576
87577         * lib/save-cwd.c (save_cwd): Remove code to support the case
87578         where fchdir is missing or flaky.
87579
87580 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
87581
87582         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
87583
87584 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
87585
87586         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
87587         AC_LIBSOURCES now does this.
87588         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
87589         with new ullong_max module.
87590
87591 2005-01-19  Bruno Haible  <bruno@clisp.org>
87592
87593         * modules/sh-quote: New file.
87594         * MODULES.html.sh (Executing programs): Add sh-quote.
87595
87596 2005-01-19  Bruno Haible  <bruno@clisp.org>
87597
87598         * lib/sh-quote.h: New file, from GNU gettext.
87599         * lib/sh-quote.c: New file, from GNU gettext.
87600
87601 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
87602
87603         Merge from coreutils.
87604         * m4/ullong_max.m4: New file.
87605         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
87606         (gl_MACROS): Assume localeconv exists.
87607
87608 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
87609
87610         Merge changes from coreutils, as described below in several
87611         changelogs dated today.
87612
87613         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
87614         (O_DIRECTORY): Remove; not needed here, since "." must be
87615         a directory.  All uses removed.
87616         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
87617         universal on Suns, and we also need to test for IRIX.
87618         Revamp code to use 'if' rather than '#if'.
87619         Avoid unnecessary comparison of cwd->desc to 0.
87620
87621         * lib/utimens.c (futimens): Robustify the previous patch, by checking
87622         for known valid error numbers rather than observed invalid ones.
87623
87624 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
87625
87626         * modules/ullong_max: New file.
87627
87628         * modules/chdir-long, modules/openat: New files.
87629         * modules/save-cwd (Depends-on): Depend on chdir-long.
87630         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
87631
87632 2005-01-18  Jim Meyering  <jim@meyering.net>
87633
87634         Merge from coreutils.
87635         * m4/chdir-long.m4, m4/openat.m4: New files.
87636         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
87637         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
87638         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
87639         is sane and DOES follow symlinks.  Besides, testing 20 different
87640         systems found no broken chown implementations.
87641         Prompted by a change in rsync's copy of this macro.
87642         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
87643
87644         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
87645
87646         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
87647         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
87648         NULL-means-set-to-current-time semantics.
87649         Remove temporary file immediately, rather than waiting
87650         for configure's at-exit trap code to do it.
87651
87652 2005-01-18  Jim Meyering  <jim@meyering.net>
87653
87654         * lib/version-etc.c (version_etc_copyright): Update copyright date.
87655
87656         * lib/utimens.c (futimens): Account for the fact that futimes
87657         can also fail with errno == ENOSYS or errno == ENOENT.
87658         Patch from Dmitry V. Levin.
87659
87660         Change the name of the robust chdir function from chdir to chdir_long.
87661         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
87662         (restore_cwd): Use chdir_long, not chdir.
87663         * lib/chdir-long.c: Renamed from chdir.c.
87664         * lib/chdir-long.h: Renamed from chdir.h.
87665         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
87666         Hurd.
87667
87668 2005-01-18  Bruno Haible  <bruno@clisp.org>
87669
87670         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
87671         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
87672         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
87673         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
87674         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
87675         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
87676         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
87677         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
87678         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
87679         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
87680         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
87681         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
87682         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
87683         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
87684         Use an all-permissive copyright notice, recommended by RMS.
87685
87686 2005-01-18  Bob Proulx  <bob@proulx.com>
87687
87688         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
87689         simplify offsetof() macro construct to avoid compile failure with
87690         native HP-UX 11.0 ANSI C compiler.
87691
87692 2005-01-17  Bruno Haible  <bruno@clisp.org>
87693
87694         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
87695         redundant because stpncpy.m4 takes care of it.
87696
87697 2005-01-17  Bruno Haible  <bruno@clisp.org>
87698
87699         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
87700
87701 2005-01-17  Bruno Haible  <bruno@clisp.org>
87702
87703         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
87704         used.
87705
87706 2005-01-17  Bruno Haible  <bruno@clisp.org>
87707
87708         * lib/fwriteerror.h (fwriteerror): Change specification to include
87709         fclose.
87710         * lib/fwriteerror.c: Include <stdbool.h>.
87711         (fwriteerror): At the end, close the file stream. Record whether
87712         stdout was already closed.
87713
87714 2005-01-17  Bruno Haible  <bruno@clisp.org>
87715
87716         * lib/execute.c (environ): Declare if needed.
87717         * lib/pipe.c (environ): Likewise.
87718         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
87719
87720 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87721
87722         * modules/argp: Depend on vsnprintf
87723
87724 2005-01-10  Jim Meyering  <jim@meyering.net>
87725
87726         * modules/closeout (Depends-on): Add atexit.
87727
87728 2005-01-06  Bruno Haible  <bruno@clisp.org>
87729
87730         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
87731
87732 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
87733
87734         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
87735         definitions to be after all include files, to avoid collisions.
87736         Problem reported by Bob Proulx.
87737
87738 2005-01-04  Jim Meyering  <jim@meyering.net>
87739
87740         Changes imported from coreutils.
87741         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
87742         as the mkstemp template, use a temporary directory and an
87743         8.3-friendly template to avoid trouble on systems like DJGPP.
87744         Reported by Juan M. Guerrero via Stepan Kasal.
87745         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
87746         close. Remove the temporary directory right away, rather than waiting
87747         for configure's at-exit trap code to do it.
87748         Suggestion from Stepan Kasal.
87749
87750 2005-01-01  Simon Josefsson  <jas@extundo.com>
87751
87752         * gnulib-tool: Print #include directives when --import'ing.
87753
87754 2004-12-28  Simon Josefsson  <jas@extundo.com>
87755
87756         * tests/test-base64.c: Include required header files.  Remove
87757         unused variables.
87758
87759 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
87760
87761         * modules/error (Depends-on): Remove gettext.
87762
87763 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
87764
87765         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
87766         not needed.  This removes a dependency on the gettext module.
87767         [defined _LIBC]: Do not include <libintl.h>; not needed.
87768
87769 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
87770
87771         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
87772         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
87773
87774 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
87775
87776         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
87777         HAVE_DECL_STRTOLD.
87778
87779 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
87780
87781         * modules/getdate (Depends-on): Remove alloca-opt.
87782
87783 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
87784
87785         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
87786
87787 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
87788
87789         * lib/argp-parse.c: Include <stddef.h>.
87790         (alignof, alignto): New macros.
87791         (parser_init): Don't assume that void * is aligned sufficiently
87792         for struct option.
87793
87794         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
87795         need to extend the stack.
87796         (YYINITDEPTH): New macro, so that the initial stack isn't overly
87797         large.
87798
87799 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87800
87801         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
87802
87803 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
87804
87805         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
87806         (2004-10-24) change.  Apparently this was a false alarm.
87807
87808         * modules/getdate: Depend on alloca-opt, not alloca.
87809
87810 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
87811
87812         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
87813         Remove now-obsolete comment about AIX.
87814         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
87815         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
87816         (YYMAXDEPTH): New macro.
87817
87818 2004-12-18  Simon Josefsson  <jas@extundo.com>
87819
87820         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
87821
87822 2004-12-18  Bruno Haible  <bruno@clisp.org>
87823
87824         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
87825
87826 2004-12-18  Bruno Haible  <bruno@clisp.org>
87827
87828         * lib/fatal-signal.c (fatal_signals): Make non-const.
87829         (init_fatal_signals): New function.
87830         (uninstall_handlers, install_handlers): Ignore signals that were set to
87831         SIG_IGN.
87832         (at_fatal_signal): Call init_fatal_signals.
87833         (init_fatal_signal_set): Likewise. Ignore signals that were set to
87834         SIG_IGN.
87835         Reported by Paul Eggert.
87836
87837 2004-12-18  Bruno Haible  <bruno@clisp.org>
87838
87839         * doc/alloca.texi: New file.
87840         * doc/alloca-opt.texi: New file.
87841
87842 2004-12-17  Jim Meyering  <jim@meyering.net>
87843
87844         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
87845         Otherwise, install-sh could exit with improper exit status when
87846         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
87847
87848 2004-12-16  Simon Josefsson  <jas@extundo.com>
87849
87850         * tests/test-base64.c: Add license.
87851
87852 2004-12-15  Stepan Kasal  <address@hidden>
87853
87854         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
87855
87856 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
87857
87858         * modules/getcwd (Files): Add m4/d-ino.m4.
87859         Suggested by Mark D. Baushke.
87860
87861 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
87862
87863         * lib/getdate.y (textint): New member "negative".
87864         (time_zone_hhmm): New function.
87865         Expect 14 shift-reduce conflicts, not 13.
87866         (o_colon_minutes): New rule.
87867         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
87868         (yylex): Set the "negative" member of signed numbers.
87869
87870 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
87871
87872         * doc/getdate.texi (Time of day items, Time zone items):
87873         Describe new formats +00:00, UTC+00:00.
87874
87875 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
87876
87877         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
87878         spurious "-l"s.  Problem reported by Stepan Kasal.
87879
87880 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
87881
87882         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
87883         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
87884
87885 2004-12-04  Simon Josefsson  <jas@extundo.com>
87886
87887         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
87888         Vandoorselaere <yoann@prelude-ids.org>.
87889
87890 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
87891
87892         Changes imported from coreutils.
87893         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
87894         exist.
87895         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
87896
87897 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
87898
87899         Changes imported from coreutils.
87900         * lib/hard-locale.c: Assume <locale.h> exists.
87901         Include "strdup.h".
87902         (GLIBC_VERSION): New macro.
87903         (hard_locale): Assume setlocale exists.
87904         Rewrite to avoid #ifdef.
87905         Use strdup rather than malloc + strcpy.
87906         * lib/human.c: Assume <locale.h> exists.
87907         (human_readable): Assume localeconv exists.
87908
87909 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
87910
87911         * modules/hard-locale (Depends-on): Add strdup.
87912
87913 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
87914
87915         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
87916         convert T2, not T.  (Imported from libc.)
87917
87918 2004-11-30  Simon Josefsson  <jas@extundo.com>
87919
87920         * modules/restrict (License): Change to LGPL.
87921
87922 2004-11-30  Simon Josefsson  <jas@extundo.com>
87923
87924         * m4/restrict.m4: Add copyright and copying conditions.
87925
87926 2004-11-30  Simon Josefsson  <jas@extundo.com>
87927
87928         * m4/base64.m4: New file.
87929
87930 2004-11-30  Simon Josefsson  <jas@extundo.com>
87931
87932         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
87933         base64.
87934
87935         * tests/test-base64.c: New file.
87936
87937         * modules/base64: New file.
87938
87939 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
87940
87941         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
87942         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
87943
87944         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
87945
87946 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
87947
87948         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
87949         (__getcwd.c): Don't restore errno; glibc doesn't.
87950         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
87951         first, falling back to our code only if its results look suspicious.
87952         Ensure that the resulting buffer is only as large as necessary.
87953
87954         * lib/readutmp.c: Include readutmp.h first.
87955         Include <errno.h>, since readutmp.h no longer does that.
87956         * lib/readutmp.h: Don't include <errno.h>,
87957         <sys/param.h>, <time.h>; not needed to establish interface.
87958         (errno): Remove decl.
87959         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
87960         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
87961         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
87962
87963 2004-11-28  Simon Josefsson  <jas@extundo.com>
87964
87965         * lib/base64.h, base64.c: New file.
87966
87967 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
87968
87969         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
87970
87971 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
87972
87973         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
87974         (Depends-on): Remove pathmax, same.  Add mempcpy.
87975         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
87976         (Makefile.am): Append getcwd.h to lib_SOURCES.
87977         (Include): Add getcwd.h.
87978         (Maintainer): Change from Jim Meyering to "all, glibc",
87979         since getdate now uses intended-for-glibc code.
87980         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
87981         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
87982
87983 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
87984
87985         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
87986         HP's ANSI C compiler.
87987         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
87988         Declaring int functions causes warnings on some modern systems and
87989         shouldn't be needed to compile on ancient ones.
87990         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
87991         defined.
87992
87993         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
87994         with the following changes.
87995         (__set_errno): Parenthesize properly.
87996         Include <stdbool.h>.
87997         (MIN, MAX, MATCHING_INO): New macros.
87998         (__getcwd): Define with prototype, not K&R form.
87999         Use heuristics to allocate default buffer on stack if possible.
88000         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
88001         behavior, and to avoid the PATH_MAX limit when computing
88002         ../../../../...
88003         Use MATCHING_INO to compare inode number to file.
88004         Check for arithmetic overflow in size calculations.
88005         Fix bug in reallocation of dot array that caused getcwd to fail
88006         on directories nested deeper than 75.
88007         Be more careful about saving errno on error.
88008         Do not use realloc; use only free+malloc, as this is a bit
88009         more flexible and avoids a needless copy operation.
88010         Do not inspect st_dev and st_ino for symbolic links; POSIX
88011         doesn't specify the latter.
88012         Check for closedir errors.
88013         Avoid needless casts.
88014         Use "#ifdef weak_alias" around weak_alias, to be like other
88015         glibc code.
88016         The following changes to getcwd.c have effect only when used in
88017         gnulib; they have no effect inside glibc proper.
88018         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
88019         as alloca isn't used.
88020         (alloca, __alloca): Likewise.
88021         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
88022         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88023         unconditionally, as gnulib assumes C89 or better.
88024         Do not include <sys/param.h>.
88025         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
88026         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
88027         better.
88028         (NULL) [!defined NULL]: Remove; we assume C89 or better.
88029         Include <dirent.h> in a way that is compatible with modern Autoconf.
88030         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
88031         New macros, if not already defined.
88032         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
88033         Use "_LIBC", not "defined _LIBC", for consistency.
88034         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
88035         a mempcpy module.
88036         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
88037         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
88038         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
88039         credit only to Jim Meyering and adjust the copyright dates.
88040         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
88041         <stdlib.h>, <unistd.h>, "pathmax.h".
88042         Instead, include "xgetcwd.h" (first) and "getcwd.h".
88043         (INITIAL_BUFFER_SIZE): Remove.
88044         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
88045
88046 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88047
88048         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
88049         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
88050         Use the _ONCE methods, for efficiency.
88051         Check for fcntl.h.  In test program, include <errno.h>
88052         and <fcntl.h> if available.  Remove old K&R cruft from
88053         test program.  Check for common errors in GNU/Linux,
88054         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
88055         don't do AC_LIBOBJ, as that's getcwd.m4's job.
88056         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
88057         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
88058         name accordingly.
88059         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
88060         accommodate new getcwd.c.
88061         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
88062         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
88063         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
88064         that's all we need now.
88065
88066 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88067
88068         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
88069         argp-parse.c depends on getopt internals, that means we should
88070         always use our getopt, to be on the safe side.
88071         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
88072         order not to spoil the result of an eventual previous invocation
88073         of gl_GETOPT_SUBSTITUTE.
88074
88075 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88076
88077         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
88078         redefinition warnings. To avoid them, include the defines
88079         in `#if !defined __need_getopt ... #endif'. The only place
88080         where __getopt_argv_const is used is in definitions
88081         of getopt_long and getopt_long_only below, which are as well
88082         protected by `#ifndef __need_getopt'.
88083         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
88084         __need_getopt after including <stdio.h> and <unistd.h> These
88085         headers might have defined it.
88086
88087 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88088
88089         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
88090
88091 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88092
88093         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
88094         (futimens): New function, which uses futimes if available.
88095         (futimens, utimens): Support timespec==NULL, with same semantics
88096         as utime and utimens.
88097         * lib/utimens.h (futimens): New decl.
88098
88099 2004-11-23  Jim Meyering  <jim@meyering.net>
88100
88101         * lib/getopt_.h: Remove trailing blanks.
88102
88103 2004-11-23  Jim Meyering  <jim@meyering.net>
88104
88105         * lib/__fpending.c: Add comment.
88106
88107 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
88108
88109         * modules/canonicalize (Depends-on): Add xreadlink.
88110         Problem reported by James Youngman.
88111
88112 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
88113
88114         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
88115         New macros.
88116         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
88117         optopt): Use them instead of invoking ## directly; otherwise, the
88118         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
88119
88120 2004-11-19  Bruno Haible  <bruno@clisp.org>
88121
88122         * lib/strtok_r.c: Move comments from here...
88123         * lib/strtok_r.h: ... to here.
88124
88125 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88126
88127         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
88128         implementations that mishandle size_t overflow.
88129
88130 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88131
88132         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
88133         might fail.  Problem reported by Yoann Vandoorselaere.
88134         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
88135         implementations that mishandle size_t overflow.
88136
88137 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88138
88139         * modules/canon-host (Depends-on): Add strdup.
88140
88141 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88142
88143         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
88144
88145 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88146
88147         * lib/canon-host.c: Include "strdup.h".
88148         (canon_host): Use getaddrinfo if available, so that IPv6 works.
88149         Use strdup instead of malloc/strcpy to duplicate strings.
88150
88151         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
88152         (human_space_before_unit): New constant.
88153         * lib/human.c (human_readable): Support it.
88154
88155         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
88156         (xgetcwd): Set errno correctly when failing.
88157         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
88158         the failure is actually due to a PATH_MAX problem.
88159
88160         Further getopt changes to make it more likely that glibc will
88161         buy the changes back.
88162         * lib/getopt.c (POSIXLY_CORRECT): New constant.
88163         (getopt): Use it, so to preserve glibc semantic
88164         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
88165         when compiling for libc.
88166         * lib/getopt_.h (__getopt_argv_const): Bring it back.
88167         (getopt_long, getopt_long_only): Use it.
88168
88169         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88170         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
88171         (getopt): Argv is now char * const *, as per standard.
88172         (_getopt_internal_r, _getopt_internal): Argv is now char **,
88173         not char *__getopt_argv_const *.
88174         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88175         _getopt_long_only_r): Likewise.
88176         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
88177         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88178         _getopt_long_r, _getopt_long_only_r): Likewise.
88179         * lib/getopt_.h (__getopt_argv_const): Remove.
88180         (getopt): Argv is now char * const *, as per standard.
88181
88182         * lib/getdate.y (tORDINAL): New token.
88183         (day, relunit): Allow it for relative times.
88184         (relative_time_table): Use tORDINAL for ordinals.
88185
88186 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88187
88188         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
88189         Document that "second" isn't allowed as an ordinal number.
88190
88191 2004-11-16  Jim Meyering  <jim@meyering.net>
88192
88193         * modules/closeout (Depends-on): Add fpending.
88194
88195 2004-11-15  Jim Meyering  <jim@meyering.net>
88196
88197         * lib/closeout.c: Include "__fpending.h" once again.
88198         Include <stdbool.h>.
88199         (close_stdout): Don't fail just because stdout was closed initially,
88200         since some programs don't write to stdout in the normal course of
88201         operation (other than --version and --help), and we don't want this
88202         function to make e.g. `touch file >&-' fail.
88203         But do fail if it was closed and someone has tried to write to it.
88204         E.g., `printf foo >&-' must fail.
88205
88206 2004-11-13  Jim Meyering  <jim@meyering.net>
88207
88208         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
88209
88210 2004-11-12  Simon Josefsson  <jas@extundo.com>
88211
88212         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
88213         small doc fix is still pending.
88214
88215 2004-11-11  Simon Josefsson  <jas@extundo.com>
88216
88217         * modules/strtok_r: New file.
88218
88219         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88220         strtok_r.
88221
88222 2004-11-11  Simon Josefsson  <jas@extundo.com>
88223
88224         * m4/strtok_r.m4: New file.
88225
88226         * m4/getopt.m4: Replace opterr.
88227
88228 2004-11-11  Simon Josefsson  <jas@extundo.com>
88229
88230         * lib/strtok_r.h, strtok_r.c: New file.
88231
88232 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88233
88234         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
88235         of replacing opterr, getopt, etc.  This should handle the
88236         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
88237
88238 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88239
88240         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
88241         we can stop lying to compilers about the constness of argv when we
88242         are compiled outside glibc.
88243         (getopt, getopt_long, getopt_long_only): Use it.
88244         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88245         _getopt_internal, getopt): Likewise.
88246         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88247         _getopt_long_only_r): Likewise.
88248         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88249         _getopt_long_r, _getopt_long_only_r): Likewise.
88250
88251         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
88252         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
88253         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
88254         the other external symbols.
88255         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
88256         declaration, since the above renaming now works around collisions.
88257
88258 2004-11-11  Jim Meyering  <jim@meyering.net>
88259
88260         * lib/linebreak.c: Remove trailing blanks.
88261         * lib/alloca_.h: Likewise.
88262         * lib/acosl.c: Likewise.
88263         * lib/euidaccess.c: Likewise.
88264         * lib/allocsa.h: Likewise.
88265
88266 2004-11-10  Simon Josefsson  <jas@extundo.com>
88267
88268         * m4/getaddrinfo.m4: New file.
88269
88270 2004-11-10  Simon Josefsson  <jas@extundo.com>
88271
88272         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
88273
88274 2004-11-10  Simon Josefsson  <jas@extundo.com>
88275
88276         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88277         getaddrinfo.
88278
88279         * modules/getaddrinfo: New file.
88280
88281 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88282
88283         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
88284
88285 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88286
88287         * lib/mktime.c (SHR): New macro, which is a portable
88288         substitute for >> that should work even on Crays.
88289         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
88290         Problem reported by Mark D. Baushke in
88291         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
88292         * lib/getdate.y (SHR): Likewise.
88293         (tm_diff): Use it.
88294         * lib/strftime.c (SHR): Likewise.
88295         (tm_diff): Use it.
88296         * lib/quotearg.c (struct quoting_options): Use unsigned int for
88297         quote_these_too, so that right shifts are well defined.  All uses
88298         changed.
88299
88300 2004-11-10  Jim Meyering  <jim@meyering.net>
88301
88302         Ensure that no close failure goes unreported.
88303         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
88304         return early when it seems there's nothing to flush.
88305         Don't include __fpending.h.
88306
88307 2004-11-10  Jim Meyering  <jim@meyering.net>
88308
88309         * modules/closeout (Depends-on): Remove fpending.
88310
88311 2004-11-10  Jim Meyering  <jim@meyering.net>
88312
88313         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
88314
88315 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88316
88317         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
88318         gl_FUNC_STRFTIME.
88319         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
88320         and AC_REQUIRE when possible, to avoid duplicate checks.
88321         Check for <wchar.h>.
88322
88323 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88324
88325         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
88326
88327 2004-11-09  Bruno Haible  <bruno@clisp.org>
88328
88329         * m4/sockpfaf.m4: New file.
88330
88331 2004-11-05  Bruno Haible  <bruno@clisp.org>
88332
88333         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
88334         Reported by Mark D. Baushke <mdb@cvshome.org>.
88335
88336 2004-11-04  Bruno Haible  <bruno@clisp.org>
88337
88338         2004-09-11  Bruno Haible  <bruno@clisp.org>
88339                 * allocsa.valgrind: New file.
88340         2004-02-06  Bruno Haible  <bruno@clisp.org>
88341                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
88342                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
88343                 Reported by Christopher Seip <chris.seip@hp.com>.
88344
88345 2004-11-04  Bruno Haible  <bruno@clisp.org>
88346
88347         * modules/allocsa (Files): Add lib/allocsa.valgrind.
88348         (Makefile.am): Distribute it.
88349
88350 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
88351
88352         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
88353         with errno == ERANGE if the buffer is too small.
88354         Problem reported by Mark D. Baushke.
88355
88356 2004-11-03  Albert Chin  <china@thewrittenword.com>
88357             Paul Eggert  <eggert@cs.ucla.edu>
88358
88359         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
88360         equivalent, substitute $ac_type for equivalent type rather than
88361         blindly using uint32_t *always* which won't work if uint32_t is not
88362         available.  Define _UINT32_T to work around typedef of uint32_t if
88363         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
88364         2.5.1.
88365
88366 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88367
88368         * m4/jm-macros.m4: Sync from coreutils.
88369         (gl_MACROS): Check for mbrlen, for pathchk.
88370         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
88371
88372 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88373
88374         * lib/xreadlink.c (MAXSIZE): New macro.
88375         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
88376         size does not exceed MAXSIZE.  Avoid cast.
88377         As suggested by Mark D. Baushke in
88378         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
88379         if readlink fails with buffer size just under MAXSIZE, try again
88380         with MAXSIZE.
88381
88382 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88383
88384         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
88385
88386 2004-11-02  Derek R. Price  <derek@ximbiot.com>
88387         and  Paul Eggert  <eggert@cs.ucla.edu>
88388
88389         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
88390         (get_date): Overparenthesize to avoid GCC warning.
88391
88392 2004-11-02  Bruno Haible  <bruno@clisp.org>
88393
88394         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
88395         returns void.
88396
88397 2004-11-02  Bruno Haible  <bruno@clisp.org>
88398
88399         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
88400         function returns void.
88401
88402 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88403
88404         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
88405         fflush_unlocked, flockfile, funlockfile, funlockfile,
88406         fputs_unlocked, putc_unlocked.
88407
88408 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88409
88410         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
88411         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
88412         already declared.
88413
88414 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88415
88416         * modules/getdate (Files): Add doc/getdate.texi.
88417         (Depends-on): Add setenv, xalloc.
88418
88419 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88420
88421         * lib/getdate.y: Add support for TZ="foo" within a date string.
88422         Fix some bugs near time_t boundaries.  Reject dates with
88423         out-of-range components, e.g., "Sept 31".
88424         Include <stdlib.h>, "setenv.h", "xalloc.h".
88425         (ISDIGIT_LOCALE): Remove; unused.
88426         Note that the TZ and time functions used here are not reentrant.
88427         (mktime_ok, get_tz): New functions.
88428         (TZBUFSIZE): New constant.
88429         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
88430         This requires that we sometimes generate our own TZ="XXX..." setting.
88431
88432 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88433
88434         * doc/getdate.texi: New file, from coreutils with modifications for
88435         the new TZ parsing.
88436
88437 2004-10-27  Derek R. Price  <derek@ximbiot.com>
88438
88439         * lib/mktime.c (not_equal_tm): Remove redundant check.
88440
88441 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
88442
88443         * modules/regex (lib_SOURCES): Add regex.c.
88444         Reported by James Youngman in
88445         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
88446
88447 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
88448
88449         * lib/getdate.y: Use Bison 1.875 features, and some minor
88450         code cleanups.  This change does not affect semantics.
88451         Don't include <stdlib.h>; no longer needed.
88452         Don't include unlocked-io.h; only the "#if TEST" code uses
88453         stdio, and performance isn't crucial there.
88454         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
88455         Bison 1.875 features as described below.
88456         All uses of "PC." replaced by "pc->".
88457         (YYSTYPE): Add a forward declaration.
88458         (yylex, yyerror): Use full prototypes in forward decls.
88459         Use "%pure-parser" rather than obsolescent "%pure_parser".
88460         Use %parse-param and %lex-param instead of obsolescent
88461         YYPARSE_PARAM and YYLEX_PARAM.
88462         (meridian_table, month_and_day_table, time_units_table,
88463         relative_time_table, time_zone_table, military_table,
88464         lookup_zone, lookup_word, get_date):
88465         Use NULL instead of 0 where appropriate.
88466         (to_hour): Avoid abort (), to avoid a dependency on
88467         stdlib.h.
88468         (yyerror, yylex): Now accepts parser_control * arg.
88469         (main) [TEST]: Use '\0' rather than 0 for char.
88470
88471 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
88472
88473         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
88474
88475 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
88476
88477         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
88478         It's now the caller's responsibility to handle the case where
88479         !HAVE_GETPAGESIZE && !defined getpagesize.
88480
88481         * lib/mktime.c (leapyear): Arg is long int, not int.
88482
88483 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
88484
88485         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
88486
88487 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
88488
88489         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
88490         missing.  Problem reported by James Youngman.
88491
88492 2004-10-16  Simon Josefsson  <jas@extundo.com>
88493
88494         * gnulib-tool: Fix comments.  Fix parse problem.
88495         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
88496
88497 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
88498
88499         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
88500         implementation of getopt_long.  Problem reported by Alexander Taler in:
88501         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
88502
88503 2004-10-15  Bruno Haible  <bruno@clisp.org>
88504
88505         * gnulib-tool: Untabify. Initialize supplied_libname.
88506         (func_usage): More homogenous output.
88507         (func_modules_transitive_closure, func_modules_to_filelist,
88508         func_emit_lib_Makefile_am): New functions.
88509         (func_import): New function, extracted from big case statement. Use
88510         func_get_license, func_modules_transitive_closure,
88511         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
88512         opt_lgpl. Don't use test -a, as it's not portable.
88513         (func_create_testdir): Use func_modules_transitive_closure,
88514         func_modules_to_filelist, func_emit_lib_Makefile_am.
88515
88516 2004-10-15  Bruno Haible  <bruno@clisp.org>
88517
88518         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
88519
88520 2004-10-15  Bruno Haible  <bruno@clisp.org>
88521
88522         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
88523         the portions belonging to each module.
88524         Suggested by Derek Robert Price <derek@ximbiot.com>.
88525
88526 2004-10-12  Simon Josefsson  <jas@extundo.com>
88527
88528         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
88529         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
88530         to real functions.
88531
88532 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88533
88534         * modules/vsnprintf: New file.
88535
88536 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88537
88538         * m4/vsnprintf.m4: New file.
88539
88540 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88541
88542         * lib/vsnprintf.h: New file.
88543         * lib/vsnprintf.c: New file.
88544
88545 2004-10-11  Bruno Haible  <bruno@clisp.org>
88546
88547         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
88548         vsnprintf.
88549
88550 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
88551
88552         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
88553
88554 2004-10-07  Bruno Haible  <bruno@clisp.org>
88555
88556         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
88557         fits into the provided buffer.
88558
88559 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
88560
88561         * lib/diacrit.c, diacrit.h: Add GPL notice.
88562
88563         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
88564         notice.
88565         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
88566         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
88567         This avoids a potential constant-folding bug.
88568
88569 2004-10-05  Bruno Haible  <bruno@clisp.org>
88570
88571         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
88572         for the declaration of strsep.
88573
88574 2004-10-05  Bruno Haible  <bruno@clisp.org>
88575
88576         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
88577
88578 2004-10-04  Simon Josefsson  <jas@extundo.com>
88579
88580         * modules/memmem: New file.
88581         * tests/test-memmem.c: New file.
88582         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
88583
88584 2004-10-04  Simon Josefsson  <jas@extundo.com>
88585
88586         * m4/memmem.m4: New file.
88587
88588 2004-10-04  Simon Josefsson  <jas@extundo.com>
88589
88590         * lib/memmem.h: New file.
88591         * lib/memmem.c: New file, taken from glibc.
88592
88593 2004-10-04  Simon Josefsson  <jas@extundo.com>
88594
88595         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
88596         '#ifdef USE_UNLOCKED_IO'.
88597
88598 2004-10-04  Simon Josefsson  <jas@extundo.com>
88599
88600         * config/srclist.txt: Add memmem from glibc.
88601
88602 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88603
88604         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
88605
88606         * modules/argmatch, modules/argp, modules/closeout, modules/error,
88607         modules/exclude, modules/getdate, modules/getline,
88608         modules/getndelim2, modules/getpass, modules/getpass-gnu,
88609         modules/getusershell, modules/linebuffer, modules/md5,
88610         modules/mountlist, modules/posixtm, modules/readtokens,
88611         modules/readutmp, modules/regex, modules/sha1,
88612         modules/version-etc, modules/yesno:
88613         Remove dependency on unlocked-io.
88614
88615 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88616
88617         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
88618
88619         * m4/unlocked-io.m4: Add copyright notice.
88620         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
88621
88622 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88623
88624         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
88625         * lib/xmalloc.c (xmemdup): Likewise.
88626         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
88627         XFREE): Remove these long-obsolescent macros.
88628         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
88629         * lib/xstrdup.c: Remove.
88630
88631         * lib/regex.c (re_comp): Cast gettext return value to char *,
88632         Problem reported by Martin Neitzel via Mark D. Baushke.
88633
88634 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88635
88636         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
88637         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
88638         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
88639         regex.c, sha1.c, version-etc.c, yesno.c:
88640         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
88641         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
88642         the includer's responsibility.
88643
88644         Sync from coreutils.
88645
88646         * lib/modechange.c (mode_compile): Don't decrement a pointer that
88647         points to the start of a string, as the C Standard says the
88648         resulting behavior is undefined.
88649
88650         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
88651         simple -> simple_backups, numbered_existing ->
88652         numbered_existing_backups, numbered -> numbered_backups
88653         to avoid shadowing problems.  All uses changed.
88654         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
88655         * lib/backupfile.c (check_extension, numbered_backup):
88656         Rename locals to avoid shadowing 'basename'.
88657         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
88658         once.
88659
88660         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
88661         * lib/.cvsignore: Add getopt.h.
88662
88663 2004-10-04  Bruno Haible  <bruno@clisp.org>
88664
88665         * modules/README: New file.
88666         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
88667         not a module.
88668
88669 2004-10-02  Jim Meyering  <jim@meyering.net>
88670
88671         * lib/dirfd.h, getpagesize.h: Add copyright notice.
88672
88673 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88674
88675         * modules/strsep: New file.
88676
88677 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88678
88679         * m4/strsep.m4: New file.
88680
88681 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88682
88683         * lib/strsep.h: New file.
88684         * lib/strsep.c: New file.
88685
88686 2004-10-01  Simon Josefsson  <jas@extundo.com>
88687
88688         * lib/snprintf.c (snprintf): Handle size==0.
88689
88690 2004-10-01  Simon Josefsson  <jas@extundo.com>
88691             Bruno Haible  <bruno@clisp.org>
88692
88693         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
88694         (snprintf): Declare 'args'.
88695
88696 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
88697
88698         * lib/snprintf.c: Remove comments as to why each header is needed.
88699
88700 2004-10-01  Bruno Haible  <bruno@clisp.org>
88701
88702         * MODULES.html.sh: Add strsep.
88703
88704 2004-09-30  Simon Josefsson  <jas@extundo.com>
88705
88706         * modules/snprintf: New file.
88707
88708 2004-09-30  Simon Josefsson  <jas@extundo.com>
88709
88710         * m4/snprintf.m4: New file.
88711
88712 2004-09-30  Simon Josefsson  <jas@extundo.com>
88713
88714         * lib/snprintf.h, lib/snprintf.c: New files.
88715
88716 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88717
88718         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
88719         (hol_entry_help): Never translate an empty string.
88720         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
88721         * lib/argp.h (OPTION_NO_TRANS): New option.
88722
88723 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
88724
88725         * modules/argp (Maintainer): Replace Simon Josefsson
88726         by Sergey Poznyakoff.
88727
88728 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
88729
88730         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
88731         changes merged back into glibc.
88732
88733 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
88734
88735         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
88736
88737 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
88738
88739         * lib/xvasprintf.c: Include xalloc.h.
88740         (xvasprintf): Use xalloc_die, not xmalloc_die.
88741
88742 2004-09-29  Bruno Haible  <bruno@clisp.org>
88743
88744         * modules/alloca-opt: New file, derived from modules/alloca.
88745         * modules/allocsa: Depend on alloca-opt instead of alloca.
88746         * modules/setenv: Likewise.
88747         * modules/vasnprintf: Likewise.
88748         * MODULES.html.sh: Add alloca-opt.
88749
88750 2004-09-28  Simon Josefsson  <jas@extundo.com>
88751
88752         * gnulib-tool: New parameter --lgpl, to asseert that modules are
88753         LGPL, and to replace license template from GPL to LGPL.
88754
88755 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
88756
88757         * modules/dummy: Change license to LGPL.
88758
88759 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
88760
88761         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
88762
88763 2004-09-24  Simon Josefsson  <jas@extundo.com>
88764
88765         * modules/minmax (License): Change from GPL to LGPL.
88766
88767 2004-09-23  Simon Josefsson  <jas@extundo.com>
88768
88769         * gnulib-tool (--import): Typo.
88770
88771 2004-09-23  Simon Josefsson  <jas@extundo.com>
88772
88773         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
88774
88775 2004-09-22  Bruno Haible  <bruno@clisp.org>
88776
88777         * modules/*: Add 'License' field.
88778         * gnulib-tool: Accept --extract-license option.
88779         (func_get_license): New function.
88780
88781 2004-09-21  Bruno Haible  <bruno@clisp.org>
88782
88783         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
88784         Reported by Simon Josefsson.
88785
88786 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
88787
88788         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
88789         gl_AC_TYPE_LONG_LONG.
88790
88791 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
88792
88793         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
88794
88795 2004-09-18  Simon Josefsson  <jas@extundo.com>
88796         and  Paul Eggert  <eggert@cs.ucla.edu>
88797
88798         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
88799         calls with autoreconf.  Define GL_LIB.
88800
88801 2004-09-14  Karl Berry  <karl@gnu.org>
88802
88803         * config/srclist.txt: unsync setenv.c, sigh.
88804
88805 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
88806
88807         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
88808         Problem reported by Bruno Haible in:
88809         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
88810
88811 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
88812
88813         * config/srclist.txt: Comment out argp-pvh.c.
88814
88815 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
88816
88817         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
88818         in case some system header has #define'd it.  Problem reported by
88819         Soeren D. Schulze in
88820         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
88821
88822 2004-09-09  Karl Berry  <karl@gnu.org>
88823
88824         * regex.[ch]: delete from the root.  These were supposed to be
88825                 synced with emacs cvs, but this has not happened for about
88826                 a year, and anyway nothing else uses emacs regex.[ch].
88827                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
88828                 lib/regex[.ch] is untouched.
88829
88830 2004-09-09  Bruno Haible  <bruno@clisp.org>
88831
88832         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
88833
88834 2004-09-09  Bruno Haible  <bruno@clisp.org>
88835
88836         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
88837         modifications.
88838         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
88839
88840 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
88841
88842         * modules/xvasprintf: New file.
88843         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
88844
88845 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
88846
88847         * lib/xvasprintf.h: New file.
88848         * lib/xvasprintf.c: New file.
88849         * lib/xasprintf.c: New file.
88850
88851 2004-09-08  Bruno Haible  <bruno@clisp.org>
88852
88853         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
88854
88855 2004-09-08  Bruno Haible  <bruno@clisp.org>
88856
88857         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
88858         length is > INT_MAX.
88859         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
88860         more.
88861
88862 2004-09-08  Bruno Haible  <bruno@clisp.org>
88863
88864         * lib/stdint_.h: New file, taken from GNU clisp.
88865
88866 2004-09-08  Bruno Haible  <bruno@clisp.org>
88867             Oskar Liljeblad  <oskar@osk.mine.nu>
88868
88869         * modules/stdint: New file.
88870         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
88871
88872 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
88873
88874         Import from coreutils.
88875         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
88876         strings on unbounded length.  alloca's performance benefits aren't
88877         that important here.
88878         (V_STRDUP): Remove.
88879         (parse_with_separator): New function, with most of the internals
88880         of the old parse_user_spec.  Allow user to omit both user and group,
88881         for compatibility with FreeBSD.
88882         Clone only the user name, not the entire spec.
88883         Do not set *uid, *gid unless entirely successful.
88884         Avoid memory leak in some failing cases.
88885         Fix regression for USER.GROUP reported by Dmitry V. Levin in
88886         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
88887         (parse_user_spec): Rewrite to use parse_with_separator.
88888
88889 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
88890
88891         * modules/userspec: Don't depend on alloca.
88892
88893 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
88894
88895         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
88896
88897 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
88898
88899         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
88900         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
88901         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
88902
88903 2004-08-16  Simon Josefsson  <jas@extundo.com>
88904
88905         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
88906         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
88907         Add --dry-run for --import.
88908         Let user provided command line parameters override configure.ac
88909         settings.
88910
88911 2004-08-12  Simon Josefsson  <jas@extundo.com>
88912
88913         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
88914         as discussed with Paul Eggert in threads rooted at
88915         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
88916         and
88917         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
88918         Before, the test was empty, and relied on ELIDE_CODE in source
88919         code.)
88920         (gl_PREREQ_GETOPT): New macro.
88921         (gl_GETOPT): Use them.
88922
88923 2004-08-12  Simon Josefsson  <jas@extundo.com>
88924
88925         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
88926         * lib/getopt_.h: Renamed from getopt.h.
88927
88928 2004-08-12  Simon Josefsson  <jas@extundo.com>
88929
88930         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
88931         Change default library name from libfoo to libgnu.
88932         Now, if you have a configure.ac that says:
88933                 gl_SOURCE_BASE(gl)
88934                 gl_M4_BASE(gl/m4)
88935                 gl_MODULES(error getopt etcetera)
88936                 gl_INIT
88937         you can import all you need by running:
88938                 ../gnulib/gnulib-tool --import
88939
88940         * modules/getopt (Files): Rename getopt.h to getopt_.h.
88941         (Makefile.am): Rewrite, use logic from argz.
88942         (Include): Use <getopt.h> instead of "getopt.h".
88943
88944 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
88945
88946         * modules/argp (Files): Add m4/unlocked-io.m4.
88947         (Depends-on): Add extensions.
88948
88949 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
88950
88951         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
88952         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
88953         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
88954         Check for program_invocation_name, program_invocation_short_name,
88955         flockfile, funlockfile, features.h, _getopt_long_only_r.
88956
88957 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
88958
88959         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
88960         its complicated substitute.
88961         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
88962         and program_invocation_name.
88963         (__argp_basename) [!_LIBC]: Remove; the only use was
88964         replaced by its body.
88965         (__argp_short_program_name): Change condition from
88966         !defined __argp_short_program_name to
88967         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
88968         to match argp-namefrob.h.
88969         (__argp_failure): Don't assume strerror_r returns char *.
88970         * lib/argp-parse.c (N_): Define unconditionally.
88971         (argp_default_options): Fill out initializers with 0 to avoid
88972         gcc warnings.
88973
88974 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
88975
88976         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
88977         getopt1.c.
88978
88979 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
88980
88981         Merge from coreutils.
88982
88983         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
88984
88985         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
88986         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
88987
88988 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
88989
88990         Merge from coreutils.
88991
88992         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
88993         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
88994         for Reliant Unix 5.43.
88995
88996         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
88997         (union fooround): Use uintmax_t, not long int.
88998         The rest is a merge from libc:
88999         [defined _LIBC]: Include <shlib-compat.h>.
89000         (_obstack) [defined _LIBC]: Remove after 2.3.4.
89001
89002         * lib/settime.c (settime): Recode to avoid warning with
89003         Sun Forte C 6U2.
89004
89005         * lib/strverscmp.c: Convert to UTF-8.
89006
89007 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89008
89009         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
89010         m4/uintmax_t.m4.
89011
89012 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89013
89014         * modules/xalloc-die: New file.
89015         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
89016
89017         * modules/md5 (Files): Add m4/uint32_t.m4.
89018         * modules/sha1: Renamed from modules/sha.
89019         (Files):
89020         Rename lib/sha.h to lib/sha1.h.
89021         Rename lib/sha.c to lib/sha1.c.
89022         Rename m4/sha.m4 to m4/sha1.m4.
89023         (lib_SOURCES): Likewise.
89024         (configure.ac): Rename gl_SHA to gl_SHA1.
89025         (Include): sha.h -> sha1.h.
89026
89027 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89028
89029         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
89030         * m4/sha1.m4: Renamed from sha.m4.
89031         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
89032
89033 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89034
89035         * lib/obstack.h (obstack_empty_p):
89036         Don't assume that chunk->contents is suitably aligned.
89037         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
89038         Likewise. Problem reported by Benno in
89039         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
89040
89041         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
89042         readable.  This could be improved further but it'd take some work.
89043
89044 2004-08-08  Simon Josefsson  <jas@extundo.com>
89045
89046         * modules/xgethostname (Depends-on): Remove exit and error (not
89047         used).
89048
89049         * modules/getpass-gnu: Add getpass.h.
89050         (Depends-on): Add stdbool.
89051         * modules/getpass: Add getpass.h.
89052
89053 2004-08-08  Simon Josefsson  <jas@extundo.com>
89054
89055         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
89056         Check getpass declaration.
89057
89058 2004-08-08  Simon Josefsson  <jas@extundo.com>
89059
89060         * lib/xgethostname.c: Don't include error.h (not used).
89061
89062         * lib/getpass.h: Add.
89063         * lib/getpass.c: Include getpass.h first.
89064
89065 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
89066
89067         * lib/xalloc-die.c: New file.
89068         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
89069         All uses removed.
89070         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
89071         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
89072         xalloc-die.c.
89073         (_, N_, xalloc_die): Move to xalloc-die.c.
89074         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
89075         so that we needn't mess with xalloc_msg_memory_exhausted.
89076
89077         * lib/sha1.h: Renamed from sha.h.
89078         (SHA1_H): Renamed from _SHA_H.
89079         (sha1_ctx): Renamed from sha_ctx.
89080         (sha1_init_ctx): Renamed from sha_init_ctx.
89081         (sha1_process_block): Renamed from sha_process_block.
89082         (sha1_process_bytes): Renamed from sha_process_bytes.
89083         (sha1_finish_ctx): Renamed from sha_finish_ctx.
89084         (sha1_read_ctx): Renamed from sha_read_ctx.
89085         (sha1_stream): Renamed from sha_stream.
89086         (sha1_buffer): Renamed from sha_buffer.
89087         * lib/sha1.c: Likewise; renamed from sha.c.
89088         Do not include <sys/types.h>.
89089         Include <stddef.h> rather than <stdlib.h>.
89090
89091 2004-08-08  Bruno Haible  <bruno@clisp.org>
89092
89093         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
89094         FILESYSTEM_PREFIX_LEN.
89095         * lib/progreloc.c: Likewise.
89096         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
89097
89098 2004-08-06  Simon Josefsson  <jas@extundo.com>
89099
89100         * modules/progname (Depends-on): Don't depend on stdbool.
89101
89102 2004-08-06  Simon Josefsson  <jas@extundo.com>
89103
89104         * modules/getsubopt: New file.
89105         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89106         getsubopt.
89107
89108 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89109
89110         More merge from coreutils.
89111
89112         * m4/utimens.m4, m4/utimecmp.m4: New files.
89113         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
89114         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
89115         prereq.m4, sha.m4: Import changes from coreutils.
89116
89117 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89118
89119         More merge from coreutils.
89120         * modules/raise, modules/readtokens0, modules/utimens:
89121         * modules/utimecmp, module/xnanosleep: New files.
89122         * modules/strftime: Add lib/strftime.h.
89123         Change include from <time.h> to "strftime.h".
89124         * modules/yesno: Add lib/yesno.h.
89125         * modules/backupfile: Remove lib/addext.c.
89126         * modules/euidaccess: Add stat-macros.h.
89127         * modules/canonicalize, modules/euidaccess,
89128         modules/filemode, modules/lchown, modules/makepath,
89129         modules/rmdir, modules/stat: Likewise.
89130
89131 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89132
89133         Merge from tar.
89134         * lib/argp-help.c (make_hol, hol_append): Don't assume that
89135         SIZE_MAX is a valid preprocessor constant.
89136         (__argp_basename): Change from "#ifndef _LIBC"
89137         to "#ifndef __argp_short_program_name", so that
89138         we don't compile these functions for tar.
89139
89140         More merges from coreutils.
89141         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
89142         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
89143         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
89144         * lib/addext.c: Remove; no longer needed.
89145         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
89146         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
89147         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
89148         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
89149         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
89150         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
89151         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
89152         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
89153         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
89154         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
89155         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
89156         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
89157         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
89158         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
89159         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
89160         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
89161         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
89162         Import changes from coreutils.
89163
89164 2004-08-05  Simon Josefsson  <jas@extundo.com>
89165
89166         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
89167
89168 2004-08-05  Simon Josefsson  <jas@extundo.com>
89169
89170         * m4/getsubopt.m4: New file.
89171
89172 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89173
89174         Merge from coreutils.
89175
89176         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
89177         * m4/getcwd-path-max.m4: New files.
89178
89179         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
89180         FILESYSTEM_PREFIX_LEN ->
89181         FILE_SYSTEM_PREFIX_LEN.
89182         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
89183         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
89184         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
89185         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
89186
89187         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
89188         prerequisite modules now handle the DOS stuff.
89189         Don't check for unistd.h.
89190
89191 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89192
89193         Merge from coreutils.
89194
89195         * lib/.gdb-history: Remove; this doesn't belong here.
89196
89197         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
89198         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
89199         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
89200         * lib/getcwd.c: New files.
89201
89202         * lib/dirname.h: Include <stdbool.h>.
89203         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
89204         for consistency with POSIX terminology.  All uses changed.
89205         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
89206         (strip_trailing_slashes): Use bool for booleans.
89207         * lib/stripslash.c (strip_trailing_slashes): Likewise.
89208
89209         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
89210         sometimes returns a positive errno value even when it succeeds.
89211         (print_errno_message) [!LIBC]: Fall back on strerror if
89212         __strerror_r fails.
89213
89214         * lib/path-concat.c (mempcpy): Don't define if a system header defines
89215         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
89216         (longest_relative_suffix): New function.
89217         (path_concat): Use it.  Assume first argument is not NULL.
89218         Port to DOS.  Omit redundant separators.
89219         Report an error instead of returning NULL.
89220         Use mempcpy instead of memcpy.
89221         (xpath_concat): Remove: not declared or used.
89222
89223         * lib/same.h: Include <stdbool.h>
89224         (same_name): Return bool, not int.
89225         * lib/same.c (same_name): Likewise.
89226         (errno): Don't declare; we assume C89 or better now.
89227
89228         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
89229         if not already defined.
89230
89231         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
89232         * lib/dup-safer.c (errno): Likewise.
89233
89234 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89235
89236         Merge from coreutils.
89237         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
89238         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
89239         * modules/path-concat: Don't depend on strdup.
89240
89241 2004-08-03  Simon Josefsson  <jas@extundo.com>
89242
89243         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
89244         * lib/progname.h: Don't include stdbool.h.
89245
89246 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89247
89248         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
89249         * MODULES.html.sh (func_all_modules): Remove fatal.
89250
89251 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89252
89253         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
89254
89255 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89256
89257         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
89258         working.
89259
89260 2004-08-02  Simon Josefsson  <jas@extundo.com>
89261
89262         * lib/getsubopt.h: New file, with comments from Bruno Haible.
89263         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
89264         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
89265
89266 2004-08-01  Simon Josefsson  <jas@extundo.com>
89267
89268         * lib/xgetdomainname.c: Include stdlib.h, for free().
89269
89270 2004-07-19  Bruno Haible  <bruno@clisp.org>
89271
89272         * MODULES.html.sh (func_all_modules): Add dummy.
89273
89274 2004-07-16  Simon Josefsson  <jas@extundo.com>
89275
89276         * modules/dummy: New file.
89277
89278 2004-07-16  Simon Josefsson  <jas@extundo.com>
89279
89280         * lib/dummy.c: New file.
89281
89282 2004-07-16  Bruno Haible  <bruno@clisp.org>
89283
89284         * lib/backupfile.h: Add extern "C" for C++.
89285         * lib/closeout.h: Likewise.
89286         * lib/copy-file.h: Likewise.
89287         * lib/findprog.h: Likewise.
89288         * lib/full-write.h: Likewise.
89289         * lib/pathname.h: Likewise.
89290         * lib/progname.h: Likewise.
89291         * lib/stpcpy.h: Likewise.
89292         * lib/stpncpy.h: Likewise.
89293         * lib/strcase.h: Likewise.
89294         * lib/strstr.h: Likewise.
89295         * lib/xalloc.h: Likewise.
89296
89297         * lib/mbswidth.h: Add extern "C" for C++.
89298         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
89299
89300 2004-07-13  Robert Millan  <robertmh@gnu.org>
89301
89302         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
89303
89304 2004-07-09  Simon Josefsson  <jas@extundo.com>
89305
89306         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
89307         failed without this.)
89308
89309 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89310
89311         * modules/chown (Files): Add lib/fchown-stub.c, since
89312         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
89313
89314 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89315
89316         * lib/fchown-stub.c: New file.
89317
89318 2004-06-24  Jim Meyering  <jim@meyering.net>
89319
89320         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
89321
89322 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89323
89324         * modules/argz: Omit "#include".
89325
89326         * MODULES.html.sh (func_all_modules): Add calloc, to match
89327         2004-06-01 addition of calloc module.
89328
89329 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89330
89331         * m4/argz.m4: New file, which is autoupdated from libtool.
89332
89333 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89334
89335         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
89336         libtool.
89337
89338 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89339
89340         * config/srclist-update: Don't insist on "USA." before the
89341         close-comment, as libtool omits the period and puts the */ on a
89342         separate line.
89343         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
89344         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
89345
89346 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
89347
89348         * modules/argz: New file.
89349         * MODULES.html.sh (func_all_modules): Add argz.
89350
89351 2004-06-12  Jim Meyering  <jim@meyering.net>
89352         and  Paul Eggert  <eggert@cs.ucla.edu>
89353
89354         * modules/hash (Files): Add lib/xalloc.h.
89355         * modules/pipe (Depends-on): Add wait-process.
89356         * modules/stat (Depends-on): Add xalloc.
89357         * modules/userspec (Files): Add lib/userspec.h.
89358         * modules/xstrto
89359
89360         Upgrade from gettext-0.13.
89361         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
89362         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
89363         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
89364
89365 2004-06-10  Jim Meyering  <jim@meyering.net>
89366
89367         * lib/calloc.c: New file.
89368
89369 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
89370
89371         * lib/getdate.y (yylex): Allow space between sign and number.
89372         Problem reported by Dan Jacobson.
89373
89374 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89375
89376         Merge from coreutils CVS.
89377
89378         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
89379         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
89380         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
89381         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
89382         xstrtol.m4: Fix copyright date and/or serial number.
89383
89384         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
89385         See if we need an fchown replacement.
89386         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
89387         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
89388         and use the replacement function if we detect either defect.
89389
89390         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
89391         gl_UTIMECMP.
89392
89393 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89394         and  Jim Meyering  <jim@meyering.net>
89395
89396         Merge from coreutils CVS.
89397
89398         * lib/stat-macros.h: New file, with contents from file-type.h
89399         and coreutils' system.h.
89400         * lib/file-type.c: Include "stat-macros.h".
89401         * lib/file-type.h (file_type): Move all macro definitions to new file,
89402         stat-macros.h.
89403
89404         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
89405         Wrap old code with this conditional.
89406         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
89407         function that does not dereference symlinks.
89408         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
89409
89410         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
89411         dependency problems.
89412         (xreadlink): Accept new arg SIZE, for efficiency.
89413         All decls and uses changed.
89414         * lib/xreadlink.h: Include <stddef.h>, for size_t.
89415
89416         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
89417         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
89418
89419         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
89420         sysexits.h.
89421
89422 2004-06-01  Jim Meyering  <jim@meyering.net>
89423
89424         * m4/calloc.m4: New file.
89425
89426 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
89427
89428         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
89429         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
89430         Also, fix a typo in a diagnostic.
89431
89432 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89433
89434         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
89435         or AC_FUNC_REALLOC.
89436
89437 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89438
89439         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
89440         macros to be defined.
89441         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
89442         the allocator returns NULL because the requested size is zero.
89443
89444 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
89445
89446         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
89447         var.  Add comment explaining why libc still defines it.  This
89448         merges the following patch from glibc:
89449         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
89450
89451 2004-05-20  Andreas Schwab  <schwab@suse.de>
89452
89453         * m4/free.m4: Replace free if it not known to work, not the other
89454         way round.
89455
89456 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
89457
89458         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
89459         present in glibc since revision 1.1 of this file.
89460         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
89461         obstack_alignment_mask, obstack_alloc, obstack_base,
89462         obstack_blank, obstack_blank_fast, obstack_chunk_size,
89463         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
89464         obstack_grow0, obstack_init, obstack_int_grow,
89465         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
89466         obstack_next_free, obstack_object_size, obstack_ptr_grow,
89467         obstack_ptr_grow_fast, obstack_room): Remove declarations of
89468         nonexistent functions.
89469
89470 2004-05-18  Karl Berry  <karl@gnu.org>
89471
89472         * config/srclist.txt: break link for vasnprintf.c.
89473
89474 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
89475
89476         Port obstack to the AS/400, where pointers are 16 bytes wide and
89477         you cannot cast an integer to a valid pointer.  This patch is
89478         currently waiting to be integrated into glibc; see
89479         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
89480
89481         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
89482         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
89483         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
89484         (struct obstack): temp member is now a union of a pointer and
89485         an integer, instead of an integer.  All integer uses changed.
89486         This does not affect the physical layout of struct obstack,
89487         except on hosts (like the AS/400) where the size or alignment of
89488         void * is greater than that of ptrdiff_t.
89489         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
89490         __STDC__)]: Store temporary in pointer member of union, not
89491         integer member.
89492         * lib/obstack.c: Include <stddef.h>, for offsetof.
89493         (struct fooalign): Remove; it doesn't need a name.
89494         (union fooround): Change double to long double, and add void *.
89495         (DEFAULT_ALIGNMENT): Use offsetof to compute.
89496         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
89497         not a macro.  Hence the values are always int; so remove all
89498         casts-to-int in uses.
89499
89500 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
89501
89502         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
89503         we can get this patch merged into glibc.
89504
89505 2004-05-17  Derek R. Price  <derek@ximbiot.com>
89506             Paul Eggert  <eggert@cs.ucla.edu>
89507
89508         * m4/argp: Depend on alloca.
89509
89510 2004-05-17  Derek R. Price  <derek@ximbiot.com>
89511             Paul Eggert  <eggert@cs.ucla.edu>
89512
89513         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
89514         freecoding.
89515
89516 2004-05-17  Bruno Haible  <bruno@clisp.org>
89517
89518         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
89519         precision that consists of a '.' followed by an empty digit string.
89520         Patch by Tor Lillqvist <tml@iki.fi>.
89521
89522 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
89523
89524         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
89525         for backward compatibility with older code.  We need our own
89526         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
89527         it under some other name, and our alloca.h will define it.
89528
89529 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
89530             Derek Price  <derek@ximbiot.com>
89531
89532         * lib/alloca.c: Include <alloca.h>, to get our interface.
89533         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
89534         include <alloca.h> first.  Use C89 prototype for alloca; this
89535         requires including <stddef.h> for size_t.  Use extern "C" if C++.
89536         Use #elif for simplicity, since we can assume C89 now.
89537         Don't try to source the system alloca.h since it will not be found
89538         and to prevent recursively including its replacement.
89539         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
89540         * lib/regex.c: Likewise.
89541
89542 2004-05-16  Derek Price  <derek@ximbiot.com>
89543             Paul Eggert  <eggert@cs.ucla.edu>
89544
89545         getline cleanup.  This changes the getndelim2 API: both order of
89546         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
89547         no delimiter).
89548
89549         * lib/getline.c: Don't include stddef.h or stdio.h, since our
89550         interface does that.
89551         (getline): Always use getdelim, so that we don't have two
89552         copies of this code.
89553         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
89554         if available.
89555         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
89556         (GETNDELIM2_MAXIMUM): New macro.
89557         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
89558         instead of the old practice of delim2==0.  All callers changed.
89559         Return -1 on overflow, instead of returning junk.
89560         Do not set *linesize unless allocation succeeds.
89561         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
89562         that we include sys/types.h.
89563         * lib/getnline.h: Likewise.
89564         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
89565         (getndelim2): Reorder arguments.
89566         * lib/getnline.c (getnline, getndelim):
89567         Don't discard the NMAX argument.
89568         (getnline): Invoke getndelim, to avoid code duplication.
89569         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
89570         of (size_t) -1 by callers of the getnline family.
89571
89572 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
89573
89574         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
89575         Check for gettimeofday.
89576         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
89577         Check for settimeofday, stime.
89578
89579 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
89580
89581         * lib/nanosleep.c (suspended): Change its type from int to
89582         sig_atomic_t volatile.
89583         (first_call): Make it private to rpl_nanosleep, and have it
89584         be zero initially as that's a bit faster.
89585         (my_usleep): Round up fractional times instead of truncating them,
89586         as this is the usual meaning for 'sleep'.
89587
89588         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
89589         doesn't work.
89590         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
89591         (ENOSYS): Define if not defined.
89592         (settime): Fall back on stime if it exists and settimeofday fails.
89593         But don't bother with fallbacks if a method fails with errno == EPERM.
89594
89595 2004-05-11  Jim Meyering  <jim@meyering.net>
89596
89597         Prior to this change, the save_cwd caller required read access to the
89598         current directory on most systems (ones with the fchdir function).
89599
89600         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
89601         fails, try write-only, and finally, resort to using xgetcwd.
89602
89603 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
89604
89605         * lib/obstack.c, obstack.h: Import changes from libc.
89606
89607 2004-04-28  Bruno Haible  <bruno@clisp.org>
89608
89609         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
89610         also implicitly appends .exe to executables.
89611         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
89612         accepts Windows pathnames.
89613         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
89614         Treat Cygwin like Windows, since it now accepts Windows pathnames.
89615         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
89616         Treat Cygwin like Windows, since it now accepts Windows pathnames.
89617         Reported by Derek Robert Price <derek@ximbiot.com>.
89618
89619 2004-04-21  Karl Berry  <karl@gnu.org>
89620
89621         * config/srclist.txt (localcharset.c): break sync.
89622
89623 2004-04-20  Paul Eggert  <eggert@twinsun.com>
89624
89625         * m4/host-os.m4: Add a copyright notice.
89626
89627 2004-04-20  Jim Meyering  <jim@meyering.net>
89628
89629         Change UTILS_ to gl_ in AC_DEFINE'd names.
89630         Change utils_- and jm_-prefixed variables, too.
89631         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
89632         UTILS_FUNC_MKDIR_TRAILING_SLASH.
89633         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
89634
89635         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
89636         Don't emit trailing blanks.
89637         Also rename jm_-prefixed variables to have gl_ prefix.
89638
89639         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
89640         Also rename jm_-prefixed variables to have gl_ prefix.
89641
89642         * m4/jm-macros.m4: Reflect the renamings.
89643         * m4/prereq.m4: Likewise.
89644
89645 2004-04-20  Jim Meyering  <jim@meyering.net>
89646
89647         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
89648         memory.
89649
89650 2004-04-20  Jim Meyering  <jim@meyering.net>
89651             Bruno Haible  <bruno@clisp.org>
89652
89653         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
89654         memory when realloc fails.
89655
89656 2004-04-19  Jim Meyering  <jim@meyering.net>
89657
89658         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
89659         now that readutmp.c may call `free (0)'.
89660
89661 2004-04-19  Bruno Haible  <bruno@clisp.org>
89662
89663         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
89664         * m4/inttypes_h.m4: Likewise.
89665         * m4/stdint_h.m4: Likewise.
89666         * m4/intmax_t.m4: Likewise.
89667         * m4/uintmax_t.m4: Likewise.
89668
89669 2004-04-18  Jim Meyering  <jim@meyering.net>
89670
89671         * m4/prereq.m4: Don't forbid jm_ prefix.
89672
89673         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
89674         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
89675         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
89676         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
89677         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
89678         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
89679         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
89680         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
89681         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
89682         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
89683         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
89684         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
89685         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
89686         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
89687         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
89688         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
89689         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
89690         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
89691         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
89692
89693 2004-04-18  Jim Meyering  <jim@meyering.net>
89694
89695         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
89696         failure, don't leak memory and do call END_UTMP_ENT.
89697
89698 2004-04-16  Jim Meyering  <jim@meyering.net>
89699
89700         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
89701         coreutils' stat program.
89702         (gl_PREREQ): Don't require jm_PREREQ_STAT.
89703
89704 2004-04-11  Paul Eggert  <eggert@twinsun.com>
89705
89706         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
89707         C89.
89708         (CHAR_BIT): Remove, since we assume C89.
89709         Include <stdint.h> if available, as per current Autoconf CVS advice.
89710
89711 2004-03-31  Jim Meyering  <jim@meyering.net>
89712
89713         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
89714         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
89715         * m4/xalloc.m4: Likewise.
89716
89717 2004-03-30  Paul Eggert  <eggert@twinsun.com>
89718
89719         Merge from coreutils.
89720
89721         * m4/inttostr.m4: New file.
89722         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
89723         Require AM_STDBOOL_H and gl_TIMESPEC instead.
89724         Require gl_CLOCK_TIME.
89725         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
89726
89727 2004-03-30  Paul Eggert  <eggert@twinsun.com>
89728
89729         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
89730         not bool, to be more consistent with Unix conventions.
89731         Suggested by Bruno Haible.
89732
89733         Merge from coreutils.
89734
89735         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
89736         * lib/umaxtostr.c: New files.
89737
89738         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
89739         the usual <time.h> dance.
89740         (get_date): Change signature to support fractional time stamps.
89741         All callers changed.
89742         * lib/getdate.y: Include "getdate.h" first, as we can now
89743         assume C89 and don't need to worry about 'const'.
89744         Similarly, include "unlocked-io.h" near start, not in middle.
89745         Include <limits.h>.
89746         (textint.value): Use long int rather than int.
89747         (textint.digits): Use size_t rather than int.
89748         (BILLION, LOG10_BILLION): New constants.
89749         (parser_control): New member rel_ns.  Members day_ordinal,
89750         time_zone, month, day, hour, minutes, rel_year, rel_month,
89751         rel_day, rel_hour, rel_minutes, rel_seconds
89752         are now long int, not int.  Member seconds is now struct timespec,
89753         not int.  New member timespec_seen.  Members dates_seen, days_seen,
89754         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
89755         not int.
89756         (%union.intval): Now long int, not int.
89757         New member timespec.
89758         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
89759         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
89760         (spec): Now is a timespec or an item list.
89761         (timespec, items): New nonterminals.
89762         (time, rel, relunit, number, get_date):
89763         Add support for fractional seconds.
89764         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
89765         (gmtime, localtime, mktime): Remove decls; not needed with C89.
89766         (to_hour): First arg is now long int, not int.
89767         (to_year): Returns long int, not int.
89768         Don't treat year -70 like 70.
89769         (tm_diff): Returns long int, not int.
89770         (lookup_word): Use bool instead of int when appropriate.
89771         (yylex): Use size_t for count, not int.
89772         Detect overflow when parsing large integer constants.
89773         Add support for fractions.
89774         (get_date): Make pointers 'const' if possible.
89775         Use more-portable code to detect integer overflow.
89776         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
89777         Don't use ctime; it's not reliable if the year has >4 digits.
89778
89779         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
89780         This is for compatibility with BSD.
89781
89782         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
89783         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
89784         From coreutils' system.h.
89785
89786         * lib/userspec.c: Don't include "posixver.h".
89787         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
89788         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
89789         compatible extension.  Simplify code by removing a boolean int
89790         that was always nonzero if a string was nonnull.
89791
89792 2004-03-30  Jim Meyering  <jim@meyering.net>
89793
89794         Merge from coreutils.
89795
89796         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
89797         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
89798         on some systems one must include <grp.h> before it.
89799         Reported by Christian Krackowizer.
89800
89801 2004-03-30  Jim Meyering  <jim@meyering.net>
89802
89803         Merge from coreutils.
89804
89805         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
89806
89807         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
89808         an empty input stream.
89809
89810         * lib/readtokens.c: Include <stdbool.h>.
89811         (readtoken): Use `size_t' rather than int/long.
89812         All callers adjusted.
89813         Use `bool' rather than `int' where appropriate.
89814         Use memset rather than an explicit loop.
89815         Use x2nrealloc rather than xrealloc.
89816         Allow the use of `\0' as a delimiter.
89817         (readtokens): Likewise.
89818         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
89819
89820 2004-03-30  Jim Meyering  <jim@meyering.net>
89821
89822         * m4/realloc.m4: Remove file, since now it does no more than
89823         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
89824         the `configure.ac' section of module/realloc.
89825         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
89826
89827 2004-03-30  Bruno Haible  <bruno@clisp.org>
89828
89829         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
89830         nonnull.
89831
89832 2004-03-29  Paul Eggert  <eggert@twinsun.com>
89833
89834         Merge changes to getloadavg.c from coreutils and Emacs.
89835
89836         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
89837         Define to an expression, not to the empty string.
89838         Include cloexec.h and xalloc.h.
89839         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
89840         Use set_cloexec_flag rather than rolling our own.
89841         * lib/cloexec.c, lib/cloexec.h: New files.
89842
89843 2004-03-29  Paul Eggert  <eggert@twinsun.com>
89844
89845         * m4/cloexec.m4: New file.
89846
89847 2004-03-18  Paul Eggert  <eggert@twinsun.com>
89848
89849         * lib/getopt.h: Sync with libc CVS.
89850
89851 2004-03-18  Paul Eggert  <eggert@twinsun.com>
89852             Bruno Haible  <bruno@clisp.org>
89853
89854         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
89855         mbswidth.
89856
89857 2004-03-18  Paul Eggert  <eggert@twinsun.com>
89858             Bruno Haible  <bruno@clisp.org>
89859
89860         * lib/mbswidth.h: Include <wchar.h> only if
89861         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
89862         <wchar.h>.
89863         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
89864
89865 2004-03-09  Paul Eggert  <eggert@twinsun.com>
89866
89867         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
89868         Sync with libc CVS.
89869         * lib/getopt_int.h: New file, also synced from libc.
89870
89871 2004-03-09  Paul Eggert  <eggert@twinsun.com>
89872
89873         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
89874         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
89875         Bring back getopt.c, getopt.h, getopt1.c.
89876
89877 2004-03-07  Paul Eggert  <eggert@twinsun.com>
89878
89879         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
89880         All uses changed.  Check for sa_sigaction member; this fixes
89881         a bug first reported by Jason Andrade in
89882         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
89883
89884 2004-03-07  Paul Eggert  <eggert@twinsun.com>
89885
89886         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
89887         '#if' expressions.  Unlike the code it replaces, it does not
89888         depend on (defined _SC_PAGESIZE).  However, it does depend on
89889         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
89890         first reported by Jason Andrade in
89891         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
89892
89893 2004-02-25  Simon Josefsson  <jas@extundo.com>
89894
89895         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
89896
89897 2004-02-25  Simon Josefsson  <jas@extundo.com>
89898
89899         * lib/strdup.h: New file.
89900         * lib/strdup.c: Include it.
89901         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
89902         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
89903
89904 2004-02-23  Karl Berry  <karl@gnu.org>
89905
89906         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
89907         (from fencepost.gnu.org:/gd/gnuorg).
89908
89909 2004-02-23  Karl Berry  <karl@gnu.org>
89910
89911         * config/srclistvars.sh (GNUORG) [karl]: redefine.
89912         * config/srclist.txt: add maintain/standards documents.
89913
89914 2004-02-18  Bruno Haible  <bruno@clisp.org>
89915
89916         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
89917         Reported by Derek Robert Price <derek@ximbiot.com>.
89918
89919 2004-02-16  Karl Berry  <karl@gnu.org>
89920
89921         * config/mkinstalldirs, install-sh: update from automake.
89922
89923 2004-02-06  Karl Berry  <karl@gnu.org>
89924
89925         * m4/po.m4: update from gettext 0.14.1.
89926
89927 2004-02-06  Karl Berry  <karl@gnu.org>
89928
89929         * lib/config.charset: update from gettext 0.14.1.
89930
89931 2004-02-05  Paul Eggert  <eggert@twinsun.com>
89932
89933         Add comments and code, prompted by suggestions from Bruno Haible
89934         for sh-quote.
89935         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
89936         describing the enum quoting_style values.
89937         * lib/quotearg.c (quotearg_alloc): New function.
89938         (quotearg_buffer_restyled): Treat lone { and } as special.
89939         Treat = as special.  Work around bug with older shells
89940         that "see" a '\' that is really the 2nd byte of a multibyte char.
89941         Quote empty string with shell_quoting_style.
89942
89943 2004-02-03  Bruno Haible  <bruno@clisp.org>
89944
89945         * m4/pipe.m4: New file, from GNU gettext.
89946
89947 2004-02-03  Bruno Haible  <bruno@clisp.org>
89948
89949         * lib/pipe.h: New file, from GNU gettext.
89950         * lib/pipe.c: New file, from GNU gettext.
89951
89952 2004-01-27  Bruno Haible  <bruno@clisp.org>
89953
89954         * m4/execute.m4: New file, from GNU gettext.
89955
89956 2004-01-27  Bruno Haible  <bruno@clisp.org>
89957
89958         * lib/execute.h: New file, from GNU gettext.
89959         * lib/execute.c: New file, from GNU gettext.
89960         * lib/w32spawn.h: New file, from GNU gettext.
89961
89962 2004-01-24  Paul Eggert  <eggert@twinsun.com>
89963
89964         Merge from diffutils.
89965
89966         * lib/file-type.c (file_type): Add typed memory objects.
89967         * lib/file-type.h (S_TYPEISTMO): New macro.
89968
89969         * lib/c-stack.h (c_stack_action): Remove argv argument.
89970         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
89971         (die): Don't calculate message unless segv_action returns.
89972         (get_stack_location, min_address_from_argv, max_address_from_argv,
89973         volatile stack_base, volatile_stack_size): Remove.
89974         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
89975         that every segmentation violation is a stack overflow.  (Ouch!)
89976         See Debian bug 136249 (still outstanding) for more info about why
89977         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
89978
89979 2004-01-24  Paul Eggert  <eggert@twinsun.com>
89980
89981         Exit-status fix from coreutils.
89982
89983         Use exit_failure consistently in place of EXIT_FAILURE,
89984         so that program exit statuses are consistent on failure.
89985
89986         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
89987         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
89988         * lib/argmatch.h: Comment fix to match the above.
89989         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
89990         Now a macro referring to exit_failure, instead of a separate
89991         variable.  Include "exitfail.h" to get it.
89992         * lib/xstrtol.h: Include "exitfail.h".
89993         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
89994
89995         * lib/long-options.c (parse_long_options): Use prototype
89996         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
89997         for clarity.
89998
89999 2004-01-21  Jim Meyering  <jim@meyering.net>
90000
90001         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
90002         so as not to conflict with a different-sized __mktime_internal
90003         function in GNU libc.
90004         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
90005         Problem building statically-linked `ls' reported by Michael Brunnbauer.
90006
90007 2004-01-20  Karl Berry  <karl@gnu.org>
90008
90009         * config/config.guess: update from config.
90010
90011         * config/srclistvars.sh: GNUWWWLICENSES for karl.
90012
90013 2004-01-20  Bruno Haible  <bruno@clisp.org>
90014
90015         Safer stack allocation.
90016         * lib/setenv.c: Include allocsa.h.
90017         (alloca): Remove fallback definition.
90018         (freea): Remove macro.
90019         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
90020         instead of freea.
90021
90022 2004-01-20  Bruno Haible  <bruno@clisp.org>
90023
90024         * m4/eealloc.m4: New file, from GNU gettext.
90025
90026 2004-01-20  Bruno Haible  <bruno@clisp.org>
90027
90028         * m4/allocsa.m4: New file, from GNU gettext.
90029
90030 2004-01-20  Bruno Haible  <bruno@clisp.org>
90031
90032         * lib/xallocsa.h: New file, from GNU gettext.
90033         * lib/xallocsa.c: New file, from GNU gettext.
90034
90035 2004-01-20  Bruno Haible  <bruno@clisp.org>
90036
90037         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
90038
90039 2004-01-20  Bruno Haible  <bruno@clisp.org>
90040
90041         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
90042         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
90043         specially.
90044
90045 2004-01-20  Bruno Haible  <bruno@clisp.org>
90046
90047         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
90048         patch.
90049
90050 2004-01-20  Bruno Haible  <bruno@clisp.org>
90051
90052         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
90053
90054 2004-01-20  Bruno Haible  <bruno@clisp.org>
90055
90056         * lib/eealloc.h: New file.
90057
90058 2004-01-20  Bruno Haible  <bruno@clisp.org>
90059
90060         * lib/binary-io.h: Avoid warnings on Cygwin.
90061
90062 2004-01-20  Bruno Haible  <bruno@clisp.org>
90063
90064         * lib/allocsa.h: New file, from GNU gettext.
90065         * lib/allocsa.c: New file, from GNU gettext.
90066
90067 2004-01-18  Karl Berry  <karl@gnu.org>
90068
90069         * doc/gpl.texi, doc/lgpl.texi: new files.
90070
90071 2004-01-18  Karl Berry  <karl@gnu.org>
90072
90073         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
90074         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
90075
90076 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90077
90078         Merge from coreutils.
90079
90080         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
90081         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
90082         (gl_DEFAULT_POSIX2_VERSION): Move
90083         the documentation from 'configure' into 'config.hin',
90084         so that 'configure --help' isn't burdened by it and
90085         we don't have to worry about its formatting there.
90086         Reword the documentation so that it's more succinct
90087         and can be run together into a single paragraph.
90088         * m4/same.m4 (gl_SAME): Check for pathconf.
90089
90090 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90091
90092         Merge from coreutils.
90093
90094         * lib/posixver.c: Include posixver.h.
90095
90096         * lib/same.c: Include <stdbool.h>, <limits.h>.
90097         (_POSIX_NAME_MAX): Define if not defined.
90098         (MIN): New macro.
90099         (same_name): If file names are silently truncated, report
90100         that the file names are the same if they are the same after
90101         the silent truncation.
90102
90103         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
90104         conversion function.
90105         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
90106         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
90107         longer needed.
90108
90109 2004-01-15  Jim Meyering  <jim@meyering.net>
90110
90111         Merge from coreutils.
90112
90113         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
90114         if no library is required.
90115         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
90116         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
90117         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
90118         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
90119         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
90120         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
90121         value, $ac_cv_search_crypt, if it's "none required".
90122         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
90123         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
90124         not gl_FUNC_GETLOADAVG.
90125         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
90126         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
90127
90128 2004-01-15  Jim Meyering  <jim@meyering.net>
90129
90130         Merge from coreutils.
90131
90132         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
90133         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
90134         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
90135
90136         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
90137         optional configure-time default.
90138
90139         * lib/version-etc.c (version_etc_copyright): Update copyright date.
90140
90141         * lib/xreadlink.c (xreadlink): Correct outdated comment.
90142
90143 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
90144
90145         Merge from coreutils.
90146
90147         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
90148         value, $ac_cv_search_nanosleep, if it's "none required".
90149
90150 2004-01-14  Paul Eggert  <eggert@twinsun.com>
90151
90152         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
90153         with like-named macro in fnmatch.c.
90154         (EXT): Use an internal constant instead.
90155
90156         Merge fnmatch patches from glibc.
90157         * lib/fnmatch.c (mbsinit): Remove define.
90158         Add libc_hidden_ver (__fnmatch, fnmatch).
90159         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
90160         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
90161
90162 2004-01-14  Karl Berry  <karl@gnu.org>
90163
90164         * config/install-sh: update from automake.
90165
90166 2004-01-13  Karl Berry  <karl@gnu.org>
90167
90168         * config/install-sh: update from automake.
90169
90170 2004-01-09  Karl Berry  <karl@gnu.org>
90171
90172         * config/install-sh: update from automake.
90173
90174 2004-01-05  Karl Berry  <karl@gnu.org>
90175
90176         * config/config.{sub,guess}: update from config.
90177
90178 2003-12-31  Karl Berry  <karl@gnu.org>
90179
90180         * config/depcomp: update from automake.
90181
90182 2003-12-14  Karl Berry  <karl@gnu.org>
90183
90184         * lib/config.charset: update from gettext-runtime.
90185
90186 2003-12-03  Paul Eggert  <eggert@twinsun.com>
90187
90188         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
90189         Bug reported by Alfred M. Szmidt.
90190
90191 2003-12-03  Bruno Haible  <bruno@clisp.org>
90192
90193         * m4/gettext.m4: Upgrade from gettext-0.13.
90194         * m4/po.m4: Upgrade from gettext-0.13.
90195         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
90196         * m4/intmax.m4: New file, from gettext-0.13.
90197         * m4/printf-posix.m4: New file, from gettext-0.13.
90198
90199 2003-11-29  Karl Berry  <karl@gnu.org>
90200
90201         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
90202
90203 2003-11-25  Paul Eggert  <eggert@twinsun.com>
90204             Bruno Haible  <bruno@clisp.org>
90205
90206         * lib/printf-parse.h: Don't include sys/types.h.
90207         (ARG_NONE): New macro.
90208         (char_directive): Change type of *arg_index fields to size_t.
90209         * lib/printf-parse.c: Don't include sys/types.h.
90210         (SSIZE_MAX): Remove macro.
90211         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
90212         Remove unnecessary overflow check.
90213         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
90214         fields.
90215
90216 2003-11-25  Bruno Haible  <bruno@clisp.org>
90217
90218         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
90219
90220 2003-11-25  Bruno Haible  <bruno@clisp.org>
90221
90222         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
90223         gt_TYPE_SSIZE_T.
90224
90225 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90226
90227         * modules/alloca: Remove dependency on xalloc.
90228
90229 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90230
90231         * lib/alloca.c: Remove dependency on xalloc module.
90232         (xalloc_die): Remove.
90233         (memory_full) [!defined emacs]: New macro.
90234         [!defined emacs]: Don't include xalloc.h.
90235         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
90236         address arithmetic overflows.  Change datatypes a bit to avoid
90237         unnecessary casts.
90238
90239 2003-11-22  Jim Meyering  <jim@meyering.net>
90240
90241         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
90242         s/size/size_t/.
90243
90244 2003-11-21  Karl Berry  <karl@gnu.org>
90245
90246         * config/config.{sub,guess}: update from config.
90247
90248 2003-11-18  Karl Berry  <karl@gnu.org>
90249
90250         * config/config.{sub,guess}: update from config.
90251
90252         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
90253
90254 2003-11-17  Paul Eggert  <eggert@twinsun.com>
90255
90256         * README: Mention that S+T cannot overflow if S is the size of
90257         an existing object and T is sufficiently small.
90258
90259 2003-11-17  Jim Meyering  <jim@meyering.net>
90260
90261         On systems without utime and without a utimes function capable of
90262         dealing with a NULL struct utimbuf* argument, this utime replacement
90263         could -- in unusual circumstances -- leak a file descriptor.
90264         * lib/utime.c: Include <unistd.h> and <errno.h>.
90265         (utime_null): Be sure to close `fd' and to preserve errno.
90266         Reported by Geoff Collyer via Arnold Robbins.
90267
90268 2003-11-17  Bruno Haible  <bruno@clisp.org>
90269
90270         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
90271         (Depends-on): Add xsize.
90272
90273 2003-11-17  Bruno Haible  <bruno@clisp.org>
90274
90275         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
90276
90277 2003-11-17  Bruno Haible  <bruno@clisp.org>
90278
90279         * lib/vasnprintf.c (alloca): Remove fallback definition.
90280         (freea): Remove definition.
90281         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
90282         Reported by Paul Eggert.
90283
90284 2003-11-16  Paul Eggert  <eggert@twinsun.com>
90285             Bruno Haible  <bruno@clisp.org>
90286
90287         Protect against address arithmetic overflow.
90288         * lib/printf-args.h: Include stddef.h.
90289         (arguments): Change type of field 'count' to size_t.
90290         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
90291         'unsigned int' where appropriate.
90292         * lib/printf-parse.h: Include sys/types.h.
90293         (char_directive): Change type of *arg_index fields to ssize_t.
90294         (char_directives): Change type of fields 'count', max_*_length to
90295         size_t.
90296         * lib/printf-parse.c: Include sys/types.h and xsize.h.
90297         (SSIZE_MAX): Define fallback value.
90298         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
90299         instead of 'int' where appropriate. Check a_allocated, d_allocated
90300         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
90301         * lib/vasnprintf.c: Include xsize.h.
90302         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
90303         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
90304         overflow. Avoid wraparound when converting a width or precision from
90305         decimal to binary.
90306
90307 2003-11-16  Bruno Haible  <bruno@clisp.org>
90308
90309         Update from GNU gettext.
90310         * lib/printf-parse.c: Generalize to it can be compiled for wide
90311         strings.
90312         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
90313         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
90314         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
90315         SNPRINTF): New macros.
90316         Don't include <alloca.h> if the file is used inside libintl.
90317         (local_wcslen): New function, for Solaris 2.5.1.
90318         (VASNPRINTF): Use it instead of wcslen.
90319
90320 2003-11-16  Bruno Haible  <bruno@clisp.org>
90321
90322         * lib/xsize.h (xmax): New function.
90323         (xsum, xsum3, xsum4): Declare as "pure" functions.
90324
90325 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90326
90327         * modules/xalloc (Files): Undo latest change, since xalloc.h
90328         no longer needs SIZE_MAX or PTRDIFF_MAX.
90329
90330 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90331
90332         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
90333         gl_PTRDIFF_MAX.
90334
90335 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90336
90337         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
90338         "return", to pacify some unknown compiler.  Problem reported
90339         by Joerg Schilling.
90340
90341 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90342
90343         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
90344         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
90345         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
90346         heuristic is just as accurate as far as we know, and it removes a
90347         dependency on size_max.m4 and ptrdiff_max.m4.
90348
90349 2003-11-11  Bruno Haible  <bruno@clisp.org>
90350
90351         * modules/xsize (Files): Add m4/size_max.m4.
90352         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
90353
90354 2003-11-11  Bruno Haible  <bruno@clisp.org>
90355
90356         * m4/size_max.m4: New file.
90357         * m4/ptrdiff_max.m4: New file.
90358         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
90359         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
90360         (gl_XALLOC): Invoke it.
90361
90362 2003-11-11  Bruno Haible  <bruno@clisp.org>
90363
90364         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
90365         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
90366         defined.
90367
90368 2003-11-10  Paul Eggert  <eggert@twinsun.com>
90369
90370         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
90371         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
90372         rejected some allocations of exactly SIZE_MAX - 2 bytes.
90373         From Bruno Haible.
90374         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
90375         not (size_t) -1, since it's defined here.
90376
90377 2003-11-09  Karl Berry  <karl@gnu.org>
90378
90379         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
90380
90381 2003-11-06  Paul Eggert  <eggert@twinsun.com>
90382
90383         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
90384         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
90385         Reject sizes of exactly SIZE_MAX bytes.
90386         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
90387         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
90388
90389 2003-11-05  Bruno Haible  <bruno@clisp.org>
90390
90391         * lib/xsize.h: Include limits.h, to avoid a possible collision with
90392         SIZE_MAX defined in <limits.h> on Solaris.
90393
90394 2003-11-04  Jim Meyering  <jim@meyering.net>
90395
90396         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
90397         variable names, rather than @VAR@.
90398         * modules/poll: Likewise.
90399
90400 2003-11-04  Bruno Haible  <bruno@clisp.org>
90401
90402         * modules/xsize: New file.
90403         * modules/linebreak: Depend on xsize.
90404         * MODULES.html.sh (func_all_modules): Add xsize.
90405
90406 2003-11-04  Bruno Haible  <bruno@clisp.org>
90407
90408         * m4/xsize.m4: New file.
90409
90410 2003-11-04  Bruno Haible  <bruno@clisp.org>
90411
90412         * lib/xsize.h: New file.
90413         * lib/linebreak.c: Include xsize.h.
90414         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
90415         argument for overflow.
90416         Suggested by Paul Eggert.
90417
90418 2003-11-03  Karl Berry  <karl@gnu.org>
90419
90420         * config/config.{guess,sub}: update from config.
90421
90422 2003-11-03  Jim Meyering  <jim@meyering.net>
90423
90424         * modules/userspec (lib_SOURCES): Add userspec.h.
90425         (Include): Add "userspec.h".
90426         Improve description.
90427
90428 2003-11-03  Jim Meyering  <jim@meyering.net>
90429
90430         * lib/userspec.c: Include "userspec.h".
90431         * lib/userspec.h: New file.
90432
90433 2003-11-03  Bruno Haible  <bruno@clisp.org>
90434
90435         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
90436
90437 2003-11-03  Bruno Haible  <bruno@clisp.org>
90438
90439         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
90440         available, to avoid (extremely rare) race condition.
90441         Suggested by Paul Eggert.
90442
90443 2003-11-02  Karl Berry  <karl@gnu.org>
90444
90445         * config/srclist.txt (vasprintf.c): sync broken, sigh.
90446
90447 2003-10-31  Paul Eggert  <eggert@twinsun.com>
90448
90449         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
90450         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
90451         (read_filesystem_list): Set and use me_type_malloced.
90452         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
90453         whatever the type happens to be), for brevity and consistency.
90454         Check for size calculation overflow on Alphas running OSF/1.
90455
90456 2003-10-31  Jim Meyering  <jim@meyering.net>
90457
90458         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
90459
90460         * lib/linebuffer.c: Include <string.h> for declaration of memset.
90461
90462 2003-10-30  Paul Eggert  <eggert@twinsun.com>
90463             Bruno Haible  <bruno@clisp.org>
90464
90465         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
90466         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
90467
90468 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
90469
90470         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
90471         netbsd*-gnu*.  Suggested by Robert Millan.
90472
90473 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90474
90475         * modules/group-member: Depend on stdbool.
90476
90477 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90478
90479         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
90480
90481 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90482
90483         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
90484         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
90485         after the 'gnu' in these cases.  This fixes some bugs in the
90486         previous change, and is based on suggestions by Robert Millan.
90487
90488 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90489
90490         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
90491         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
90492         no longer needed.
90493         * lib/quotearg.c (quotearg_n_options): Use it.
90494         * lib/group-member.c: Include <stdbool.h>.
90495         (free_group_info): Arg is now const *; don't free arg.
90496         (get_group_info): Now returns bool and accepts struct group_info *,
90497         rather than returning a malloc'ed struct group_info *.
90498         All uses changed.  Check for overflow in internal size calculation.
90499
90500         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
90501         rather than xmalloc/xrealloc.
90502         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
90503         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
90504         conformance bug: the old code used a pointer after freeing the
90505         storage that it addressed.
90506         * lib/hash.c (hash_initialize): Simplify the code by using
90507         xalloc_oversized rather than doing it by hand.
90508         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
90509         the buffer preserved.  Use free and xmalloc instead.
90510         * lib/quotearg.c (quotearg_n_options): Likewise.
90511         Use a simpler test for size overflow.  Don't use xalloc_oversized
90512         because unsigned int might be wider than size_t (!); this suggests
90513         that we should switch from unsigned int to size_t for slot numbers.
90514
90515 2003-10-28  Paul Eggert  <eggert@twinsun.com>
90516
90517         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
90518         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
90519         NetBSD kernels.  Requested by Richard Stallman.
90520
90521 2003-10-27  Paul Eggert  <eggert@twinsun.com>
90522
90523         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
90524         to allocate the returned structure.  Do not allocate a subarray,
90525         as x2nrealloc will do that.
90526         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
90527         instead of xnrealloc.
90528         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
90529
90530 2003-10-27  Bruno Haible  <bruno@clisp.org>
90531
90532         * lib/stdbool_.h: Better support for BeOS.
90533
90534 2003-10-26  Paul Eggert  <eggert@twinsun.com>
90535
90536         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
90537         now uses inline.
90538
90539 2003-10-26  Paul Eggert  <eggert@twinsun.com>
90540
90541         * lib/xalloc.h (xalloc_oversized): New static inline function, for
90542         callers that want to do their own size-overflow checking.  Include
90543         <stdbool.h>, since xalloc_oversized returns bool.
90544         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
90545         to use xalloc_oversized.
90546
90547         Add two functions x2realloc, x2nrealloc, for programs that grow
90548         arrays dynamically by doubling their sizes.
90549         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
90550         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
90551         New functions.
90552
90553         Port to C99 semantics for 'inline' of external functions.
90554         Bug reported by Bruno Haible.
90555         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
90556         with the old contents of xnmalloc.
90557         (xnmalloc, xmalloc): Use it.
90558         (xnrealloc_inline): New static inline function,
90559         with the old contents of xnrealloc.
90560         (xnrealloc, xrealloc): Use it.
90561
90562         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
90563         that.
90564
90565 2003-10-26  Karl Berry  <karl@gnu.org>
90566
90567         * config/srclist.txt (COPYING.DOC): no longer available from
90568         /gd/gnuorg; don't know where the ultimate source is.
90569
90570 2003-10-25  Paul Eggert  <eggert@twinsun.com>
90571
90572         Fix several address-calculation bugs in the hash modules,
90573         plus some minor code cleanup.
90574
90575         * lib/hash.h: Include <stdbool.h>, for bool.
90576         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
90577         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
90578         hash_get_n_entries, hash_get_max_bucket_length,
90579         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
90580         hash_rehash): Use size_t rather than unsigned.
90581         * lib/hash.c (struct hash_table, hash_get_n_buckets,
90582         hash_get_n_buckets_used, hash_get_n_entries,
90583         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
90584         hash_get_entries, hash_do_for_each, hash_string, is_prime,
90585         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
90586         Likewise.
90587         (SIZE_MAX): Define if not defined.
90588         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
90589         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
90590         hash_print):
90591         Use const * when possible.
90592         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
90593         (check_tuning): Fix bug: if tuning parameters were very close to
90594         0 or 1, rounding errors could have caused subscript violations.
90595         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
90596         (hash_initialize): Add 'fail:' label
90597         to free table and return NULL, and use it to simplify code.
90598         Use calloc rather than clearing the storage ourself.
90599         (hash_initialize, hash_rehash): Check for arithmetic overflow in
90600         buffer size calculations.
90601         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
90602         Include <stddef.h>, for size_t.
90603         * lib/hash-pjw.c (hash_pjw): Likewise.
90604         Switch to method described by Bruno Haible.
90605         Include <limits.h>, for CHAR_BIT.
90606         (SIZE_BITS): New macro.
90607
90608 2003-10-23  Paul Eggert  <eggert@twinsun.com>
90609
90610         * m4/getline.m4 (AM_FUNC_GETLINE):
90611         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
90612         hosts.  Problem reported by Derek Robert Price in
90613         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
90614         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
90615         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
90616
90617 2003-10-21  Paul Eggert  <eggert@twinsun.com>
90618
90619         * lib/getndelim2.c (getndelim2): When size calculation overflows,
90620         ceiling the allocation at NMAX bytes rather than silently
90621         discarding input bytes before NMAX is reached.  This makes
90622         a difference only if NMAX exceeds SIZE_MAX / 2.
90623
90624         * lib/obstack.c: Merge from glibc.
90625         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
90626         Add libc_hidden_def (_obstack_newchunk).
90627         (_obstack_free) [! defined _LIBC]: Remove.
90628         [defined _LIBC]: Make a strong alias from obstack_free, rather than
90629         a clone of the function body.
90630         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
90631         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
90632
90633         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
90634         glibc.
90635         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
90636         arg to memcpy.
90637
90638         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
90639         (obstack_ptr_grow_fast, obstack_int_grow_fast):
90640         Don't use lvalue casts, as GCC plans to remove support for them
90641         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
90642         was also present in the non-GCC version, indicating that this
90643         code had always been buggy and had never been widely used.
90644         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
90645         Use the fast variant of each macro, rather than copying the
90646         definiens of the fast variant; that way, we'll be more likely to
90647         catch future bugs in the fast variants.
90648
90649 2003-10-20  Bruno Haible  <bruno@clisp.org>
90650
90651         * modules/wait-process: New file.
90652         * MODULES.html.sh (func_all_modules): Add wait-process.
90653
90654 2003-10-20  Bruno Haible  <bruno@clisp.org>
90655
90656         * m4/wait-process.m4: New file.
90657
90658 2003-10-20  Bruno Haible  <bruno@clisp.org>
90659
90660         * lib/wait-process.h: New file, from GNU gettext.
90661         * lib/wait-process.c: New file, from GNU gettext.
90662
90663 2003-10-19  Jim Meyering  <jim@meyering.net>
90664
90665         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
90666         HPUX 10.20.
90667
90668 2003-10-18  Karl Berry  <karl@gnu.org>
90669
90670         * config/config.guess: update from config.
90671
90672 2003-10-16  Paul Eggert  <eggert@twinsun.com>
90673
90674         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
90675         (getgroups): First arg is int, not size_t.
90676         Don't let 'free' mangle errno.
90677
90678 2003-10-16  Paul Eggert  <eggert@twinsun.com>
90679
90680         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
90681
90682 2003-10-16  Karl Berry  <karl@gnu.org>
90683
90684         * config/config.{guess,sub}: update from config.
90685
90686 2003-10-16  Jim Meyering  <jim@meyering.net>
90687
90688         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
90689         memcpy.
90690
90691 2003-10-15  Paul Eggert  <eggert@twinsun.com>
90692
90693         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
90694         (SIZE_MAX): Remove.
90695         (new_exclude, add_exclude_file): Initial size no longer needs to
90696         be a power of 2.
90697         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
90698         our own address arithmetic overflow checking.
90699
90700         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
90701         (fnmatch): Do not alloca more than 2000 wide characters;
90702         instead, use malloc for large buffers.
90703         Check for address arithmetic overflow, and return -1
90704         with errno set to ENOMEM in that case.
90705         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
90706         (NEW_PATTERN): Do not alloca more than 8000 bytes;
90707         instead, return -1.  Check for address arithmetic overflow.
90708
90709 2003-10-14  Paul Eggert  <eggert@twinsun.com>
90710
90711         Handle invalid suffixes and overflow independently, so that
90712         callers can treat them independently as needed.  Fix some bugs in
90713         suffix handling, e.g., "100k@" was not diagnosed as an invalid
90714         suffix for a human-readable blocksize.  The major caller-visible
90715         change is the addition of a new
90716         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
90717         that both overflow and suffix chars were found.
90718
90719         * lib/human.c (humblock): Don't check separately for invalid suffix
90720         char; that is xstrtoumax's job (now that its bug is fixed).
90721         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
90722         INTMAX_MAX]: New macros.
90723         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
90724         TYPE_MAXIMUM): New macros.
90725         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
90726         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
90727         if overflow occurs, as it's what __strtol does and it's more useful
90728         in practice.
90729         (__xstrtol): If __strtol reports some error other than ERANGE,
90730         reflect it to the caller as LONGINT_INVALID.  If it reports
90731         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
90732         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
90733         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
90734         value.
90735         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
90736         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
90737         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
90738         [defined UINTMAX_MAX]: New macros.
90739
90740 2003-10-14  Bruno Haible  <bruno@clisp.org>
90741
90742         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
90743
90744 2003-10-14  Bruno Haible  <bruno@clisp.org>
90745
90746         * m4/sig_atomic_t: New file, from GNU gettext.
90747         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
90748
90749 2003-10-14  Bruno Haible  <bruno@clisp.org>
90750
90751         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
90752         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
90753         Also use volatile where needed.
90754
90755 2003-10-12  Paul Eggert  <eggert@twinsun.com>
90756
90757         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
90758         Change maintainer from Bruno Haible to 'all'.
90759
90760 2003-10-12  Paul Eggert  <eggert@twinsun.com>
90761
90762         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
90763
90764 2003-10-12  Paul Eggert  <eggert@twinsun.com>
90765
90766         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
90767         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
90768         and define in terms of the other primitives.
90769         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
90770         (SIZE_MAX): Define if not already defined.
90771         (array_size_overflow): New function.
90772         (xalloc_die): Abort instead of exiting if 'error' returns.
90773         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
90774         (xmalloc, xrealloc): Use them.
90775         (xcalloc): Check for address arithmetic overflow.
90776         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
90777         a bit faster than strcpy.
90778
90779 2003-10-10  Simon Josefsson  <jas@extundo.com>
90780
90781         * modules/argp (Depends-on): Add restrict and strcase.
90782
90783 2003-10-10  Simon Josefsson  <jas@extundo.com>
90784
90785         * m4/argp.m4: Add AC_C_INLINE.
90786
90787 2003-10-08  Paul Eggert  <eggert@twinsun.com>
90788
90789         Merge getpass from libc, plus a few fixes.
90790
90791         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
90792         Include <stdbool.h>.
90793         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
90794         __fsetlocking to empty.
90795         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
90796         do include <bits/libc-lock.h>.
90797         Do not include <fcntl.h>; not needed.
90798         [_LIBC]: Include <wchar.h>.
90799         (NOTCANCEL_MODE): New macro.
90800         (flockfile, funlockfile) [_LIBC]: New macros.
90801         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
90802         [!_LIBC]: New macros.
90803         (call_fclose): New function.
90804         (getpass): Use it.  Save tty stream separately; this simplifies the
90805         code and makes it more reliable if stdin happens to equal stdout.
90806         Invoke __fsetlocking on tty.
90807         Handle thread cancellation if needed.
90808         Namespace cleanup (use __tcgetattr, __getline).
90809         Use bool for Booleans.
90810         [USE_IN_LIBIO]: Handle wide streams.
90811         [!_LIBC]: Unconditionally do the fseek, since we don't know what
90812         stream might go where.
90813
90814         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
90815         doesn't have to include <stdio.h> before us.
90816         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
90817         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
90818         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
90819         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
90820         if not declared, so that we can use getpass.c code from libc without
90821         rewriting it.
90822         (flockfile, ftrylockfile, funlockfile): New macros.
90823
90824 2003-10-08  Paul Eggert  <eggert@twinsun.com>
90825
90826         * modules/getpass: Depend on stdbool.
90827
90828 2003-10-08  Paul Eggert  <eggert@twinsun.com>
90829
90830         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
90831
90832 2003-10-07  Karl Berry  <karl@gnu.org>
90833
90834         * config/config.{guess,sub}: update from config.
90835
90836 2003-10-06  Jim Meyering  <jim@meyering.net>
90837             Bruno Haible  <bruno@clisp.org>
90838
90839         This lets translators provide better translations for the
90840         "Written by ..." part of --version output.
90841         * lib/version-etc.h: Include stdarg.h.
90842         (version_etc_copyright): Declare as readonly.
90843         (version_etc): Make this function variadic with a NULL-terminated list
90844         of author name strings.
90845         (version_etc_va): New declaration.
90846         * lib/version-etc.c: Include stdarg.h, stdlib.h.
90847         (version_etc_copyright): Declare as readonly.
90848         (version_etc_va): New function. Provide a different translatable string
90849         for each possible number of authors < 10. Abbreviate when there are 10
90850         authors or more.
90851         (version_etc): Make this function variadic. Call version_etc_va.
90852         Suggestion from Gary V. Vaughan.
90853
90854         * lib/long-options.h (parse_long_options): Change prototype: the
90855         authors string is moved to the end and becomes variadic.
90856         * lib/long-options.c: Include stdarg.h.
90857         (parse_long_options): Make this function variadic, too.
90858         Call version_etc_va, not version_etc.
90859
90860 2003-10-06  Bruno Haible  <bruno@clisp.org>
90861
90862         * modules/version-etc-2: Remove file.
90863         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
90864
90865 2003-10-06  Bruno Haible  <bruno@clisp.org>
90866
90867         * modules/fatal-signal: New file.
90868         * MODULES.html.sh (func_all_modules): Add fatal-signal.
90869
90870 2003-10-06  Bruno Haible  <bruno@clisp.org>
90871
90872         * m4/fatal-signal.m4: New file.
90873         * m4/signalblocking.m4: New file, from GNU gettext.
90874
90875 2003-10-06  Bruno Haible  <bruno@clisp.org>
90876
90877         * lib/version-etc-2.h: Remove file.
90878         * lib/version-etc-2.c: Remove file.
90879
90880 2003-10-06  Bruno Haible  <bruno@clisp.org>
90881
90882         * lib/fatal-signal.h: New file, from GNU gettext.
90883         * lib/fatal-signal.c: New file, from GNU gettext.
90884
90885 2003-10-05  Paul Eggert  <eggert@twinsun.com>
90886
90887         * README: Rework advice for preventing empty .o files.
90888         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
90889         not <sys/types.h>.
90890
90891 2003-10-04  Karl Berry  <karl@gnu.org>
90892
90893         * lib/argp*: update from libc.
90894
90895 2003-10-04  Karl Berry  <karl@gnu.org>
90896
90897         * config/config.{guess,sub}: update from config.
90898
90899 2003-10-02  Bruno Haible  <bruno@clisp.org>
90900
90901         * modules/lchown (Include): Add lchown.h.
90902         * modules/time_r (Include): Use "..." syntax.
90903         * modules/xgetdomainname (Include): Add xgetdomainname.h.
90904
90905 2003-10-01  Simon Josefsson  <jas@extundo.com>
90906
90907         * MODULES.html.sh (func_all_modules): Move gethostname from section
90908         'based on' to section 'lacking' POSIX:2001.
90909
90910 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
90911
90912         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
90913         to output mode on the same stream.
90914
90915 2003-09-29  Paul Eggert  <eggert@twinsun.com>
90916
90917         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
90918         Fix arg typo in previous patch.
90919
90920 2003-09-28  Jim Meyering  <jim@meyering.net>
90921
90922         * lib/error.c: Correct cpp indentation.
90923
90924 2003-09-27  Paul Eggert  <eggert@twinsun.com>
90925
90926         * modules/free: New file.
90927
90928 2003-09-27  Paul Eggert  <eggert@twinsun.com>
90929
90930         * m4/free.m4: New file.
90931
90932 2003-09-27  Paul Eggert  <eggert@twinsun.com>
90933
90934         * lib/minmax.h (MIN, MAX)
90935         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
90936         Omit the special code that used __typeof__, since we worry that
90937         it could be more trouble than it's worth.  See:
90938         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
90939         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
90940
90941         * lib/free.c: New file.
90942
90943 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
90944
90945         Trivial fixes to Makefile.am parts of module listings.
90946         * modules/strstr: Append strstr.h to lib_SOURCES.
90947         * modules/strcase: Likewise, for strcase.h.
90948
90949 2003-09-27  Karl Berry  <karl@gnu.org>
90950
90951         * config/mkinstalldirs: update from automake.
90952
90953 2003-09-26  Paul Eggert  <eggert@twinsun.com>
90954
90955         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
90956         (error_tail): Do not loop, reallocating temporary buffer, since
90957         the output cannot contain more wide characters than the input
90958         contains bytes, the size must be big enough already.  This avoids
90959         one potential size overflow calculation.  Check for size overflow
90960         when calculating temporary buffer size.  Free temporary buffer
90961         when done, if it was allocated with malloc; this plugs a memory
90962         leak.  Remove casts from void * to pointers, that are no longer
90963         needed now that we're assuming C89 or better.
90964
90965         Merge error changes from glibc.
90966
90967         * lib/error.c, error.h: Update copyright notice header to match glibc.
90968         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
90969         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
90970         Disable cancellation while printing error.
90971         * lib/error.h: Prepend __ to parameter names.
90972
90973 2003-09-26  Jim Meyering  <jim@meyering.net>
90974
90975         * lib/error.c (error_tail): Move some declarations
90976         into inner scope where the local variables are used.
90977
90978 2003-09-26  Bruno Haible  <bruno@clisp.org>
90979
90980         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
90981         stpncpy().
90982         Don't define stpncpy through config.h; it's now done through stpncpy.h.
90983
90984 2003-09-26  Bruno Haible  <bruno@clisp.org>
90985
90986         * lib/stpncpy.h (gnu_stpncpy): New declaration.
90987         (stpncpy): Define as alias for gnu_stpncpy.
90988         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
90989
90990 2003-09-25  Simon Josefsson  <jas@extundo.com>
90991
90992         * lib/xgetdomainname.h: New file.
90993         * lib/xgetdomainname.c: New file.
90994
90995 2003-09-25  Simon Josefsson  <jas@extundo.com>
90996             Bruno Haible  <bruno@clisp.org>
90997
90998         * modules/getdomainname: New file.
90999         * modules/xgetdomainname: New file.
91000         * MODULES.html.sh (func_all_modules): Add getdomainname,
91001         xgetdomainname.
91002
91003 2003-09-25  Simon Josefsson  <jas@extundo.com>
91004             Bruno Haible  <bruno@clisp.org>
91005
91006         * m4/getdomainname.m4: New file.
91007
91008 2003-09-25  Simon Josefsson  <jas@extundo.com>
91009             Bruno Haible  <bruno@clisp.org>
91010
91011         * lib/getdomainname.h: New file.
91012         * lib/getdomainname.c: New file.
91013
91014 2003-09-25  Karl Berry  <karl@gnu.org>
91015
91016         * lib/argp-fmtstream.c, argp-help.c: update from libc.
91017
91018 2003-09-25  Karl Berry  <karl@gnu.org>
91019
91020         * config/install-sh: update from automake.
91021
91022 2003-09-25  Bruno Haible  <bruno@clisp.org>
91023
91024         * modules/version-etc-2: New file, from modules/version-etc with
91025         modifications.
91026         * MODULES.html.sh (func_all_modules): Add version-etc-2.
91027
91028 2003-09-25  Bruno Haible  <bruno@clisp.org>
91029
91030         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
91031         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
91032
91033 2003-09-24  Simon Josefsson  <jas@extundo.com>
91034
91035         * modules/xgethostname: Add xgethostname.h.
91036
91037 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91038
91039         * lib/linebuffer.c (freebuffer): Don't free the argument, just
91040         the buffer associated with the argument.  Bug reported by
91041         Simon Josefsson.
91042
91043 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91044
91045         * README: Document assumptions that 'int' is at least 32 bits
91046         wide, that integer arithmetic is 2's complement without overflow,
91047         that there are no holes in integer values, that adding sizes of
91048         two nonoverlapping objects can't overflow, and that all-bits-zero
91049         yields scalar zero.  Fix spelling and capitalization typos.
91050
91051 2003-09-19  Karl Berry  <karl@gnu.org>
91052
91053         * lib/argp.h: update from libc.
91054
91055 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91056
91057         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
91058         to avoid spurious warnings like "AC_RUN_IFELSE was called before
91059         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
91060
91061 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91062
91063         * gnulib-tool: Use "test -h", not "test -L", for portability
91064         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
91065         (tags_regexp): Remove, since \| doesn't conform to POSIX.
91066         (sed_extract_prog): Issue s commands one-by-one, rather than
91067         using \| in one s command.
91068
91069 2003-09-16  Paul Eggert  <eggert@twinsun.com>
91070
91071         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
91072         input error, instead of returning NULL the next time we are called
91073         (and therefore losing track of errno).
91074
91075 2003-09-16  Bruno Haible  <bruno@clisp.org>
91076
91077         * gnulib-tool (func_create_testdir): Warn about duplicated
91078         dependencies.
91079
91080 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91081
91082         * modules/argmatch, modules/fatal, modules/obstack,
91083         modules/xalloc, modules/xgethostname: Sort dependencies by
91084         importance, not alphabetically.
91085
91086 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91087
91088         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
91089         fails, so that the caller gets the proper errno.
91090
91091         * lib/readutmp.c (read_utmp): Likewise.
91092         Check for fstat error.  Close stream and free storage
91093         when failing.
91094
91095 2003-09-14  Karl Berry  <karl@gnu.org>
91096
91097         * config/srclist.txt (strdup.c): disable for c89 changes.
91098
91099 2003-09-14  Jim Meyering  <jim@meyering.net>
91100
91101         * lib/getloadavg.c: Correct cpp indentation.
91102         * lib/strdup.c: Likewise.
91103         * lib/vasnprintf.c: Likewise.
91104
91105 2003-09-14  Bruno Haible  <bruno@clisp.org>
91106
91107         * modules/fwriteerror: New file.
91108         * MODULES.html.sh (func_all_modules): Add fwriteerror.
91109
91110 2003-09-14  Bruno Haible  <bruno@clisp.org>
91111
91112         * lib/fwriteerror.h: New file.
91113         * lib/fwriteerror.c: New file.
91114
91115 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91116
91117         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
91118         modules/xgethostname, modules/xalloc: Depend on exit.
91119
91120 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91121
91122         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
91123
91124         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
91125         and AC_MINIX, too, so that their extensions are available.
91126
91127         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
91128         This macro has been superseded by gl_BACKUPFILE.
91129
91130         More patches to assume C89 or better.
91131
91132         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
91133
91134         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
91135         unconditionally.
91136         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
91137         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
91138         Include <string.h>, <stdlib.h> unconditionally.
91139         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
91140         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
91141         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
91142         headers or for string.h.
91143         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
91144         or strtoul.
91145
91146         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
91147         headers.
91148         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
91149         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91150         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
91151         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
91152         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91153         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
91154         memcpy, memset.
91155         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
91156         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
91157         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
91158         strtol.
91159         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
91160         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
91161         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
91162         strtoul.
91163
91164 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91165
91166         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
91167         * lib/obstack.c [!defined _LIBC]: Likewise.
91168         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
91169         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
91170         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
91171
91172         More changes to assume C89 or better.
91173
91174         * lib/error.c (error_tail): Assume vprintf.
91175
91176         * lib/argmatch.c (getenv): Remove decl.
91177         * lib/progreloc.c (get_full_program_name): Define via prototype.
91178         * lib/setenv.c (clearenv): Likewise.
91179         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
91180         needed.
91181         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
91182         (malloc, memcpy): Remove decls.
91183         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
91184         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
91185         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91186         (memcpy): Remove macro.
91187         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
91188         (__P): Remove.  All uses removed.
91189         (PTR): Remove.  All uses changed to void *.
91190         (CHAR_BIT, NULL): Remove.
91191         (spaces, zeros, memset_space, memset_zero)
91192         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
91193         Remove.
91194         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
91195         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
91196         Define with prototype.
91197         Remove now-unnecessary prototype decl.
91198         (extra_args_spec): Assume ANSI C.  All uses changed.
91199         (extra_args_spec_iso): Remove.
91200         (my_strftime, emacs_strftimeu): Define via prototype.
91201         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
91202         unconditionally.
91203         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
91204         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
91205         (strtoul, strtol): Remove decls.
91206         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
91207         LONG_MAX): Remove.
91208         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91209         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
91210         (LOCALE_PARAM_PROTO): New macro.
91211         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
91212         (INTERNAL (strtol), strtol): Define with a prototype.
91213         (PARAMS): Remove.  All uses removed.
91214         * lib/tempname.c: Include <string.h> unconditionally.
91215         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
91216         * lib/xgethostname.c (main): Define with a prototype.
91217         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
91218         Include <stdlib.h> unconditionally.
91219         (calloc, malloc, realloc, free): Remove decls.
91220         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
91221         Include <stdlib.h> unconditionally.  Sort include file names.
91222         (strtod): Remove.
91223         (xstrtod): Define with a prototype.
91224         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
91225         (strtol, strtoul): Remove decls.
91226
91227 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91228
91229         More patches to assume C89 or better.
91230         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
91231         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
91232         string.h, memchr, STDC_HEADERS.
91233
91234 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91235
91236         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
91237         Include <stdlib.h>, <string.h> unconditionally.
91238         Remove now-unnecessary cast to char *.
91239         * lib/strnlen.c: Include <string.h> unconditionally.
91240         * lib/yesno.c (yesno): Define with a prototype.
91241
91242 2003-09-11  Bruno Haible  <bruno@clisp.org>
91243
91244         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
91245
91246 2003-09-10  Jim Meyering  <jim@meyering.net>
91247
91248         * lib/error.c: Correct indentation of cpp directives.
91249
91250 2003-09-10  Bruno Haible  <bruno@clisp.org>
91251
91252         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
91253         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
91254         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
91255         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
91256         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
91257         <stdlib.h> and <string.h> checks.
91258         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
91259         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
91260
91261 2003-09-10  Bruno Haible  <bruno@clisp.org>
91262
91263         * lib/strcspn.c: Include <string.h> unconditionally.
91264         * lib/strpbrk.c: Include <string.h> unconditionally.
91265         * lib/strstr.c: Include <string.h> unconditionally.
91266         * lib/unicodeio.c: Include <string.h> unconditionally.
91267         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
91268         * lib/unsetenv.c: Likewise.
91269         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
91270         * lib/yesno.c: Include <stdlib.h> unconditionally.
91271         (rpmatch): Add prototype.
91272
91273 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91274
91275         More patches to assume C89 or better.
91276         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
91277         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
91278         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
91279         or for string.h.
91280         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
91281         stdlib.h.
91282         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
91283         C headers.
91284         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
91285         string.h.
91286         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
91287         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
91288         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
91289         or for string.h.
91290         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
91291         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
91292         C headers.
91293         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
91294         memcpy.
91295         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
91296         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
91297         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
91298         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
91299         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
91300         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
91301         string.h, free.
91302         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
91303         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
91304         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
91305         C headers, or for string.h.
91306         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
91307         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
91308         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
91309         headers, memory.h, stdlib.h, string.h, strings.h.
91310         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
91311         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
91312         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
91313         strchr.
91314         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
91315         headers, memory.h, string.h.
91316         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
91317         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
91318         free.
91319         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
91320         headers.
91321         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
91322         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
91323         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
91324         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
91325         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
91326
91327 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91328
91329         More K&R removal.
91330
91331         * lib/acosl.c (main): Use a prototype.
91332         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
91333         tanl.c: Likewise.
91334
91335         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
91336
91337         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
91338         (getopt, etopt_long, getopt_long_only, _getopt_internal)
91339         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
91340         with a prototype.
91341         * lib/getopt.c (const): Remove macro.
91342         Include <string.h> unconditionally.
91343         (my_index): Remove; all uses changed to strchr.
91344         (strlen): Remove decl.
91345         (exchange): Remove forward decl; no longer needed.
91346         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
91347         Define with prototype.
91348         * lib/getopt1.c (const): Remove macro.
91349         (getopt_long, getopt_long_only, main): Define with prototype.
91350
91351         * lib/getugroups.c: Include <string.h> unconditionally.
91352
91353         * lib/getusershell.c: Include <stdlib.h> unconditionally.
91354         (getusershell, setusershell, endusershell, readname, main):
91355         Define with prototypes.
91356
91357         * lib/group-member.c: Include group-member.h first.
91358         Include <stdlib.h> unconditionally.
91359
91360         * lib/hard-locale.c: Include hard-locale.h first.
91361         Include <stdlib.h>, <string.h> unconditionally.
91362
91363         * lib/hash.c (free, malloc): Remove decls.
91364         Include <stdlib.h> unconditionally.
91365
91366         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
91367         (getenv): Do not declare.
91368
91369         * lib/idcache.c: Include <string.h> unconditionally.
91370
91371         * lib/long-options.c: Include long-options.h first, to test interface.
91372         Include <stdlib.h> unconditionally.
91373
91374         * lib/makepath.c: Include makepath.h first, to test interface.
91375         Include <stdlib.h> and <string.h> unconditionally.
91376
91377         * lib/linebuffer.c: Include <stdlib.h>.
91378         (free): Remove decl.
91379
91380         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
91381         stddef.h. rpl_malloc returns void *, not char *.
91382         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
91383         prototype.
91384
91385         * lib/md5.h: Include <limits.h> unconditionally.
91386         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
91387         (__P): Remove; all uses removed.
91388         * lib/md5.c: Include "md5.h" first.
91389         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
91390         md5_buffer, md5_process_bytes, md5_process_block):
91391         Define with prototypes.
91392         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
91393         * lib/sha.c: Include "sha.h" first.
91394         Include <stdlib.h>, <string.h> unconditionally.
91395
91396         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
91397         * lib/memcmp.c (__ptr_t): Likewise.
91398         * lib/memrchr.c (__ptr_t): Likewise.
91399         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
91400         Include <string.h> unconditionally.
91401         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
91402         * lib/memchr.c: Include <stdlib.h> unconditionally.
91403         * lib/memchr.c (LONG_MAX): Remove.
91404         * lib/memrchr.c (LONG_MAX): Likewise.
91405         * lib/memchr.c (__memchr): Define via a prototype.
91406         * lib/memrchr.c (__memrchr): Likewise.
91407         * lib/memcmp.c (__P): Remove, and remove all uses.
91408         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
91409         Remove forward decls; no longer needed.
91410         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
91411         Use types required by C89 in prototype.
91412
91413         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
91414         * lib/savedir.c: Likewise.
91415         * lib/mkdir.c (free): Remove decl.
91416         * lib/rmdir.c (rmdir): Define with a prototype.
91417         * lib/savedir.c: Include savedir.h first, to test interface.
91418
91419         * lib/mktime.c (STDC_HEADERS): Remove.
91420         Include <stdlib.h>, <string.h> unconditionally.
91421
91422         * lib/modechange.c: Include <stdlib.h> unconditionally.
91423         (malloc): Remove decl.
91424
91425         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
91426         (free): Remove decl.
91427
91428         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
91429         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
91430         (This type really should be intptr_t, but that's a C99ism.)
91431         (_obstack_memcpy): Remove: all uses changed to memcpy.
91432         Include <string.h> unconditionally.
91433         (struct obstack): Assume __STDC__ for types of members
91434         chunkfun, freefun, extra_arg.
91435         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
91436         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
91437         obstack_begin, obstack_specify_allocation,
91438         obstack_specify_allocation_with_arg, obstack_chunkfun,
91439         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
91440         Remove unprototyped decls and the macros that use them.
91441         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
91442         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
91443         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
91444         (defined __STDC__ && __STDC__)]:
91445         Remove nonprototyped code.
91446         Include <stdlib.h> unconditionally.
91447         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
91448         _obstack_allocated_p, _obstack_free, obstack_free,
91449         _obstack_memory_used, print_and_abort):
91450         Define using prototypes.
91451         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
91452         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
91453         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
91454         obstack_next_free, obstack_object_size, obstack_room) [0]:
91455         Remove unused, unprototyped code.
91456
91457         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
91458
91459         * lib/physmem.c (physmem_total, physmem_available, main): Define
91460         with prototypes.
91461
91462         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
91463         (main): Define with a prototype.
91464
91465         * lib/posixver.c (getenv): Remove decl.
91466
91467         * lib/putenv.c (malloc): Returns void *, not char *.
91468         Include <string.h> unconditionally.
91469         (strchr, memcpy, NULL): Do not define.
91470
91471         * lib/readtokens.c: Include readtokens.h first, to test interface.
91472         Include <stdlib.h>, <string.h> unconditionally.
91473         (init_tokenbuffer): Define with a prototype.
91474
91475         * lib/regex.c (PARAMS): Remove.  All uses removed.
91476         All uses of _RE_ARGS removed, too.
91477         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
91478         unconditionally.
91479         (bzero): Assume memset exists.
91480         (memcmp, memcpy, NULL): Remove.
91481         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
91482         char, or assignments to local vars of type signed char.
91483         (init_syntax_once, PREFIX(extract_number_and_incr),
91484         PREFIX(print_partial_compiled_pattern),
91485         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
91486         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
91487         PREFIX(regex_grow_registers), PREFIX(regex_compile),
91488         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
91489         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
91490         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
91491         wcs_compile_range, byte_compile_range, truncate_wchar,
91492         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
91493         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
91494         count_mbs_length, wcs_re_match_2_internal,
91495         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
91496         PREFIX(alt_match_null_string_p),
91497         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
91498         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
91499         regfree, PREFIX(extract_number)): Define with prototype.  Remove
91500         now-unnecessary declaration, if any.
91501         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
91502         regcomp, regexec):
91503         Remove now-unnecessary casts among pointer types.
91504         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
91505
91506         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
91507         (free): Remove decl.
91508
91509         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
91510
91511         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
91512         (free): Remove decl.
91513
91514         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
91515         * lib/xgetcwd.c: Likewise.
91516
91517         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
91518         (free): Remove decl.
91519
91520         * lib/strchrnul.c (strchrnul): Define with a prototype.
91521         Fix bug: c_in was not converted to char before searching.
91522
91523         The following changes are not K&R related:
91524
91525         * lib/group-member.h: Include <sys/types.h>, so that this file is
91526         self-contained.
91527         * lib/makepath.h: Likewise.
91528
91529         * lib/getusershell.c (readname, default_index, line_size, readname):
91530         Use size_t, not int, for sizes.
91531         (readname): If the size overflows, report an error instead of
91532         looping forever.
91533
91534 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91535
91536         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
91537         libc.
91538
91539 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91540
91541         * README: New section: portability guidelines.
91542
91543 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
91544
91545         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
91546         C89 spec.
91547
91548 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
91549
91550         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
91551
91552 2003-09-08  Paul Eggert  <eggert@twinsun.com>
91553
91554         Assume C89 or better; remove K&R cruft.
91555         A few of these changes were first proposed by Derek Robert Price
91556         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
91557
91558         * lib/addext.c: Include <string.h> unconditionally.
91559         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
91560         Don't declare getenv or malloc.
91561
91562         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
91563         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
91564         (NULL): Remove.
91565         (find_stack_direction, alloca): Use prototypes.
91566
91567         * lib/atexit.c (atexit): Define using a prototype.
91568
91569         * lib/basename.c, dirname.c, stripslash.c:
91570         Include <string.h> unconditionally.
91571
91572         * lib/bcopy.c: Include <stddef.h>.
91573         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
91574
91575         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
91576
91577         * lib/error.h (error, error_at_line, error_print_progname)
91578         [! (defined (__STDC__) && __STDC__)]: Remove decls.
91579         * lib/error.c: Include error.h first, to check interface.
91580         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
91581         (VA_START): Remove; all uses changeed to va_start.
91582         (exit, strerror): Remove decls.
91583         (error_print_progname): Prototype uncondionally.
91584         Don't include <errno.h>; no longer needed.
91585         (private_strerror): Remove.
91586         (error_tail): Always define.
91587         (error, error_at_line): Assume C89 or better; always use prototypes.
91588         * lib/fatal.c: Include "fatal.h" first, to test interface.
91589         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
91590         (VA_START): Remove; all uses changed to va_start.
91591         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
91592         this case.
91593         (exit): Remove decl.
91594         (fatal): Prototype unconditionally.  Assume va_start works.
91595         Abort at end, to pacify gcc.
91596
91597         * lib/euidaccess.c (main): Define with a prototype.
91598
91599         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
91600
91601         * lib/exitfail.c: Include <stdlib.h> unconditionally.
91602
91603         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
91604         prototypes.
91605         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
91606         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
91607         (getenv): Remove decl.
91608         (fnmatch): Define using a prototype.
91609         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
91610         (FCT): Define using a prototype.
91611
91612         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
91613
91614         * lib/gethostname.c: Include <stddef.h>.
91615         (gethostname): Define with prototype.  Length is size_t, not int.
91616
91617 2003-09-08  Paul Eggert  <eggert@twinsun.com>
91618
91619         Assume C89 or better; remove K&R cruft.
91620         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
91621         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
91622         string.h, getenv, malloc.
91623         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
91624         headers.
91625         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
91626         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
91627         do not check for strerror.
91628         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
91629         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
91630         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
91631         do not check for doprnt or vprintf.
91632         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
91633         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
91634
91635 2003-09-08  Paul Eggert  <eggert@twinsun.com>
91636
91637         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
91638         getversion.c should have been removed then, but was accidentally
91639         preserved.
91640
91641         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
91642         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
91643
91644 2003-09-08  Karl Berry  <karl@gnu.org>
91645
91646         * config/config.sub, config.guess, srclistvars.sh: update from savannah
91647                 config, forget about prep.
91648
91649         * config/depcomp, missing: update from automake.
91650
91651 2003-09-07  Paul Eggert  <eggert@twinsun.com>
91652
91653         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
91654         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
91655
91656 2003-09-07  Paul Eggert  <eggert@twinsun.com>
91657
91658         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
91659         copy_tm_result.  Bug reported by Simon Josefsson in
91660         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
91661
91662 2003-09-06  Paul Eggert  <eggert@twinsun.com>
91663
91664         * m4/time_r.m4: New file.
91665         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
91666         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
91667         is. Check for timegm declaration.
91668         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
91669         Do not check for gmtime_r.
91670         Replace mktime if __mktime_internal does not exist and if mktime
91671         hasn't been replaced already.
91672
91673 2003-09-06  Paul Eggert  <eggert@twinsun.com>
91674
91675         * lib/time_r.c, lib/time_r.h: New files.
91676
91677         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
91678         __localtime_r.
91679         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
91680         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
91681
91682         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
91683         __gmtime_r.
91684         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
91685         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
91686         Include <time_r.h>.
91687
91688         * lib/timegm.c: Switch to glibc implementation, with the following
91689         changes:
91690         [defined HAVE_CONFIG_H]: Include <config.h>.
91691         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
91692         (__mktime_internal) [!defined _LIBC]: New decl.
91693         (__gmtime_r) [!defined _LIBC]: New macro and function.
91694         (timegm): Use a prototype, since gnulib assumes C89.
91695         Do not bother declaring tmp to be const, as it's not really usefu.
91696         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
91697         (timegm): Declare only if HAVE_DECL_TIMEGM.
91698
91699 2003-09-06  Paul Eggert  <eggert@twinsun.com>
91700
91701         * MODULES.html.sh (func_all_modules): Add time_r.
91702         * modules/time_r: New file.
91703         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
91704         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
91705
91706 2003-09-03  Paul Eggert  <eggert@twinsun.com>
91707
91708         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
91709         Bug reported by Lute Kamstra in
91710         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
91711
91712         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
91713         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
91714         course with correspondingly smaller numbers for tomorrow and
91715         yesterday.  From Tadayoshi Funaba.  Originally installed into
91716         sh-utils on 1999-08-07, but the patch got lost (I guess during the
91717         coreutils merge?).
91718
91719 2003-08-31  Simon Josefsson  <jas@extundo.com>
91720
91721         * modules/timegm: New file.
91722         * MODULES.html.sh (func_all_modules): Add timegm.
91723
91724 2003-08-31  Simon Josefsson  <jas@extundo.com>
91725
91726         * m4/timegm.m4: New file.
91727
91728 2003-08-31  Simon Josefsson  <jas@extundo.com>
91729
91730         * lib/timegm.h: New file.
91731         * lib/timegm.c: New file.  Based on
91732         wget-1.8.2/src/http.c:mktime_from_utc.
91733
91734 2003-08-31  Karl Berry  <karl@gnu.org>
91735
91736         * lib/argp.h: update from libc.
91737
91738 2003-08-28  Bruno Haible  <bruno@clisp.org>
91739
91740         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
91741         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
91742         followed by '#define fnmatch fnmatch_posix' gives an error.
91743
91744 2003-08-28  Bruno Haible  <bruno@clisp.org>
91745
91746         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
91747         warning on QNX, which defines O_BINARY to 000000.
91748
91749 2003-08-27  Jim Meyering  <jim@meyering.net>
91750
91751         * m4/mkstemp.m4: Require that the system mkstemp be able to create
91752         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
91753         would fail after 32.  Reported by Danny Levinson.  Details here:
91754         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
91755
91756 2003-08-24  Bruno Haible  <bruno@clisp.org>
91757
91758         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
91759         MSVC7 <stdio.h> is included later.
91760
91761 2003-08-22  Simon Josefsson  <jas@extundo.com>
91762
91763         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
91764
91765 2003-08-20  Karl Berry  <karl@gnu.org>
91766
91767         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
91768
91769 2003-08-20  Bruno Haible  <bruno@clisp.org>
91770
91771         * modules/progname: New file.
91772         * MODULES.html.sh (func_all_modules): Add progname.
91773
91774 2003-08-20  Bruno Haible  <bruno@clisp.org>
91775
91776         * lib/progname.h: New file, from GNU gettext.
91777         * lib/progname.c: New file, from GNU gettext.
91778         * lib/progreloc.c: New file, from GNU gettext.
91779
91780 2003-08-19  Jim Meyering  <jim@meyering.net>
91781
91782         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
91783         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
91784
91785 2003-08-19  Bruno Haible  <bruno@clisp.org>
91786
91787         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
91788         more.
91789
91790 2003-08-19  Bruno Haible  <bruno@clisp.org>
91791
91792         * lib/xstrdup.c: Assume <string.h> exists.
91793
91794 2003-08-18  Paul Eggert  <eggert@twinsun.com>
91795
91796         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
91797         in makefile rules.
91798
91799 2003-08-18  Jim Meyering  <jim@meyering.net>
91800
91801         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
91802         * m4/lib-ld.m4: Likewise.
91803
91804 2003-08-18  Jim Meyering  <jim@meyering.net>
91805
91806         * lib/setenv.h: Indent nested cpp directive.
91807         * lib/vasnprintf.c: Remove trailing blanks.
91808
91809 2003-08-17  Simon Josefsson  <jas@extundo.com>
91810
91811         * modules/xstrndup: New file.
91812         * MODULES.html.sh (func_all_modules): Add xstrndup.
91813
91814 2003-08-17  Simon Josefsson  <jas@extundo.com>
91815
91816         * modules/argp: Fix autoconf macro name. Add more dependencies.
91817
91818 2003-08-17  Simon Josefsson  <jas@extundo.com>
91819
91820         * m4/xstrndup.m4: New file.
91821
91822 2003-08-17  Simon Josefsson  <jas@extundo.com>
91823
91824         * m4/argp.m4: New file.
91825
91826 2003-08-17  Simon Josefsson  <jas@extundo.com>
91827             Bruno Haible  <bruno@clisp.org>
91828
91829         * lib/xstrndup.h: New file.
91830         * lib/xstrndup.c: New file.
91831
91832 2003-08-17  Bruno Haible  <bruno@clisp.org>
91833
91834         * modules/strndup (Files, Include): Add lib/strndup.h.
91835
91836 2003-08-17  Bruno Haible  <bruno@clisp.org>
91837
91838         * modules/euidaccess (Files): Add lib/euidaccess.h.
91839
91840 2003-08-17  Bruno Haible  <bruno@clisp.org>
91841
91842         * lib/strndup.h: New file.
91843
91844 2003-08-17  Bruno Haible  <bruno@clisp.org>
91845
91846         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
91847         like AC_GNU_SOURCE.
91848         * modules/extensions (configure.ac): Comment out the invocation of
91849         gl_USE_SYSTEM_EXTENSIONS.
91850
91851 2003-08-16  Paul Eggert  <eggert@twinsun.com>
91852
91853         Merges from coreutils, etc.
91854         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
91855         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
91856         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
91857         fixing a typo.
91858         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
91859         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
91860
91861 2003-08-16  Paul Eggert  <eggert@twinsun.com>
91862
91863         Document merge from coreutils.
91864         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
91865         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
91866         * modules/utime: Add m4/utimes-null.m4.
91867
91868 2003-08-16  Paul Eggert  <eggert@twinsun.com>
91869
91870         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
91871         space, undoing this 2003-08-12 change:
91872         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
91873
91874 2003-08-16  Paul Eggert  <eggert@twinsun.com>
91875
91876         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
91877         strtoul.c from libc, undoing this 2003-08-12 change:
91878         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
91879
91880 2003-08-16  Jim Meyering  <jim@meyering.net>
91881
91882         Merges from coreutils.
91883         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
91884         prefix.  Adjust cache variables similarly.  Create 500 rather than
91885         just 300 files, to exercise bug on Darwin6.5, too.
91886         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
91887         $missing_dir.
91888         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
91889         AM_SYS_POSIX_TERMIOS.
91890         Reported by mkc@mathdogs.com.
91891         Also change use of $am_cv_sys_posix_termios
91892         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
91893         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
91894         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
91895         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
91896         in /proc/mounts until it finds one with matching device number.  This
91897         is unnecessary when the FILE argument *is* a mount point.  No stat call
91898         is necessary in that case.  So, disable the statvfs-testing code on
91899         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
91900         as RedHat bug# 84846.
91901         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
91902         to 1MB, so as not to render systems with no stack size limit (e.g.,
91903         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
91904         Include <unistd.h>.  On some systems,
91905         it is required for the definition of _SC_PAGESIZE.
91906
91907 2003-08-16  Jim Meyering  <jim@meyering.net>
91908
91909         Merge from coreutils.
91910         * lib/xstrtoimax.c: #else #if -> #elif.
91911         * lib/xstrtoumax.c: Likewise.
91912
91913 2003-08-16  Jim Meyering  <jim@meyering.net>
91914
91915         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
91916         * m4/utimes.m4: Removed.
91917         * m4/utimes-null.m4: Renamed from utimes.m4.
91918
91919         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
91920         to 1MB, so as not to render systems with no stack size limit (e.g.,
91921         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
91922         Include <unistd.h>.  On some systems,
91923         it is required for the definition of _SC_PAGESIZE.
91924
91925 2003-08-16  Jim Meyering  <jim@meyering.net>
91926         and Paul Eggert  <eggert@cs.ucla.edu>
91927
91928         Merges from coreutils, etc.
91929
91930         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
91931         using the latest version from cvs.  This avoids problems with #line
91932         directives using a vendor (Sun) compiler.
91933         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
91934         Don't set GETGROUPS_LIB here; now it's
91935         done via getgroups.m4's wrapper function.
91936         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
91937         rather than just in sh-util/configure.in, so that the
91938         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
91939         same.
91940         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
91941         AC_FUNC_GETLOADAVG where to find getloadavg.c.
91942         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
91943         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
91944         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
91945         Remove code that is now done by the newly-required macros.
91946         Append $(EXEEXT) to DF_PROG.
91947         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
91948         Do not invoke or require the following here,
91949         since prereq.m4 or some gnulib .m4 now does this for us:
91950         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
91951         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
91952         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
91953         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
91954         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
91955         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
91956         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
91957         AC_FUNC_OBSTACK.
91958         Do not replace the following functions, as this is now the job
91959         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
91960         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
91961         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
91962         atexit getpass, strdup, getpagesize.
91963         Replace 'raise'.
91964         Do not check for the following functions, as this is now the job
91965         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
91966         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
91967         setregid.
91968         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
91969         Check for sys/sysctl.h.
91970         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
91971         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
91972         of checking for ssize_t ourselves.
91973
91974         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
91975         Require every macro that gnulib/modules/* suggests for us.
91976         (jm_PREREQ_ADDEXT): New macro.
91977         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
91978         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
91979
91980         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
91981         (gl_PHYSMEM): Use it.
91982         Also check for `table' function.
91983         Check for new headers and functions.
91984         Add check for sys/sysmp.h.
91985         With suggestions from Kaveh Ghazi.
91986         Ignore headers that are present but cannot be compiled.  This
91987         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
91988         C 5.4.
91989
91990 2003-08-15  Paul Eggert  <eggert@twinsun.com>
91991
91992         Document merge from coreutils.
91993         * modules/userspec: Depend on posixver.
91994         * modules/strftime: Depend on tzset.
91995
91996 2003-08-15  Paul Eggert  <eggert@twinsun.com>
91997
91998         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
91999         rather than tab, after '#' in shell-script copyright notices.
92000         Suggested by Bruno Haible.
92001
92002 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92003
92004         * config/srclist-update: Use three spaces, rather than tab, after '#'
92005         in shell-script copyright notices.  Suggested by Bruno Haible.
92006         Remove unnecessary parenthesization in regular expression.
92007
92008 2003-08-15  Jim Meyering  <jim@meyering.net>
92009
92010         Merge from coreutils.
92011         * lib/xgethostname.c: Include <stdlib.h>.
92012         (xghostname): Don't exit for anything other than memory-related
92013         failure; just return NULL.
92014         * lib/userspec.c: Include "posixver.h".
92015         (parse_user_spec): Accept `.' as a separator only
92016         in pre-POSIX-200112 mode.
92017         * lib/strtoimax.c: Use #elif rather than #else #if.
92018         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
92019         Remove function, now that we can rely on a working tzset function.
92020         [!_LIBC]: Ensure that the required autoconf test has been run.
92021         [!defined _NL_CURRENT && HAVE_STRFTIME]:
92022         Use underlying_strftime for %r.
92023         * lib/sha.c: Merge in some clean-up and optimization changes from
92024         glibc.
92025         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
92026         Ensure that it is a multiple of 64.
92027         Rearrange loop exit tests so as to avoid performing an
92028         additional fread after encountering an error or EOF.
92029         * lib/realloc.c: Update copyright date.
92030
92031 2003-08-15  Jim Meyering  <jim@meyering.net>
92032         and Paul Eggert  <eggert@twinsun.com>
92033
92034         Merge from coreutils.
92035         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
92036         member but strut utmpx does not.  Needed for AIX 4.3.3.
92037         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
92038
92039 2003-08-15  Jim Meyering  <jim@meyering.net>
92040         and Paul Eggert  <eggert@cs.ucla.edu>
92041
92042         Merges from coreutils, etc.
92043         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
92044         Require gl_FUNC_TZSET_CLOBBER.
92045         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
92046         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
92047         members.
92048
92049 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92050
92051         Help the merge from coreutils.
92052         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
92053         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
92054         * m4/tzset.m4: Use it too.
92055
92056 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92057
92058         * modules/tzset: New file.
92059
92060 2003-08-14  Jim Meyering  <jim@meyering.net>
92061
92062         Merges from coreutils.
92063         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
92064         variable names, rather than @FNMATCH_H@.
92065         * modules/alloca: Likewise for $(ALLOCA_H).
92066
92067         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
92068         the three copies of the literal target, `fnmatch.h'.
92069         * modules/alloca (alloca.h): Likewise.
92070
92071 2003-08-14  Jim Meyering  <jim@meyering.net>
92072
92073         Merge from coreutils.
92074         * m4/tzset.m4: New file.
92075         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
92076         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
92077         otherwise, AIX 5.1 systems would end up using the latter.
92078         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
92079         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
92080         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
92081         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
92082
92083 2003-08-14  Jim Meyering  <jim@meyering.net>
92084
92085         Merge from coreutils.
92086         * lib/obstack.h: Whitespace changes.
92087         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
92088         and xcalloc return values.
92089         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
92090         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
92091         hang on OSF/1 5.1 for DIR on both local and remote file systems.
92092         Reported by (and fix confirmed by) Nelson H. F. Beebe.
92093         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
92094         error from mntctl.
92095         Use mntctl's return value to drive the entry-processing loop, since
92096         we can't rely on the value of the vmt_length member in the last
92097         entry.  On some systems doing so could result in exhausting
92098         virtual memory.  Based in part on a patch from Mike Jetzer.
92099
92100 2003-08-14  Jim Meyering  <jim@meyering.net>
92101         and Paul Eggert  <eggert@twinsun.com>
92102
92103         Merges from coreutils, plus other fixes.
92104         * lib/physmem.c: Merge in portability changes from gcc/libiberty
92105         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
92106         for credits and details.  Thanks to Kaveh Ghazi for helping
92107         to keep these files in sync.
92108         (ARRAY_SIZE): Define it.
92109         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
92110         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
92111         (memcasecmp): Don't assume size_t fits in unsigned int.
92112         Remove casts and duplicate code.
92113         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
92114         (memcpy): Remove definition.
92115         Merge in some clean-up and optimization changes from glibc.
92116         [BLOCKSIZE]: Move definition to top of file.
92117         Ensure that it is a multiple of 64.
92118         Rearrange loop exit tests so as to avoid performing an
92119         additional fread after encountering an error or EOF.
92120         * lib/md5.h (md5_uintptr): Define.
92121         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
92122         return to the initial working directory.  Preserve errno
92123         for caller.
92124         * lib/idcache.c: Include "xalloc.h".
92125         (xmalloc, xrealloc): Remove decls.
92126         (getuser): Remove casts no longer required in C89.
92127         * lib/human.c: Include stdio.h, for sprintf.
92128         * lib/group-member.c: Include "xalloc.h".
92129         (xmalloc, xrealloc): Remove decls.
92130         (get_group_info): Remove casts no longer required in C89.
92131         * lib/getusershell.c (readname): Remove casts no longer required in
92132         C89.
92133         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
92134         * lib/getline.c: Whitespace fix, from coreutils.
92135
92136 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92137
92138         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
92139         Check for isascii.
92140
92141         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92142         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92143         Undo previous (whitespace-only) change.
92144
92145 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92146
92147         * lib/exclude.c: Include <ctype.h>
92148         (IN_CTYPE_DOMAIN): New macro.
92149         (is_space): New fn.
92150         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
92151         and empty lines.
92152
92153         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92154         Undo previous (whitespace-only) change.
92155
92156 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92157
92158         * config/srclist-update: Change update back to the old behavior,
92159         leaving whitespace alone.  Use one 'sed' command rather than a
92160         pipeline.
92161         (fixlicense): Now a variable, not a function.
92162         (remove_trailing_blanks): Remove.
92163         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
92164         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92165         Undo previous (whitespace-only) change.
92166
92167 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92168
92169         Merge from coreutils.
92170         * modules/euidaccess: Add lib_SOURCES, include for new
92171         file euidaccess.h
92172
92173 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92174
92175         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92176         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92177         Normalize leading white space and remove trailing white space.
92178
92179         Merge from coreutils
92180         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
92181
92182         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
92183         0.12.1.  These files are now being upgraded automatically by
92184         ../config/srclist-update.
92185
92186 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92187
92188         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92189         Normalize leading white space and remove trailing white space.
92190         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
92191         notice, as per ../config/srclist-update.
92192
92193         Merge from coreutils.
92194         * lib/euidaccess.h: New file.
92195         * lib/euidaccess.c: Include it.
92196         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
92197         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
92198         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
92199
92200 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92201
92202         * config/srclist-update: Add copyright notice.
92203         (remove_id_lines, remove_trailing_blanks): New constants.
92204         (fixfile): Use them to normalize spacing a bit in copied files.
92205         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92206         Normalize leading white space and remove trailing white space.
92207
92208         * config/texinfo.tex: Sync with texinfo.
92209
92210         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
92211         strtoul.c from libc, to merge coreutils whitespace changes.
92212
92213         * config/srclist.txt: Get the following m4 files from gettext:
92214         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
92215         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
92216         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
92217         wint_t.m4.
92218
92219 2003-08-12  Karl Berry  <karl@gnu.org>
92220
92221         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
92222         been made.
92223
92224 2003-08-11  Paul Eggert  <eggert@twinsun.com>
92225
92226         * modules/gnu-source, m4/gnu-source.m4:
92227         Remove; we're assuming Autoconf 2.54 or later now.
92228         Suggested by Bruno Haible.
92229         * MODULES.html.sh (func_all_modules): Remove gnu-source.
92230
92231 2003-08-11  Bruno Haible  <bruno@clisp.org>
92232
92233         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
92234
92235 2003-08-11  Bruno Haible  <bruno@clisp.org>
92236
92237         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
92238         (vasnprintf): Use it instead of wcslen.
92239
92240 2003-08-11  Bruno Haible  <bruno@clisp.org>
92241
92242         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
92243         value to ensure that _Bool promotes to int. Use #define for _Bool when
92244         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
92245
92246 2003-08-10  Karl Berry  <karl@gnu.org>
92247
92248         * lib/regex.h: update from libc (whitespace fix).
92249
92250 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92251
92252         Merge some files from coreutils.  These changes were
92253         originally made by Jim Meyering.
92254         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
92255         many older Unixes require this.
92256         * lib/alloca.c (alloca): Remove cast to argument of free;
92257         no longer needed in C89.
92258         * lib/alloca_.h, regex.h: Fix white space to match
92259         what GNU indent does.
92260
92261 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92262
92263         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
92264         apparently Emacs's Unicode mode got confused before my 2003-08-05
92265         checkin.
92266
92267 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92268
92269         * m4/extensions.m4: New file.
92270         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
92271         Require gl_USE_SYSTEM_EXTENSIONS.
92272         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
92273         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
92274
92275 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92276
92277         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
92278         * modules/extensions, modules/gnu-source: New files.
92279         * modules/timespec, modules/unlocked-io: Depend on extensions.
92280
92281 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92282
92283         * modules/restrict: New file.
92284         * MODULES.html.sh (func_all_modules): Add restrict.
92285         * modules/regex: Depend on restrict.
92286
92287 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92288
92289         * m4/restrict.m4: New file.
92290         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
92291
92292 2003-08-07  Bruno Haible  <bruno@clisp.org>
92293
92294         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
92295         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
92296
92297 2003-08-07  Bruno Haible  <bruno@clisp.org>
92298
92299         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
92300         makes the module 'getndelim2' compatible with the module 'getline'.
92301
92302 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92303
92304         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
92305         byte with "\201" to avoid glitches when editing that source file
92306         with multi-gnome-terminal.
92307
92308 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92309
92310         * lib/bumpalloc.h: Remove.
92311
92312 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92313
92314         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
92315         * modules/bumpalloc: Remove.
92316
92317 2003-08-04  Paul Eggert  <eggert@twinsun.com>
92318
92319         * lib/getloadavg.c: Change copyright notice and spacing to conform to
92320         GNU coding style.
92321
92322         Merge from coreutils.
92323         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
92324         1. From glibc.
92325         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
92326         from Karl Berry, implemented by Jim Meyering.
92327         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
92328         from Dmitry V. Levin.
92329         Remove anachronistic cast of xrealloc.
92330         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
92331         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
92332         type. Otherwise, it wouldn't compile with at least /bin/cc on
92333         ymp-cray-unicos9.0.2.X.
92334         Combine two mostly-identical uses of alloca into one.
92335         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
92336
92337 2003-08-04  Dave Love  <d.love@dl.ac.uk>
92338
92339         [From Emacs.]
92340
92341         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
92342         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
92343         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
92344         obsolete NLIST_NAME_UNION.
92345         [__GNU__]: Undef BSD and FSCALE.
92346         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
92347
92348 2003-08-03  Paul Eggert  <eggert@twinsun.com>
92349
92350         * lib/stdbool_.h (_Bool): Make it signed char, instead of
92351         an enum type, so that it's guaranteed to promote to int.  See:
92352         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
92353
92354 2003-08-03  Karl Berry  <karl@gnu.org>
92355
92356         * config/depcomp: update from automake.
92357
92358 2003-07-31  Paul Eggert  <eggert@twinsun.com>
92359
92360         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
92361         (strerror): Don't assume that a printable int fits in 14 bytes.
92362
92363 2003-07-31  Bruno Haible  <bruno@clisp.org>
92364
92365         * modules/getpass-gnu: New file.
92366         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
92367
92368 2003-07-31  Bruno Haible  <bruno@clisp.org>
92369
92370         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
92371
92372 2003-07-24  Karl Berry  <karl@gnu.org>
92373
92374         * config/missing: update from automake.
92375
92376 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
92377             Bruno Haible  <bruno@clisp.org>
92378
92379         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
92380         * lib/getline.c (getline, getdelim): Likewise.
92381         Remove _GNU_SOURCE define; now it's defined in config.h through
92382         m4/getline.m4.
92383
92384 2003-07-23  Karl Berry  <karl@gnu.org>
92385
92386         * config/config.sub: update from prep.
92387
92388 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92389
92390         * modules/xalloc (Depends-on): Add exitfail.
92391         * modules/xmemcoll: Likewise.
92392
92393 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92394
92395         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
92396         over-parenthesization in macros.
92397
92398         Sync with coreutils.
92399
92400         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
92401         required by C99.
92402
92403         Use `exit_failure' for xalloc and xmemcoll instead of their own
92404         private exit-failure variables.
92405         * lib/xalloc.h (xalloc_exit_failure): Remove.
92406         * lib/xmalloc.c: Likewise.  Include exitfail.h.
92407         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
92408         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
92409         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
92410         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
92411
92412 2003-07-20  Jim Meyering  <jim@meyering.net>
92413
92414         * modules/closeout (Depends-on): Add exitfail.
92415         Suggestion from Bruno Haible.
92416
92417 2003-07-19  Karl Berry  <karl@gnu.org>
92418
92419         * config/config.sub: update from prep.
92420
92421 2003-07-18  Paul Eggert  <eggert@twinsun.com>
92422
92423         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
92424         Remove.
92425         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
92426         to test that it can stand by itself.  Include "exitfail.h".
92427         Clients should set exit_failure instead.
92428         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
92429
92430 2003-07-18  Bruno Haible  <bruno@clisp.org>
92431
92432         * modules/getndelim2: New file.
92433         * modules/getline: Share files with module getndelim2.
92434         * modules/getnline: Depend on getndelim2 instead of sharing files with
92435         it. Add getnline.c to lib_SOURCES.
92436         * MODULES.html.sh (func_all_modules): Add getndelim2.
92437
92438 2003-07-18  Bruno Haible  <bruno@clisp.org>
92439
92440         * m4/getndelim2.m4: New file.
92441         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
92442         invoke gl_PREREQ_GETNDELIM2.
92443         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
92444         gl_PREREQ_GETNDELIM2.
92445         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
92446         gl_GETNDELIM2.
92447
92448 2003-07-18  Bruno Haible  <bruno@clisp.org>
92449
92450         * lib/getndelim2.h: New file.
92451         * lib/getndelim2.c: Make into a module of its own. Include config.h,
92452         getndelim2.h.
92453         (getndelim2): Make non-static. Change return type to ssize_t.
92454         * lib/getline.h: Change argument names.
92455         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
92456         * lib/getnline.c: Include getndelim2.h.
92457
92458 2003-07-18  Andreas Schwab  <schwab@suse.de>
92459
92460         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
92461
92462 2003-07-17  Karl Berry  <karl@gnu.org>
92463
92464         * config/config.sub: update from prep.
92465
92466 2003-07-17  Bruno Haible  <bruno@clisp.org>
92467
92468         * modules/getnline: New file.
92469         * modules/getline: Add lib/getndelim2.c to source file list.
92470         * MODULES.html.sh (func_all_modules): Add getnline.
92471
92472 2003-07-17  Bruno Haible  <bruno@clisp.org>
92473
92474         * m4/getnline.m4: New file.
92475
92476 2003-07-17  Bruno Haible  <bruno@clisp.org>
92477
92478         * m4/Makefile.am.in: Remove file.
92479         * m4/Makefile.am: Remove file.
92480         * m4/Makefile.in: Remove file.
92481
92482 2003-07-17  Bruno Haible  <bruno@clisp.org>
92483
92484         * lib/getnline.h: New file.
92485         * lib/getnline.c: New file.
92486         * lib/getndelim2.c: New file, extracted from getline.c.
92487         (getndelim2): Renamed from getdelim2, with added nmax argument.
92488         * lib/getline.c: Include getndelim2.c.
92489         (getdelim2): Moved out to getndelim2.c.
92490         (getline, getdelim): Update.
92491
92492 2003-07-17  Bruno Haible  <bruno@clisp.org>
92493
92494         * lib/Makefile.am: Remove file.
92495         * lib/Makefile.in: Remove file.
92496
92497 2003-07-17  Bruno Haible  <bruno@clisp.org>
92498
92499         * configure.in: Remove file.
92500         * Makefile.in: Remove file.
92501
92502 2003-07-17  Bruno Haible  <bruno@clisp.org>
92503
92504         * MODULES.html.sh: Put the </BODY> right before </HTML>.
92505
92506 2003-07-16  Karl Berry  <karl@gnu.org>
92507
92508         * config/srclist-update: was running fixlicense twice, which caused
92509                 texinfo.tex to be nullified for some reason.  Simplify,
92510                 $gplsrc is no longer needed as far as I can see?
92511
92512 2003-07-16  Jim Meyering  <jim@meyering.net>
92513
92514         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
92515
92516 2003-07-15  Paul Eggert  <eggert@twinsun.com>
92517
92518         * config/srclist.txt: Get the following files from gettext-runtime/intl
92519         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
92520         ref-del.sin.  From Bruno Haible.
92521         * config/srclist-update (fixfile): Change grep pattern again, since the
92522         previous fix didn't work (there was another trailing $).  Use
92523         '[$]' to escape the $s.
92524
92525 2003-07-15  Karl Berry  <karl@gnu.org>
92526
92527         * lib/vasnprintf.c: update from gettext.
92528
92529 2003-07-15  Karl Berry  <karl@gnu.org>
92530
92531         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
92532         gets expanded when surrounded by '$'.
92533
92534 2003-07-15  Jim Meyering  <jim@meyering.net>
92535
92536         * modules/save-cwd: Don't depend on error.  From Derek Price.
92537
92538 2003-07-15  Jim Meyering  <jim@meyering.net>
92539
92540         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
92541
92542 2003-07-14  Simon Josefsson  <jas@extundo.com>
92543
92544         * modules/mempcpy: New file.
92545         * MODULES.html.sh (func_all_modules): Add mempcpy.
92546
92547 2003-07-14  Simon Josefsson  <jas@extundo.com>
92548
92549         * m4/mempcpy.m4: New file.
92550
92551 2003-07-14  Simon Josefsson  <jas@extundo.com>
92552
92553         * lib/mempcpy.h: New file.
92554         * lib/mempcpy.c: New file.
92555
92556 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92557
92558         * modules/getdate, modules/posixtm: Depend on mktime.
92559
92560 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92561
92562         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
92563         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
92564         unicodeio.c, unicodeio.h, unlocked-io.h:
92565         Switch from LGPL to GPL.
92566
92567 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92568
92569         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
92570         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
92571         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
92572         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
92573         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
92574         updated automatically by ../config/srclist-update.  This changes
92575         their license from LPGL to GPL.
92576
92577 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92578
92579         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
92580         assumed to refer to the root of the most recent stable gettext version.
92581         * config/srclistvars.sh: Add defaults for eggert.
92582         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
92583         Match "This program" as well as "The program".  This is needed
92584         for gettext.
92585
92586 2003-07-14  Jim Meyering  <jim@meyering.net>
92587
92588         Don't emit diagnostics.  Let callers do that.
92589         * lib/save-cwd.c: Don't include "error.h".
92590         (save_cwd): Don't call error.  Ensure that errno is valid
92591         when returning nonzero.
92592
92593         * lib/save-cwd.h (restore_cwd): Update prototype.
92594         * lib/save-cwd.c (restore_cwd): Remove two parameters.
92595         Simplify.  Don't call error upon failure.  Let callers do that.
92596         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
92597         when auditing is enabled.  But don't bother updating the #if.
92598
92599 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
92600
92601         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
92602         it breaks C++ compilation.
92603         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
92604
92605 2003-07-10  Simon Josefsson  <jas@extundo.com>
92606
92607         * modules/strchrnul (Makefile.am): Add strchrnul.h.
92608
92609 2003-07-10  Jim Meyering  <jim@meyering.net>
92610
92611         * m4/clock_time.m4: Remove trailing blank.
92612         * m4/intmax_t.m4: Likewise.
92613
92614 2003-07-10  Jim Meyering  <jim@meyering.net>
92615
92616         * lib/vasnprintf.c: Remove trailing blanks.
92617         Make cpp indentation consistent.
92618
92619 2003-07-09  Paul Eggert  <eggert@twinsun.com>
92620
92621         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
92622         posixver.c, strftime.c, strnlen.c, strverscmp.c:
92623         Switch from LGPL to GPL.
92624
92625 2003-07-09  Paul Eggert  <eggert@twinsun.com>
92626
92627         * config/srclist.txt: Sort sublists.  Add
92628         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
92629         that differ from gnulib for one reason or another; we'd like this list
92630         to be smaller but for now let's document what we have.
92631
92632 2003-07-08  Paul Eggert  <eggert@twinsun.com>
92633
92634         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
92635         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
92636         and sweeter "eval x=$x".
92637         * config/srclist.txt: Get lib/argp* from glibc.
92638
92639 2003-07-07  Paul Eggert  <eggert@twinsun.com>
92640
92641         * lib/mktime.c: Fix some boundary cases and remove need for floating
92642         point.
92643
92644         Issue a compile-time diagnostic if time_t is floating point, or if
92645         two's complement arithmetic is not in effect, or if arithmetic
92646         right shift does not propagate the sign.  These assumptions were
92647         all in the original code but they weren't checked.
92648
92649         (TIME_T_MIDPOINT, verify): New macros.
92650         (__isleap): Remove; it has integer overflow problems.
92651         (leapyear): New function, without those problems.
92652         (ydhms_tm_diff): Remove; splitting into two parts.
92653         (ydhms_diff): New function, containing the arithmetic part of
92654         the old ydhms_tm_diff function.  Issue a compile-time
92655         diagnostic if we are not using C99 integer division.
92656         Avoid casts when possible.
92657         (guess_time_tm): New function, containing the checking part of
92658         the old ydhms_tm_diff function.  Return the new value, rather than
92659         the difference between it and the old.  Accept a new argument T
92660         so that *T specifies the old value.  Check for overflow in the result.
92661
92662         (__mktime_internal): Use a time_t offset, not a long int offset.
92663         This undoes the 2003-06-04 change, which is no longer needed now
92664         that we have better overflow checking.
92665         (localtime_offset): Likewise.
92666
92667         (__mktime_internal): Avoid harmful overflow on hosts where time_t
92668         and long are 64-bit but int is only 32-bit.
92669         (ydhms_diff): Use long int to store year1 and yday1.
92670         Issue a compile-time diagnostic if long int is not wide enough.
92671
92672         (__mktime_internal): Use long int to store adjusted year and yday.
92673         Use plain C rather than preprocessor commands, if that doesn't
92674         affect efficiency.
92675         Check for overflow (and try to repair) after each probe
92676         rather than checking only at the very end.  This avoids some bugs
92677         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
92678         does not equal GMT offset at maximum time).
92679         Use integer to check for overflow rather than floating point; this
92680         is more portable to non-IEEE hosts, and is a tad faster.
92681         When we detect that we are oscillating between two values,
92682         don't check whether tm_isdst has the requested value, since
92683         we already know the answer.  When tm_isdst has the wrong value,
92684         use a different heuristic to find the right one, based on the
92685         extreme values actually observed in practice in tz2003a,
92686         rather than the (overly optimistic) "previous 3 calendar quarters".
92687
92688         (not_equal_tm, print_tm, check_result): Use "const T" rather than
92689         "T const" to accommodate glibc style.
92690         (check_result): Use less-confusing report format.  "long" -> "long int.
92691         (main): Likewise.
92692         Don't loop if the iteration overflows time_t.
92693         Allow a negative step in the iteration.
92694
92695 2003-07-06  Karl Berry  <karl@gnu.org>
92696
92697         * config/depcomp: update from automake.
92698         * config/config.sub: update from prep.
92699
92700 2003-07-03  Karl Berry  <karl@gnu.org>
92701
92702         * config/config.guess: update from prep.
92703
92704 2003-07-01  Paul Eggert  <eggert@twinsun.com>
92705
92706         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
92707         xreadlink.c now includes it unconditionally.
92708
92709 2003-07-01  Paul Eggert  <eggert@twinsun.com>
92710
92711         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
92712         having it depend on HAVE_SYS_TYPES_H.
92713
92714 2003-07-01  Bruno Haible  <bruno@clisp.org>
92715
92716         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
92717         <sys/types.h> should be sufficient.
92718         Reported by Paul Eggert.
92719
92720 2003-06-26  Karl Berry  <karl@gnu.org>
92721
92722         * config/depcomp: update from automake.
92723
92724 2003-06-26  Bruno Haible  <bruno@clisp.org>
92725
92726         * modules/human: Depend on module stdbool.
92727
92728 2003-06-25  Bruno Haible  <bruno@clisp.org>
92729
92730         * modules/readlink: New file.
92731         * modules/xreadlink: Depend on it.
92732         * MODULES.html.sh (func_all_modules): Add readlink.
92733
92734 2003-06-25  Bruno Haible  <bruno@clisp.org>
92735
92736         * m4/readlink.m4: New file.
92737
92738 2003-06-25  Bruno Haible  <bruno@clisp.org>
92739
92740         * lib/readlink.c: New file.
92741
92742 2003-06-22  Karl Berry  <karl@gnu.org>
92743
92744         * config/srclist.txt: update mkinstalldirs from automake.
92745         * config/mkinstalldirs: update.
92746
92747 2003-06-22  Bruno Haible  <bruno@clisp.org>
92748
92749         Portability to mingw32.
92750         * m4/ssize_t.m4: New file, from GNU gettext.
92751         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
92752         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
92753
92754 2003-06-22  Bruno Haible  <bruno@clisp.org>
92755
92756         * modules/safe-read: Add m4/ssize_t.m4.
92757         * modules/xreadlink: Add m4/ssize_t.m4.
92758
92759 2003-06-20  Bruno Haible  <bruno@clisp.org>
92760
92761         Assume C89, so PARAMS isn't needed.
92762         * lib/unicodeio.h (PARAMS): Remove.
92763         * lib/unicodeio.c: Don't use PARAMS.
92764
92765 2003-06-18  Karl Berry  <karl@gnu.org>
92766
92767         * config/config.{guess,sub}: update from prep.
92768
92769 2003-06-18  Jim Meyering  <jim@meyering.net>
92770
92771         Merge changes from coreutils.
92772         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
92773         Remove explicit declarations of xmalloc and realloc.
92774         Include xalloc.h.
92775         (read_utmp): Remove anachronistic cast of xmalloc.
92776
92777 2003-06-17  Paul Eggert  <eggert@twinsun.com>
92778
92779         Assume C89, so PARAMS isn't needed.
92780         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
92781         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
92782         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
92783         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
92784         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
92785         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
92786         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
92787         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
92788         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
92789         lib/xstrtod.h, lib/xstrtol.h: Likewise.
92790         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
92791         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
92792         no longer needed. Anyway, config.h should always be included before any
92793         other file.
92794
92795 2003-06-11  Simon Josefsson  <jas@extundo.com>
92796
92797         * modules/sysexits: New file.
92798         * MODULES.html.sh (func_all_modules): Add sysexits.
92799
92800 2003-06-11  Simon Josefsson  <jas@extundo.com>
92801
92802         * lib/sysexit_.h: New file.
92803
92804 2003-06-11  Derek Price  <derek@ximbiot.com>
92805
92806         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
92807         necessary.
92808
92809 2003-06-11  Bruno Haible  <bruno@clisp.org>
92810
92811         * m4/sysexits.m4: New file.
92812
92813 2003-06-10  Simon Josefsson  <jas@extundo.com>
92814
92815         * lib/argp.h: New file, from glibc.
92816         * lib/argp-ba.c: New file, from glibc.
92817         * lib/argp-eexst.c: New file, from glibc.
92818         * lib/argp-fmtstream.c: New file, from glibc.
92819         * lib/argp-fmtstream.h: New file, from glibc.
92820         * lib/argp-fs-xinl.c: New file, from glibc.
92821         * lib/argp-help.c: New file, from glibc.
92822         * lib/argp-namefrob.h: New file, from glibc.
92823         * lib/argp-parse.c: New file, from glibc.
92824         * lib/argp-pv.c: New file, from glibc.
92825         * lib/argp-pvh.c: New file, from glibc.
92826         * lib/argp-xinl.c: New file, from glibc.
92827
92828 2003-06-10  Simon Josefsson  <jas@extundo.com>
92829
92830         * modules/strchrnul: New file.
92831
92832 2003-06-10  Simon Josefsson  <jas@extundo.com>
92833
92834         * modules/argp: New file.
92835
92836 2003-06-10  Simon Josefsson  <jas@extundo.com>
92837
92838         * m4/strchrnul.m4: New file.
92839
92840 2003-06-10  Simon Josefsson  <jas@extundo.com>
92841
92842         * lib/strchrnul.h: New file.
92843         * lib/strchrnul.c: New file.
92844
92845 2003-06-10  Bruno Haible  <bruno@clisp.org>
92846
92847         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
92848
92849 2003-06-07  Karl Berry  <karl@gnu.org>
92850
92851         * config/config.{guess,sub}: update from prep.
92852
92853 2003-06-07  Jim Meyering  <jim@meyering.net>
92854
92855         * modules/strtod: Use $(...) notation, not @...@ for
92856         AC_REPLACE'd variables.
92857         * modules/localcharset: Likewise.
92858
92859 2003-06-07  Jim Meyering  <jim@meyering.net>
92860
92861         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
92862         in place of my name in the copyright comment.
92863         Remove definition and uses of __P.
92864
92865         From coreutils.
92866         * lib/stat.c: Don't declare xmalloc explicitly.
92867         Instead, include "xalloc.h".
92868         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
92869         xrealloc, and xcalloc return values.
92870         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
92871         Improve comment.
92872         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
92873
92874 2003-06-07  Bruno Haible  <bruno@clisp.org>
92875
92876         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
92877         avoid AC_CONFIG_LINKS.
92878         * modules/fnmatch (Makefile.am): Use explicit creation rule for
92879         fnmatch.h, to avoid AC_CONFIG_LINKS.
92880         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
92881
92882 2003-06-07  Bruno Haible  <bruno@clisp.org>
92883
92884         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
92885         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
92886         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
92887         directory.
92888         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
92889         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
92890         directory.
92891
92892 2003-06-06  Jim Meyering  <jim@meyering.net>
92893
92894         Merge from coreutils.
92895         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
92896         Consolidate declarations and initializations of *_base* locals.
92897
92898         Merge from coreutils.
92899         This avoids a core dump on systems without GNU putenv,
92900         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
92901         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
92902         (unsetenv): New static function, from GNU libc.
92903         (rpl_putenv): Use it.
92904
92905         * lib/modechange.c: Remove trailing blanks.
92906
92907         Merge from coreutils.
92908         * lib/fsusage.c: Remove declaration of statfs.
92909         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
92910
92911         * lib/posixtm.c: Include <stdbool.h> unconditionally.
92912
92913 2003-06-06  Jim Meyering  <jim@meyering.net>
92914
92915         * lib/stdbool_.h: Renamed from stdbool.h.in.
92916
92917 2003-06-06  Jim Meyering  <jim@meyering.net>
92918             Bruno Haible  <bruno@clisp.org>
92919
92920         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
92921         Adjust Makefile.am snippet not to redirect directly to target.
92922         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
92923
92924 2003-06-05  Paul Eggert  <eggert@twinsun.com>
92925
92926         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
92927         mismatch, look in future quarters as well as past.  This fixes a
92928         bug when processing fall-backwards gaps immediately after a long
92929         period of daylight-saving time.
92930
92931         * lib/mktime.c: Assume freestanding C89 or better.
92932         (HAVE_LIMITS_H): Remove.  Assume it's 1.
92933         (__P): Remove; not used.
92934         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
92935         (mktime, not_equal_tm, print_tm, check_result,
92936         main): Use prototypes.  Use const * where appropriate.
92937         (main): Fix typo in testing code that uncovered by above changes.
92938         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
92939
92940 2003-06-04  Paul Eggert  <eggert@twinsun.com>
92941
92942         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
92943         locale.h, localeconv.  This merges changes from coreutils.
92944
92945         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
92946         It can be removed after the next Autoconf is released.
92947         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
92948         needed.
92949
92950 2003-06-04  Paul Eggert  <eggert@twinsun.com>
92951
92952         * lib/mktime.c: Fix Debian bug 177940
92953         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
92954         (localtime_offset): Now long int, not time_t, because we want it
92955         to be guaranteed to be signed.  All uses changed.
92956         (__mktime_internal): If overflow would occur when adding offset,
92957         don't add it.
92958
92959         Merge 'human' changes from coreutils.  Rewrite to support
92960         locale-specific notations like thousands separators.
92961         * lib/human.c: Simplify authorship notice.
92962         Include human.h immediately after config.h.
92963         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
92964         <limits.h>: Do not include, since human.h does.
92965         (SIZE_MAX, UINTMAX_MAX): New macros.
92966         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
92967         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
92968         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
92969         (power_letter): Renamed from suffixes.
92970         (generate_suffix_backwards): Remove.
92971         (adjust_value): Now takes int style (because of human.h changes)
92972         and long double value (for greater precision on some platforms).
92973         (group_number): New function.
92974         (human_readable): Use it.  Use integer options, not enum.
92975         Put the options before the sizes in the arg list.
92976         Support all the new options.
92977         The old human_readable function has been removed;
92978         use inttostr.h instead.
92979         (human_readable, default_block_size, humblock):
92980         Use uintmax_t, not int, for block sizes.
92981         (human_readable_inexact, block_size_types): Remove.
92982         (block_size_opts): New constant.
92983         (human_options): Renamed from human_block_size, with new signature
92984         that allows block sizes up to UINTMAX_MAX.  All callers changed.
92985         * lib/human.h: Add copyright and authorship notice.
92986         Include <limits.h> and <stdbool.h> unconditionally.
92987         (PARAMS): Remove.  All uses removed.
92988         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
92989         (enum human_inexact_style): Remove tag; now a nameless enum.
92990         (human_floor, human_ceiling, human_round_to_even): Now have
92991         values 2, 0, 1 rather than -1, 1, 0.
92992         (human_group_digits, human_suppress_point_zero, human_autoscale,
92993         human_base_1024, human_SI, human_B): New constants.
92994         (human_readable_inexact, human_block_size): Remove.
92995         (human_readable): Size args are now uintmax_t, not int.
92996         (human_options): New decl.
92997
92998         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
92999         unnecessary now that we assume C89 or better.  This change
93000         imported from coreutils.
93001
93002         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93003         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
93004         in the 2003-05-30 sync from glibc.
93005
93006         .h files should stand alone, but we shouldn't include <sys/types.h>
93007         if we can get away with just <stddef.h>.
93008
93009         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
93010         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
93011         rather than <sys/types.h>, as we merely need size_t.
93012         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
93013         to get size_t.
93014         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
93015         Include <stdio.h>, to get FILE.
93016         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
93017         memcasecmp.h has included <stddef.h> and all we need is size_t.
93018         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
93019         our interface, instead of including <sys/types.h>
93020
93021 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93022
93023         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
93024         now, as glibc mktime is buggy on non-glibc systems.
93025
93026 2003-06-03  Karl Berry  <karl@gnu.org>
93027
93028         * config/config.sub: update from prep.
93029
93030 2003-06-02  Paul Eggert  <eggert@twinsun.com>
93031
93032         [from coreutils]
93033         Fix some minor time-related bugs with POSIX time arguments.
93034         Some valid time stamps were being rejected (notably -1, and
93035         time stamps before 1900 on 64-bit hosts).  And some invalid
93036         time stamps were being accepted, e.g. September 31.
93037
93038         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
93039         that we can return (time_t) -1 successfully.
93040         * lib/posixtm.c: Likewise.
93041         [HAVE_STDBOOL_H]: Include <stdbool.h>.
93042         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
93043         (t): Remove static var.
93044         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
93045         of static var.  All uses changed.
93046         (year): Do not reject years before 1900; they can occur with
93047         64-bit time_t.
93048         (posix_time_parse): Do not check for out-of-range components;
93049         that is now the caller's responsibility, since our checks were
93050         only approximations.
93051         (posixtime): Use mktime to check for out-of-range components,
93052         since it knows them exactly.
93053         If mktime returns (time_t) -1, check whether an error actually occurred
93054         by invoking localtime on -1.
93055         (main) [TEST_POSIXTIME]: Check for input data errors, and report
93056         posixtime failures better.
93057         Improve the test data (in comments only).
93058
93059 2003-06-02  Karl Berry  <karl@gnu.org>
93060
93061         * config/mkinstalldirs (version): new variable.
93062         (--version): new option.
93063         (usage): improve message.
93064
93065 2003-05-30  Karl Berry  <karl@gnu.org>
93066
93067         * lib/mktime.c: update from libc.
93068
93069 2003-05-30  Bruno Haible  <bruno@clisp.org>
93070
93071         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
93072         * config/config.rpath: Upgrade to gettext-0.12.1.
93073
93074 2003-05-30  Bruno Haible  <bruno@clisp.org>
93075
93076         * m4/gettext.m4: Upgrade to gettext-0.12.1.
93077         * m4/nls.m4: New file, from gettext-0.12.1.
93078         * m4/po.m4: New file, from gettext-0.12.1.
93079         * m4/progtest.m4: Upgrade to gettext-0.12.1.
93080
93081 2003-05-30  Bruno Haible  <bruno@clisp.org>
93082
93083         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
93084         * lib/localcharset.h: Likewise.
93085         * lib/localcharset.c: Likewise.
93086
93087 2003-05-29  Karl Berry  <karl@gnu.org>
93088
93089         * config/config.rpath: update from gettext.
93090
93091 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93092
93093         Assume the headers required for C89 freestanding compilers.
93094         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
93095         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
93096         * m4/human.m4 (gl_HUMAN): Likewise.
93097         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
93098         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
93099         * m4/userspec.m4 (gl_USERSPEC): Likewise.
93100         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
93101         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
93102         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
93103
93104 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93105
93106         Assume the headers required for C89 freestanding compilers.
93107         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
93108         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
93109         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
93110         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
93111         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
93112         define, since <limits.h> is guaranteed to do that.
93113         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
93114         * lib/exclude.c: Include <stdbool.h> unconditionally.
93115         * lib/tempname.c: Include <stddef.h> unconditionally.
93116         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
93117         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
93118         <stddef.h> does that.
93119         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
93120         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
93121         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
93122         needed.
93123         * lib/xstrtol.c: Likewise.
93124         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
93125         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
93126
93127         * lib/addext.c (addext): Use assignment rather than cast, to avoid
93128         warnings on some platforms.
93129
93130         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93131         arbitrarily.
93132
93133 2003-05-26  Jim Meyering  <jim@meyering.net>
93134
93135         Merge in a change from coreutils:
93136         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
93137         that is guaranteed to be `no'.  Use `no_such_member' to indicate
93138         that condition, rather than `-1' which is slightly misleading.
93139         Change the name of the cache variable to have the gl_ prefix.
93140         Prompted by a patch from Richard Dawe for DJGPP.
93141
93142 2003-05-24  Karl Berry  <karl@gnu.org>
93143
93144         * config/config.guess: update from prep.
93145
93146 2003-05-22  Karl Berry  <karl@gnu.org>
93147
93148         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
93149
93150 2003-05-20  Karl Berry  <karl@gnu.org>
93151
93152         * config/config.guess: update from prep.
93153
93154 2003-05-18  Karl Berry  <karl@gnu.org>
93155
93156         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
93157         might actually be set by the user.
93158
93159         * config/depcomp, install-sh, mdate-sh: update from automake.
93160
93161 2003-05-17  Bruno Haible  <bruno@clisp.org>
93162
93163         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
93164         invalid expansion for AC_EGREP_CPP.
93165         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
93166         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
93167         Suggested by Akim Demaille <akim@epita.fr> in
93168         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
93169
93170 2003-05-12  Jim Meyering  <jim@meyering.net>
93171
93172         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
93173         the space-padded-by-default conversion specifiers, %e, %k, %l.
93174
93175 2003-05-12  Bruno Haible  <bruno@clisp.org>
93176
93177         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
93178         the string is longer than 4 KB.
93179
93180 2003-05-11  Karl Berry  <karl@gnu.org>
93181
93182         * config/config.{guess,sub}: update from prep.
93183
93184 2003-05-09  Bruno Haible  <bruno@clisp.org>
93185
93186         * modules/error: Add m4/strerror_r.m4 to file list.
93187
93188 2003-05-03  Bruno Haible  <bruno@clisp.org>
93189
93190         Upgrade to Unicode-4.0.
93191         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
93192         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
93193         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
93194         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
93195         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
93196         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
93197         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
93198         Change width of U+E0100..U+E01EF from 1 to 0.
93199
93200 2003-04-25  Jim Meyering  <jim@meyering.net>
93201
93202         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
93203         of type size_t, not int.
93204
93205 2003-04-25  Bruno Haible  <bruno@clisp.org>
93206
93207         * lib/copy-file.c: Include <stddef.h>, for size_t.
93208
93209 2003-04-21  Paul Eggert  <eggert@twinsun.com>
93210
93211         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
93212         code which expansion is under static control.  Patch imported from
93213         Akim Demaille's patch to Bison; see
93214         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
93215
93216 2003-04-14  Bruno Haible  <bruno@clisp.org>
93217
93218         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
93219
93220 2003-04-11  Jim Meyering  <jim@meyering.net>
93221
93222         Merge changes from Coreutils.
93223
93224         2003-03-22  Jim Meyering  <jim@meyering.net>
93225
93226         * lib/strftime.c (widen): Cast alloca return value to proper type.
93227
93228         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
93229
93230         From GNU libc.
93231         * lib/strftime.c (my_strftime): Handle very large width
93232         specifications for numeric values correctly.  Improve checks for
93233         overflow.
93234
93235         2003-01-19  Jim Meyering  <jim@meyering.net>
93236
93237         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
93238         definitions.
93239         (nl_get_alt_digit) [! defined my_strftime]: Define.
93240         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
93241         _nl_get_alt_digit and _nl_get_walt_digit.
93242
93243         * lib/strftime.c (my_strftime): Merge in locale-related changes from
93244         libc. These changes have no effect outside of _LIBC.
93245
93246 2003-04-10  Bruno Haible  <bruno@clisp.org>
93247
93248         * modules/findprog: New file.
93249         * MODULES.html.sh (func_all_modules): Add it.
93250
93251 2003-04-10  Bruno Haible  <bruno@clisp.org>
93252
93253         * m4/findprog.m4: New file.
93254         * m4/eaccess.m4: New file.
93255
93256 2003-04-10  Bruno Haible  <bruno@clisp.org>
93257
93258         * lib/findprog.h: New file, from GNU gettext.
93259         * lib/findprog.c: New file, from GNU gettext.
93260
93261 2003-04-05  Jim Meyering  <jim@meyering.net>
93262
93263         Merge changes from Coreutils.
93264
93265         * lib/exclude.h (PARAMS): Remove definition and uses.
93266         * lib/exclude.c: Remove uses of `PARAMS'.
93267
93268         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
93269         Add test-cases for DOS filenames. Declare program_name.
93270         (main): Set up program_name.  Patch by Rich Dawe.
93271
93272         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93273         error from mntctl.
93274         Use mntctl's return value to drive the entry-processing loop, since
93275         we can't rely on the value of the vmt_length member in the last
93276         entry.  On some systems doing so could result in exhausting
93277         virtual memory.  Based in part on a patch from Mike Jetzer.
93278
93279 2003-04-04  Bruno Haible  <bruno@clisp.org>
93280
93281         * modules/linebreak: New file.
93282         * MODULES.html.sh (func_all_modules): Add it.
93283
93284 2003-04-04  Bruno Haible  <bruno@clisp.org>
93285
93286         * m4/linebreak.m4: New file.
93287
93288 2003-04-04  Bruno Haible  <bruno@clisp.org>
93289
93290         * lib/linebreak.h: New file, from GNU gettext.
93291         * lib/linebreak.c: New file, from GNU gettext with slight
93292         modifications.
93293         * lib/lbrkprop.h: New file, from GNU gettext.
93294
93295 2003-04-03  Bruno Haible  <bruno@clisp.org>
93296
93297         * modules/utf8-ucs4: New file.
93298         * modules/utf16-ucs4: New file.
93299         * modules/ucs4-utf8: New file.
93300         * modules/ucs4-utf16: New file.
93301         * MODULES.html.sh (func_all_modules): Add them.
93302
93303 2003-04-03  Bruno Haible  <bruno@clisp.org>
93304
93305         * m4/utf-ucs4.m4: New file.
93306         * m4/ucs4-utf.m4: New file.
93307
93308 2003-04-03  Bruno Haible  <bruno@clisp.org>
93309
93310         * lib/utf8-ucs4.h: New file, from GNU gettext.
93311         * lib/utf16-ucs4.h: New file, from GNU gettext.
93312         * lib/ucs4-utf8.h: New file, from GNU gettext.
93313         * lib/ucs4-utf16.h: New file, from GNU gettext.
93314
93315 2003-04-02  Bruno Haible  <bruno@clisp.org>
93316
93317         * modules/binary-io: New file.
93318         * MODULES.html.sh (func_all_modules): Add it.
93319
93320 2003-04-02  Bruno Haible  <bruno@clisp.org>
93321
93322         * lib/binary-io.h: New file, from GNU gettext.
93323
93324 2003-04-01  Bruno Haible  <bruno@clisp.org>
93325
93326         * modules/pathname: New file.
93327         * MODULES.html.sh (func_all_modules): Add it.
93328
93329 2003-04-01  Bruno Haible  <bruno@clisp.org>
93330
93331         * lib/pathname.h: New file, from GNU gettext.
93332         * lib/concatpath.c: New file, from GNU gettext.
93333
93334 2003-03-30  Bruno Haible  <bruno@clisp.org>
93335
93336         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
93337
93338 2003-03-30  Bruno Haible  <bruno@clisp.org>
93339
93340         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
93341         function chown() doesn't exist.
93342
93343 2003-03-28  Bruno Haible  <bruno@clisp.org>
93344
93345         * modules/copy-file: New file.
93346         * MODULES.html.sh (func_all_modules): Add it.
93347
93348 2003-03-28  Bruno Haible  <bruno@clisp.org>
93349
93350         * m4/copy-file.m4: New file.
93351
93352 2003-03-28  Bruno Haible  <bruno@clisp.org>
93353
93354         * lib/copy-file.h: New file, from GNU gettext.
93355         * lib/copy-file.c: New file, from GNU gettext.
93356
93357 2003-03-18  Jim Meyering  <jim@meyering.net>
93358
93359         * lib/quote.c (quote_n): Fix typo in comment.
93360
93361 2003-03-18  Bruno Haible  <bruno@clisp.org>
93362
93363         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
93364         checking.
93365         * m4/onceonly_2_57.m4: Likewise.
93366
93367 2003-03-17  Bruno Haible  <bruno@clisp.org>
93368
93369         * m4/onceonly.m4: Require autoconf 2.54 or newer.
93370         (m4_quote): Remove macro.
93371         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
93372
93373 2003-03-14  Jim Meyering  <jim@meyering.net>
93374
93375         Merge changes from Coreutils.
93376         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
93377         to be const, in order to avoid warnings.
93378         (obstack_room): Likewise.
93379         (obstack_empty_p): Likewise.
93380
93381 2003-03-14  Bruno Haible  <bruno@clisp.org>
93382
93383         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
93384         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
93385
93386 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93387
93388         Merge changes from Bison.
93389         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
93390         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
93391         when compiling Bison 1.875's `bitset bset = obstack_alloc
93392         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
93393         * lib/hash.c: Include <stdbool.h> unconditionally.
93394
93395 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93396
93397         * m4/onceonly.m4 (m4_quote): New macro.
93398         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
93399         Quote AC_FOREACH variable-expansions properly.
93400
93401 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93402
93403         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
93404
93405 2003-03-09  Paul Eggert  <eggert@twinsun.com>
93406
93407         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
93408         Reported by Bruce Becker; see:
93409         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
93410
93411 2003-03-03  Paul Eggert  <eggert@twinsun.com>
93412             Bruno Haible  <bruno@clisp.org>
93413
93414         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
93415         Reported by John Hughes, see
93416         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
93417
93418 2003-02-20  Bruno Haible  <bruno@clisp.org>
93419
93420         * MODULES.html.sh (func_all_modules): Add poll.
93421
93422 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93423
93424         * modules/poll: New file.
93425
93426 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93427
93428         * lib/poll_.h: New file.
93429         * lib/poll.c: New file.
93430
93431 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93432
93433         * m4/poll.m4: New file.
93434
93435 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93436
93437         * modules/mathl: New file.
93438
93439 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93440
93441         * lib/mathl.h: New file.
93442         * lib/acosl.c: New file.
93443         * lib/asinl.c: New file.
93444         * lib/atanl.c: New file.
93445         * lib/ceill.c: New file.
93446         * lib/cosl.c: New file.
93447         * lib/expl.c: New file.
93448         * lib/floorl.c: New file.
93449         * lib/frexpl.c: New file.
93450         * lib/ldexpl.c: New file.
93451         * lib/logl.c: New file.
93452         * lib/sincosl.c: New file.
93453         * lib/sinl.c: New file.
93454         * lib/sqrtl.c: New file.
93455         * lib/tanl.c: New file.
93456         * lib/trigl.c: New file.
93457         * lib/trigl.h: New file.
93458
93459 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93460
93461         * m4/mathl.m4: New file.
93462
93463 2003-02-18  Bruno Haible  <bruno@clisp.org>
93464
93465         * MODULES.html.sh (func_all_modules): Add mathl.
93466
93467 2003-02-17  Bruno Haible  <bruno@clisp.org>
93468
93469         * modules/mkdtemp: New module.
93470         * MODULES.html.sh (func_all_modules): Add it.
93471
93472 2003-02-17  Bruno Haible  <bruno@clisp.org>
93473
93474         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
93475
93476 2003-02-17  Bruno Haible  <bruno@clisp.org>
93477
93478         * lib/mkdtemp.h: New file, from GNU gettext.
93479         * lib/mkdtemp.c: New file, from GNU gettext.
93480
93481 2003-02-02  Jim Meyering  <jim@meyering.net>
93482
93483         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
93484         e.g. glibc-2.2.93.
93485
93486 2003-01-31  Bruno Haible  <bruno@clisp.org>
93487
93488         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
93489         'rpl_rename'.
93490         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
93491         'rpl_strnlen'.
93492         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
93493         'rpl_strtod'.
93494         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
93495         'rpl_utime'.
93496
93497 2003-01-31  Bruno Haible  <bruno@clisp.org>
93498
93499         * lib/rename.c: #undef rename before defining rpl_rename.
93500         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
93501
93502 2003-01-30  Bruno Haible  <bruno@clisp.org>
93503
93504         * modules/vasnprintf, modules/vasprintf: New modules.
93505         * MODULES.html.sh (func_all_modules): Add them.
93506
93507 2003-01-30  Bruno Haible  <bruno@clisp.org>
93508
93509         * m4/signed.m4: New file, from GNU gettext.
93510         * m4/longdouble.m4: New file, from GNU gettext.
93511         * m4/wchar_t.m4: New file, from GNU gettext.
93512         * m4/wint_t.m4: New file, from GNU gettext.
93513         * m4/vasnprintf.m4: New file.
93514         * m4/vasprintf.m4: New file.
93515
93516 2003-01-30  Bruno Haible  <bruno@clisp.org>
93517
93518         * lib/printf-args.h: New file, from GNU gettext.
93519         * lib/printf-args.c: New file, from GNU gettext.
93520         * lib/printf-parse.h: New file, from GNU gettext.
93521         * lib/printf-parse.c: New file, from GNU gettext.
93522         * lib/vasnprintf.h: New file, from GNU gettext.
93523         * lib/vasnprintf.c: New file, from GNU gettext.
93524         * lib/asnprintf.c: New file, from GNU gettext.
93525         * lib/vasprintf.h: New file, from GNU gettext with modifications.
93526         * lib/vasprintf.c: New file, from GNU gettext.
93527         * lib/asprintf.c: New file, from GNU gettext.
93528
93529 2003-01-29  Bruno Haible  <bruno@clisp.org>
93530
93531         * modules/stpncpy: New module.
93532         * MODULES.html.sh (func_all_modules): Add it.
93533
93534 2003-01-29  Bruno Haible  <bruno@clisp.org>
93535
93536         * m4/stpncpy.m4: New file.
93537
93538 2003-01-29  Bruno Haible  <bruno@clisp.org>
93539
93540         * lib/stpncpy.h: New file, from GNU gettext with modifications.
93541         * lib/stpncpy.c: New file, from GNU gettext with modifications.
93542
93543 2003-01-28  Bruno Haible  <bruno@clisp.org>
93544
93545         * modules/c-ctype: New module.
93546         * MODULES.html.sh (func_all_modules): Add it.
93547
93548 2003-01-28  Bruno Haible  <bruno@clisp.org>
93549
93550         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
93551         Paul Eggert.
93552         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
93553         Paul Eggert.
93554
93555 2003-01-27  Bruno Haible  <bruno@clisp.org>
93556
93557         * modules/xsetenv: New module.
93558         * MODULES.html.sh (func_all_modules): Add it.
93559
93560 2003-01-27  Bruno Haible  <bruno@clisp.org>
93561
93562         * lib/xsetenv.h: New file, from GNU gettext.
93563         * lib/xsetenv.c: New file, from GNU gettext.
93564
93565 2003-01-23  Jim Meyering  <jim@meyering.net>
93566
93567         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
93568         from working on systems without dirfd (at least Irix and OSF1/Tru64).
93569
93570 2003-01-23  Bruno Haible  <bruno@clisp.org>
93571
93572         * modules/minmax: New module.
93573         * MODULES.html.sh (func_all_modules): Add it.
93574
93575 2003-01-23  Bruno Haible  <bruno@clisp.org>
93576
93577         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
93578         Eggert.
93579
93580 2003-01-22  Bruno Haible  <bruno@clisp.org>
93581
93582         * modules/exit: New module.
93583         * MODULES.html.sh (func_all_modules): Add it.
93584
93585 2003-01-22  Bruno Haible  <bruno@clisp.org>
93586
93587         * lib/exit.h: New file, from GNU gettext.
93588
93589 2003-01-19  Bruno Haible  <bruno@clisp.org>
93590
93591         * gnulib-tool: Recognize option --extract-maintainer.
93592         (func_get_maintainer): New function.
93593         * modules/*: Add Maintainer entry.
93594
93595 2003-01-16  Jim Meyering  <jim@meyering.net>
93596
93597         * m4/regex.m4: The `regex' struct is both input and output.
93598         Initialize it before each use.  Patch by Tim Waugh.
93599
93600 2003-01-16  Bruno Haible  <bruno@clisp.org>
93601
93602         * MODULES.html.sh: Add a table of contents. Add the module name as
93603         leftmost column. Add hyperlinks.
93604
93605 2003-01-15  Bruno Haible  <bruno@clisp.org>
93606
93607         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
93608
93609 2003-01-15  Bruno Haible  <bruno@clisp.org>
93610
93611         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
93612         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
93613         suffix.
93614
93615 2003-01-15  Bruno Haible  <bruno@clisp.org>
93616
93617         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
93618
93619 2003-01-15  Bruno Haible  <bruno@clisp.org>
93620
93621         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
93622         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
93623
93624 2003-01-14  Jim Meyering  <jim@meyering.net>
93625
93626         * lib/same.c (same_name): Tweak a comment.
93627
93628 2003-01-14  Bruno Haible  <bruno@clisp.org>
93629
93630         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
93631         when a string comparison is sufficient.
93632
93633 2003-01-14  Bruno Haible  <bruno@clisp.org>
93634
93635         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
93636         'unsigned int'.
93637
93638 2003-01-14  Bruno Haible  <bruno@clisp.org>
93639
93640         * lib/hash-pjw.c: Add comment about low quality of this function.
93641
93642 2003-01-13  Bruno Haible  <bruno@clisp.org>
93643
93644         * modules/stpcpy: Distribute lib/stpcpy.h.
93645         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
93646
93647 2003-01-13  Bruno Haible  <bruno@clisp.org>
93648
93649         * modules/*: Add a description.
93650         * modules/strpbrk: Fix Makefile.am snippet.
93651         * modules/strtoimax: Fix dependencies.
93652         * modules/strtoumax: Likewise.
93653
93654 2003-01-13  Bruno Haible  <bruno@clisp.org>
93655
93656         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
93657         * modules/alloca (Makefile.am): All object files depend on alloca.h.
93658         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
93659
93660 2003-01-13  Bruno Haible  <bruno@clisp.org>
93661
93662         * gnulib-tool (func_create_testdir): Store config/* files in the main
93663         directory.
93664         * config.rpath: Move to ...
93665         * config/config.rpath: ... here.
93666         * modules/gettext: Contains config/config.rpath, not config.rpath.
93667         * modules/iconv: Likewise.
93668
93669 2003-01-12  Paul Eggert  <eggert@twinsun.com>
93670
93671         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
93672         to avoid collisions with libcurses and libreadline.
93673
93674         * m4/getstr.m4: Remove.
93675         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
93676
93677 2003-01-12  Paul Eggert  <eggert@twinsun.com>
93678
93679         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
93680         to avoid collisions with libcurses and libreadline.
93681
93682         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
93683         * lib/getstr.h, getstr.c: Remove.
93684         * lib/getline.c: Include "getline.h", to check interface.
93685         Move body of old getstr.c here: this defines MIN_CHUNK and
93686         declares getdelim2, which is renamed from getstr.
93687         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
93688
93689         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
93690         All uses changed.
93691         * lib/linebuffer.h: Likewise.
93692         (readline): Remove backward-compatibility macro.
93693
93694 2003-01-12  Paul Eggert  <eggert@twinsun.com>
93695
93696         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
93697         to avoid collisions with libcurses and libreadline.
93698         * getstr: Remove.
93699         * MODULES.html.sh: Remove getstr.
93700         * modules/getline: Depend on unlocked-io, not getstr.
93701
93702 2003-01-12  Jim Meyering  <jim@meyering.net>
93703
93704         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
93705
93706 2003-01-10  Bruno Haible  <bruno@clisp.org>
93707
93708         * modules/alloca: Change Makefile.am requirements. Simplify Include
93709         requirements. Add lib/alloca_.h to file list.
93710
93711 2003-01-10  Bruno Haible  <bruno@clisp.org>
93712
93713         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
93714
93715 2003-01-10  Bruno Haible  <bruno@clisp.org>
93716
93717         * lib/alloca_.h: New file.
93718         * lib/getdate.y: Unconditionally include alloca.h.
93719         * lib/makepath.c: Likewise.
93720         * lib/setenv.c: Likewise.
93721         * lib/userspec.c: Likewise.
93722
93723 2003-01-09  Karl Berry  <karl@gnu.org>
93724
93725         * MODULES.html.sh: include `dirname $0` in PATH, to find
93726         gnulib-tool.
93727
93728 2003-01-09  Bruno Haible  <bruno@clisp.org>
93729
93730         * modules/stdbool: Change configure.ac, Makefile.am requirements.
93731         Simplify Include requirements. Add lib/stdbool.h.in to file list.
93732
93733 2003-01-09  Bruno Haible  <bruno@clisp.org>
93734
93735         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
93736
93737 2003-01-09  Bruno Haible  <bruno@clisp.org>
93738
93739         * lib/stdbool.h.in: New file.
93740
93741 2003-01-09  Bruno Haible  <bruno@clisp.org>
93742
93743         * gnulib-tool (func_all_modules): Ignore files ending in ~.
93744         * MODULES.html.sh: Likewise.
93745
93746 2003-01-08  Jim Meyering  <jim@meyering.net>
93747
93748         * lib/full-write.c: Undefine and define-away `const' after inclusion
93749         of errno.h, not before.  Suggestion from Bruno Haible.
93750
93751 2003-01-08  Bruno Haible  <bruno@clisp.org>
93752
93753         * modules/full-read: Depend on full-write.
93754
93755 2003-01-08  Bruno Haible  <bruno@clisp.org>
93756
93757         * lib/safe-read.c: Include specification header first, to ensure its
93758         selfcontainedness.
93759         * lib/full-write.c: Likewise.
93760
93761 2003-01-07  Jim Meyering  <jim@meyering.net>
93762
93763         * lib/full-write.c: Rework so that it may serve to define full_read,
93764         too.
93765         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
93766
93767 2003-01-07  Bruno Haible  <bruno@clisp.org>
93768
93769         * lib/strtoimax.c: Include <stdint.h> as an alternative to
93770         <inttypes.h>.
93771         * lib/xstrtol.h: Likewise.
93772         * lib/xstrtoimax.c: Likewise.
93773         * lib/xstrtoumax.c: Likewise.
93774         * lib/human.h: Likewise.
93775
93776         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
93777         on systems that have <inttypes.h> but not <stdint.h>.
93778
93779 2003-01-07  Bruno Haible  <bruno@clisp.org>
93780
93781         * MODULES.html.sh: Add copyright notice.
93782         (missed_files): Omit CVS directory entries.
93783         (func_module): Make it work with sed-3.02.
93784         * MODULES.txt: Remove file.
93785
93786 2003-01-06  Jim Meyering  <jim@meyering.net>
93787
93788         * lib/version-etc.c: Update year in translatable copyright string.
93789
93790 2003-01-03  Karl Berry  <karl@gnu.org>
93791
93792         * config/config.{guess,sub}: update from prep.
93793
93794 2003-01-02  Karl Berry  <karl@gnu.org>
93795
93796         * doc/COPYING.DOC: belatedly updated to 1.2.
93797
93798 2003-01-01  Karl Berry  <karl@gnu.org>
93799
93800         * gnulib-tool (func_verify_module): report module name $module in
93801         error message, not $1.
93802         * gnulib-tool (create-testdir): don't complain if destdir couldn't
93803         be created, only if it doesn't exist.
93804         * gnulib-tool (last_checkin_date): don't expand the $Date here.
93805
93806 2002-12-31  Paul Eggert  <eggert@twinsun.com>
93807
93808         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
93809
93810 2002-12-31  Paul Eggert  <eggert@twinsun.com>
93811
93812         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
93813         memcmp if strcoll doesn't work.
93814
93815 2002-12-31  Bruno Haible  <bruno@clisp.org>
93816
93817         * lib/utime.c (utime_null): No need to call ftruncate if the file was
93818         nonempty.
93819
93820 2002-12-31  Bruno Haible  <bruno@clisp.org>
93821
93822         * lib/memcoll.c (STRCOLL): New macro.
93823         (memcoll): Use it.
93824
93825 2002-12-31  Bruno Haible  <bruno@clisp.org>
93826
93827         * lib/localcharset.h: New file.
93828         * lib/localcharset.c: Include it.
93829         * lib/unicodeio.c: Likewise.
93830
93831 2002-12-31  Bruno Haible  <bruno@clisp.org>
93832
93833         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
93834         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
93835
93836 2002-12-31  Bruno Haible  <bruno@clisp.org>
93837
93838         * lib/getline.h: Include <stddef.h>, for size_t.
93839
93840         * lib/unicodeio.h: Include <stddef.h>, for size_t.
93841         * lib/unicodeio.c: Don't include <stddef.h>.
93842
93843 2002-12-31  Bruno Haible  <bruno@clisp.org>
93844
93845         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
93846         HAVE_TM_ZONE.
93847
93848 2002-12-24  Karl Berry  <karl@gnu.org>
93849
93850         * config/config.guess: update from prep.
93851
93852 2002-12-24  Bruno Haible  <bruno@clisp.org>
93853
93854         General infrasructure.
93855         * m4/README: Rewritten.
93856         * m4/onceonly.m4: New file.
93857         * m4/onceonly_2_57.m4: New file.
93858
93859         Module atexit.
93860         * m4/atexit.m4: New file.
93861
93862         Module strtod.
93863         * m4/strtod.m4: New file.
93864
93865         Module strtol.
93866         * m4/strtol.m4: New file.
93867
93868         Module strtoul.
93869         * m4/strtoul.m4: New file.
93870
93871         Module memchr.
93872         * m4/memchr.m4: New file.
93873
93874         Module memcmp.
93875         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
93876         (jm_FUNC_MEMCMP): Invoke it.
93877
93878         Module memcpy.
93879         * m4/memcpy.m4: New file.
93880
93881         Module memmove.
93882         * m4/memmove.m4: New file.
93883
93884         Module memset.
93885         * m4/memset.m4: New file.
93886
93887         Module strcspn.
93888         * m4/strcspn.m4: New file.
93889
93890         Module strpbrk.
93891         * m4/strpbrk.m4: New file.
93892
93893         Module strstr.
93894         * m4/strstr.m4: New file.
93895
93896         Module strerror.
93897         * m4/strerror.m4: New file.
93898
93899         Module mktime.
93900         * m4/mktime.m4: Renamed from jm-mktime.m4.
93901         (gl_PREREQ_MKTIME): New macro.
93902         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
93903
93904         Module malloc.
93905         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
93906         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
93907         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
93908
93909         Module realloc.
93910         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
93911         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
93912         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
93913
93914         Module strftime.
93915         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
93916         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
93917         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
93918         gl_TM_GMTOFF.
93919         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
93920
93921         Module xalloc.
93922         * m4/xalloc.m4: New file.
93923
93924         Module alloca.
93925         * m4/alloca.m4: New file.
93926
93927         Module putenv.
93928         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
93929         (jm_FUNC_PUTENV): Invoke it.
93930
93931         Module setenv.
93932         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
93933         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
93934         when invoked twice.
93935         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
93936         gt_FUNC_SETENV.
93937
93938         Module memrchr.
93939         * m4/memrchr.m4: New file.
93940
93941         Module stpcpy.
93942         * m4/stpcpy.m4: New file.
93943
93944         Module strcase.
93945         * m4/strcase.m4: New file.
93946
93947         Module strdup.
93948         * m4/strdup.m4: New file.
93949
93950         Module strnlen.
93951         * m4/strnlen.m4: New file.
93952
93953         Module strndup.
93954         * m4/strndup.m4: New file.
93955
93956         Module xstrtod.
93957         * m4/xstrtod.m4: New file.
93958
93959         Module xstrtol.
93960         * m4/xstrtol.m4: New file.
93961
93962         Module getdate.
93963         * m4/getdate.m4: New file.
93964
93965         Module unlocked-io.
93966         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
93967         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
93968         * m4/jm-glibc-io.m4n: Remove file.
93969
93970         Module long-options.
93971         * m4/long-options.m4: New file.
93972
93973         Module md5.
93974         * m4/md5.m4: New file.
93975
93976         Module sha.
93977         * m4/sha.m4: New file.
93978
93979         Module getstr.
93980         * m4/getstr.m4: New file.
93981
93982         Module getline.
93983         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
93984         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
93985         <sys/types.h>, for size_t. Use the function name gnu_getline, not
93986         simply getline. Infoke gl_PREREQ_GETLINE.
93987
93988         Module obstack.
93989         * m4/obstack.m4: New file.
93990
93991         Module hash.
93992         * m4/hash.m4: New file.
93993
93994         Module readtokens.
93995         * m4/readtokens.m4: New file.
93996
93997         Module strverscmp.
93998         * m4/strverscmp.m4: New file.
93999
94000         Module stdbool.
94001         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
94002         OSF/1.
94003
94004         Module strtoll.
94005         * m4/strtoll.m4: New file.
94006
94007         Module strtoull.
94008         * m4/strtoull.m4: New file.
94009
94010         Module strtoimax.
94011         * m4/strtoimax.m4: New file.
94012
94013         Module strtoumax.
94014         * m4/strtoumax.m4: New file.
94015
94016         Module xstrtoimax.
94017         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
94018         jm_AC_PREREQ_XSTRTOIMAX.
94019         Moved the strtol prerequisites to strtol.m4.
94020         Moved the strtoll prerequisites to strtoll.m4.
94021         Moved the strtoimax prerequisites to strtoimax.m4.
94022
94023         Module xstrtoumax.
94024         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
94025         jm_AC_PREREQ_XSTRTOUMAX.
94026         Moved the strtoul prerequisites to strtoul.m4.
94027         Moved the strtoull prerequisites to strtoull.m4.
94028         Moved the strtoumax prerequisites to strtoumax.m4.
94029
94030         Module chown.
94031         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
94032         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
94033
94034         Module dup2.
94035         * m4/dup2.m4: New file.
94036
94037         Module ftruncate.
94038         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
94039         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
94040
94041         Module getgroups.
94042         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
94043         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
94044
94045         Module gettimeofday.
94046         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
94047         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
94048         gl_PREREQ_GETTIMEOFDAY.
94049
94050         Module mkdir.
94051         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
94052         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
94053
94054         Module mkstemp.
94055         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
94056         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
94057         jm_AC_TYPE_UINTMAX_T.
94058         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
94059
94060         Module stat.
94061         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
94062         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
94063
94064         Module lstat.
94065         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
94066         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
94067
94068         Module timespec.
94069         * m4/timespec.m4 (gl_TIMESPEC): New macro.
94070         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
94071         * m4/st_mtim.m4: Indentation.
94072
94073         Module nanosleep.
94074         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
94075         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
94076         gl_PREREQ_NANOSLEEP.
94077
94078         Module regex.
94079         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
94080         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
94081         (gl_REGEX): New macro.
94082
94083         Module rename.
94084         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
94085         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
94086
94087         Module rmdir.
94088         * m4/rmdir.m4: New file.
94089
94090         Module utime.
94091         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
94092         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
94093         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
94094
94095         Module dirname.
94096         * m4/dirname.m4: New file.
94097
94098         Module getopt.
94099         * m4/getopt.m4: New file.
94100
94101         Module unistd-safer.
94102         * m4/unistd-safer.m4: New file.
94103
94104         Module fnmatch.
94105         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
94106         declaration.
94107         (gl_PREREQ_FNMATCH_EXTRA): New macro.
94108         (gl_FUNC_FNMATCH_POSIX): New macro.
94109         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
94110         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
94111         simply fnmatch.
94112
94113         Module exclude.
94114         * m4/exclude.m4: New file.
94115
94116         Module human.
94117         * m4/human.m4: New file.
94118
94119         Module acl.
94120         * m4/acl.m4: Nop.
94121
94122         Module backupfile.
94123         * m4/backupfile.m4: New file.
94124         * m4/d-ino.m4: Indentation.
94125
94126         Module fsusage.
94127         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
94128         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
94129         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
94130
94131         Module dirfd.
94132         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
94133         requirements.
94134
94135         Module euidaccess.
94136         * m4/euidaccess.m4: New file.
94137
94138         Module file-type.
94139         * m4/file-type.m4: New file.
94140
94141         Module fileblocks.
94142         * m4/fileblocks.m4: New file.
94143
94144         Module filemode.
94145         * m4/filemode.m4: New file.
94146
94147         Module isdir.
94148         * m4/isdir.m4: New file.
94149
94150         Module lchown.
94151         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
94152         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
94153
94154         Module makepath.
94155         * m4/makepath.m4: New file.
94156
94157         Module modechange.
94158         * m4/modechange.m4: New file.
94159
94160         Module mountlist.
94161         * m4/mountlist.m4: New file.
94162         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
94163         Indentation.
94164
94165         Module path-concat.
94166         * m4/path-concat.m4: New file.
94167
94168         Module pathmax.
94169         * m4/pathmax.m4: New file.
94170
94171         Module same.
94172         * m4/same.m4: New file.
94173
94174         Module save-cwd.
94175         * m4/save-cwd.m4: New file.
94176
94177         Module savedir.
94178         * m4/savedir.m4: New file.
94179
94180         Module xgetcwd.
94181         * m4/xgetcwd.m4: New file.
94182         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
94183
94184         Module xreadlink.
94185         * m4/xreadlink.m4: New file.
94186
94187         Module safe-read.
94188         * m4/safe-read.m4: New file.
94189
94190         Module safe-write.
94191         * m4/safe-write.m4: New file.
94192
94193         Module closeout.
94194         * m4/closeout.m4: New file.
94195
94196         Module stdio-safer.
94197         * m4/stdio-safer.m4: New file.
94198
94199         Module getpass.
94200         * m4/getpass.m4: New file.
94201
94202         Module getugroups.
94203         * m4/getugroups.m4: New file.
94204
94205         Module group-member.
94206         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
94207         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
94208
94209         Module idcache.
94210         * m4/idcache.m4: New file.
94211
94212         Module userspec.
94213         * m4/userspec.m4: New file.
94214
94215         Module gettime.
94216         * m4/clock_time.m4: New file.
94217         * m4/gettime.m4: New file.
94218
94219         Module settime.
94220         * m4/settime.m4: New file.
94221
94222         Module posixtm.
94223         * m4/posixtm.m4: New file.
94224
94225         Module gethostname.
94226         * m4/gethostname.m4: New file.
94227
94228         Module canon-host.
94229         * m4/canon-host.m4: New file.
94230
94231         Module gettext.
94232         * m4/codeset.m4: New file, from gettext-0.11.5.
94233         * m4/gettext.m4: New file, from gettext-0.11.5.
94234         * m4/glibc21.m4: New file, from gettext-0.11.5.
94235         * m4/iconv.m4: New file, from gettext-0.11.5.
94236         * m4/intdiv0.m4: New file, from gettext-0.11.5.
94237         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
94238         * m4/inttypes.m4: New file, from gettext-0.11.5.
94239         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
94240         * m4/isc-posix.m4: New file, from gettext-0.11.5.
94241         * m4/lcmessage.m4: New file, from gettext-0.11.5.
94242         * m4/lib-ld.m4: New file, from gettext-0.11.5.
94243         * m4/lib-link.m4: New file, from gettext-0.11.5.
94244         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
94245         * m4/progtest.m4: New file, from gettext-0.11.5.
94246         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
94247         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
94248         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
94249
94250         Module localcharset.
94251         * m4/localcharset.m4: New file.
94252
94253         Module hard-locale.
94254         * m4/hard-locale.m4: New file.
94255
94256         Module mbswidth.
94257         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
94258         onceonly macros.
94259         * m4/mbrtowc.m4: Add comment.
94260
94261         Module memcasecmp.
94262         * m4/memcasecmp.m4: New file.
94263
94264         Module memcoll.
94265         * m4/memcoll.m4: New file.
94266
94267         Module unicodeio.
94268         * m4/unicodeio.m4: New file.
94269
94270         Module rpmatch.
94271         * m4/rpmatch.m4: New file.
94272
94273         Module yesno.
94274         * m4/yesno.m4: New file.
94275
94276         Module exitfail.
94277         * m4/exitfail.m4: New file.
94278
94279         Module c-stack.
94280         * m4/c-stack.m4 (gl_C_STACK): New macro.
94281         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
94282
94283         Module error.
94284         * m4/error.m4 (gl_ERROR): New macro.
94285         (jm_PREREQ_ERROR): Use onceonly macros.
94286
94287         Module fatal.
94288         * m4/fatal.m4: New file.
94289
94290         Module getloadavg.
94291         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
94292         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
94293
94294         Module getpagesize.
94295         * m4/getpagesize.m4: New file.
94296
94297         Module getusershell.
94298         * m4/getusershell.m4: New file.
94299
94300         Module physmem.
94301         * m4/physmem.m4: New file.
94302
94303         Module posixver.
94304         * m4/posixver.m4: New file.
94305
94306         Module quotearg.
94307         * m4/quotearg.m4: New file.
94308
94309         Module quote.
94310         * m4/quote.m4: New file.
94311
94312         Module readutmp.
94313         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
94314
94315         Module sig2str.
94316         * m4/sig2str.m4: New file.
94317
94318         Other.
94319         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
94320         ulonglong.m4.
94321         * m4/intmax_t.m4: New file.
94322         * m4/d-type.m4: Indentation.
94323         * m4/jm-macros.m4: Update.
94324         * m4/prereq.m4 (jm_PREREQ): Update.
94325         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
94326         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
94327         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
94328         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
94329         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
94330         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
94331         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
94332         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
94333         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
94334         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
94335         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
94336         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
94337         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
94338         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
94339         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
94340         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
94341         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
94342         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
94343         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
94344
94345 2002-12-24  Bruno Haible  <bruno@clisp.org>
94346
94347         * MODULES.txt: Update according to m4/ changes.
94348
94349         Module gettext.
94350         * config.rpath: New file, from gettext-0.11.5.
94351
94352         * modules/*: New module descriptions.
94353         * gnulib-tool: New file.
94354         * MODULES.html.sh: New file.
94355
94356 2002-12-21  Karl Berry  <karl@gnu.org>
94357
94358         * doc/fdl.texi: update to version 1.2.
94359
94360 2002-12-19  Karl Berry  <karl@gnu.org>
94361
94362         * config/config.guess: update from prep.
94363
94364 2002-12-18  Bruno Haible  <bruno@clisp.org>
94365
94366         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
94367         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
94368
94369 2002-12-17  Bruno Haible  <bruno@clisp.org>
94370
94371         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
94372         stdlib.h, string.h.
94373
94374 2002-12-17  Bruno Haible  <bruno@clisp.org>
94375
94376         * lib/canon-host.c (strdup): Remove unused declaration.
94377
94378         * lib/fsusage.c: Include full_read.h.
94379         (get_fs_usage): Use full_read instead of safe_read.
94380
94381         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
94382
94383 2002-12-12  Karl Berry  <karl@gnu.org>
94384
94385         * config/config.guess: update from prep.
94386
94387 2002-12-11  Bruno Haible  <bruno@clisp.org>
94388
94389         * m4/setenv.m4: New file, from gettext-0.11.5.
94390
94391 2002-12-11  Bruno Haible  <bruno@clisp.org>
94392
94393         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
94394         not unsetenv().
94395         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
94396         modifications:
94397
94398         2002-12-11  Bruno Haible  <bruno@clisp.org>
94399
94400                 * setenv.c (alloca): Fall back to malloc.
94401                 (freea): New macro.
94402                 (setenv): Use freea() to free memory allocated with alloca().
94403
94404         2002-11-13  Bruno Haible  <bruno@clisp.org>
94405
94406                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
94407                 function declarations.
94408                 * unsetenv.c (unsetenv): Likewise.
94409
94410         2002-03-04  Bruno Haible  <bruno@clisp.org>
94411
94412                 Portability to AIX 4.3.3.
94413                 * unsetenv.c: New file, extracted from setenv.c.
94414                 * setenv.c: Move the unsetenv() function to unsetenv.c.
94415
94416         2001-12-20  Bruno Haible  <bruno@clisp.org>
94417
94418                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
94419                 use malloc instead. For SunOS 4.
94420
94421         2001-12-11  Bruno Haible  <bruno@clisp.org>
94422
94423                 * setenv.c: Declare alloca.
94424                 (compar_fn_t): New typedef.
94425                 (KNOWN_VALUE, STORE_VALUE): Use it.
94426
94427         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
94428         setenv.h.
94429
94430 2002-12-10  Paul Eggert  <eggert@twinsun.com>
94431
94432         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
94433         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
94434         Choose values that are less likely to collide with system fnmatch
94435         options.
94436         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
94437         defined (e.g., a pure POSIX system).
94438         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
94439         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
94440
94441 2002-12-06  Paul Eggert  <eggert@twinsun.com>
94442
94443         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
94444         a pain in practice to deal with generated m4 files.  This change
94445         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
94446
94447         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
94448         and jm-glibc-io.m4, as they are no longer a special case.
94449         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
94450         kludge and the auto-generation stuff.  Check only whether the
94451         functions are declared, not whether they exist, since older hosts
94452         that don't declare the functions can't use the optimization anyway.
94453
94454 2002-12-06  Jim Meyering  <jim@meyering.net>
94455
94456         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
94457
94458         Merge in changes from libc's misc/error.c, in preparation
94459         for the merge of gnulib's changes back into libc.
94460
94461         * lib/error.c (_): Define only if not already defined.
94462         Move definition to follow all #include directives.
94463         Include unlocked-io.h only if !_LIBC.
94464         [_LIBC]: Include <libio/libioP.h>.
94465         [USE_IN_LIBIO]: Include <libio/iolibio.h>
94466         (fflush): Tweak definition to use INTUSE.
94467         (putc): Define.
94468
94469 2002-12-05  Paul Eggert  <eggert@twinsun.com>
94470
94471         * lib/alloca.c [defined emacs]: Include "lisp.h".
94472         (xalloc_die) [defined emacs]: New macro.
94473         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
94474         [! defined emacs]: Include <xalloc.h>.
94475         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
94476         (pointer): Typedef to POINTER_TYPE *.
94477         (malloc): Remove decl; we now always use xmalloc.
94478         (alloca): Use old-style definition, since Emacs needs this.
94479         Check for arithmetic overflow when computing combined size.
94480
94481 2002-12-04  Paul Eggert  <eggert@twinsun.com>
94482
94483         Do not generate unlocked-io.h automatically, since it's easier to
94484         maintain it by hand.
94485
94486         * lib/unlocked-io.h: New file, from GNU diffutils,
94487         but with proper copyright notice and attribution.
94488         * lib/gen-uio: Remove.
94489         * lib/Makefile.am: Add copyright notice.
94490         (libfetish_a_SOURCES): Add unlocked-io.h.
94491         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
94492         (DISTCLEANFILES, io_functions): Remove macros.
94493         (EXTRA_DIST): Remove gen_uio.
94494         (unlocked-io.h): Remove rule.
94495
94496 2002-12-04  Jim Meyering  <jim@meyering.net>
94497
94498         Reflect the fact that stat.c and lstat.c are no longer generated.
94499         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
94500         (DISTCLEANFILES): Likewise.
94501         (EXTRA_DIST): Likewise.
94502         (all_local): Don't depend on stat.c or lstat.c.
94503         (stat.c, lstat.c): Remove rules.
94504         (EXTRA_DIST): Remove xstat.in.
94505
94506         * lib/xstat.in: Remove file.  Contents moved into stat.c.
94507         * lib/stat.c: New file.  Contents mostly from xstat.in.
94508         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
94509         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
94510
94511         * lib/safe-read.c: Rework so that it may serve to define safe_write,
94512         too.
94513         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
94514
94515 2002-12-03  Jim Meyering  <jim@meyering.net>
94516
94517         * lib/safe-read.c, safe-write.c: Change variable names and comments,
94518         but not semantics, to minimize the differences between these two files.
94519         (safe_read): Change comment to mention SAFE_READ_ERROR.
94520
94521         * lib/safe-read.c (IS_EINTR): Define.
94522         (safe_read): Use IS_EINTR in place of in-function cpp directives.
94523
94524 2002-12-02  Jim Meyering  <jim@meyering.net>
94525
94526         * lib/safe-read.c (EINTR): Define.
94527         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
94528         (INT_MAX): Provide fallback.
94529         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
94530
94531         * lib/safe-read.h (SAFE_READ_ERROR): Define.
94532
94533 2002-12-02  Bruno Haible  <bruno@clisp.org>
94534
94535         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
94536         Define, taken from safe-read.c.
94537         (INT_MAX): Provide fallback.
94538         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
94539         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
94540
94541         * lib/safe-read.c (EINTR): Remove definition.
94542         (safe_read): Don't use EINTR if it is absent.
94543
94544 2002-12-01  Jim Meyering  <jim@meyering.net>
94545
94546         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
94547         zero.
94548         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
94549
94550 2002-11-27  Paul Eggert  <eggert@twinsun.com>
94551
94552         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
94553         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
94554         with `if (! (value < limit)) abort ();', for readability.
94555
94556 2002-11-26  Karl Berry  <karl@gnu.org>
94557
94558         * lib/strdup.c: copy from libc again, with jim's ok.
94559         * lib/.cppi-disable: re-add strdup.c
94560
94561 2002-11-25  Karl Berry  <karl@gnu.org>
94562
94563         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
94564         instead of "strtol.c".
94565
94566 2002-11-25  Karl Berry  <karl@gnu.org>
94567
94568         * config/install-sh: update from automake for variable quoting, $0 in
94569         error msgs, etc.
94570
94571         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
94572         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
94573         entry.
94574
94575 2002-11-25  Jim Meyering  <jim@meyering.net>
94576
94577         * lib/mktime.c: Sync from libc, now that it has the latest fix.
94578
94579 2002-11-24  Karl Berry  <karl@gnu.org>
94580
94581         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
94582         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
94583
94584 2002-11-24  Jim Meyering  <jim@meyering.net>
94585
94586         Update from coreutils:
94587
94588         * lib/mktime.c: Merge in changes from libc.
94589
94590         Avoid a link-time failure on some Linux systems.
94591         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
94592         (otherwise).
94593         (__mon_yday): Declare with the STATIC attribute.
94594         (__mktime_internal): Likewise.
94595         Based on a report from Greg Schafer.
94596
94597 2002-11-23  Jim Meyering  <jim@meyering.net>
94598
94599         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
94600         Use `unsigned', not `int', as type of index.
94601
94602         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
94603
94604         * lib/fsusage.c: Remove unneeded parentheses around operands of
94605         `defined'.
94606
94607 2002-11-22  Paul Eggert  <eggert@twinsun.com>
94608
94609         * lib/quotearg.h: Allow multiple inclusion by surrounding with
94610         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
94611         so that we can be included first.
94612         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
94613         * lib/quotearg.c: Include quotearg.h immediately after config.h.
94614         No need to include stddef.h or sys/types.h any more.
94615         Surround local include files with "", not "<>".
94616         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
94617         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
94618         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
94619         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
94620         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
94621         (ISPRINT): Remove; no longer needed now that we assume C89.
94622
94623         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
94624         Preserve errno.
94625
94626         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
94627         quotearg_char): Use SIZE_MAX rather than
94628         (size_t) -1 when we are talking about "infinity".
94629
94630         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
94631
94632 2002-11-22  Paul Eggert  <eggert@twinsun.com>
94633
94634         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
94635         hint that one should use `if (! x) abort ();' rather than `assert
94636         (x);', and anyway it's one less thing to worry about configuring.
94637         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
94638         hash_rehash, hash_insert): Use abort rather than assert.
94639
94640 2002-11-22  Bruno Haible  <bruno@clisp.org>
94641
94642         * lib/safe-read.h: Assume C89. Add comments.
94643         (safe_read): Change return type to size_t.
94644         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
94645         byte counts > SSIZE_MAX correctly.
94646         * lib/safe-write.h: New file.
94647         * lib/safe-write.c: New file.
94648         * lib/full-read.h: New file.
94649         * lib/full-read.c: New file.
94650         * lib/full-write.h: Assume C89. Add comments.
94651         * lib/full-write.c: Include safe-write.h.
94652         (full_write): Rewritten to use safe_write.
94653         Suggested by Jim Meyering and Paul Eggert.
94654
94655 2002-11-21  Jim Meyering  <jim@meyering.net>
94656
94657         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
94658
94659         Merge in changes from the coreutils.
94660
94661         2002-09-25  Paul Eggert  <eggert@twinsun.com>
94662         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
94663         <stdint.h>.
94664         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
94665         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
94666         int.  Work more efficiently if X is the same width as uintmax_t.
94667         Do not compare X to -1, to avoid bogus compiler warning.
94668         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
94669         Don't assume that f_frsize and f_bsize are the same type.
94670
94671         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
94672         warning on FreeBSD.
94673
94674         * lib/makepath.c (make_path): Restore umask *before* creating the final
94675         component.
94676         (make_path): Minor reformatting.
94677
94678         * lib/xmalloc.c: Adjust to work with new autoconf macros,
94679         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
94680         HAVE_MALLOC/HAVE_REALLOC.
94681
94682         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
94683         dummy ones.  At least on GNU/Linux systems, `auto' means something
94684         else.
94685         From Michael Stone.
94686
94687 2002-11-21  Bruno Haible  <bruno@clisp.org>
94688
94689         Remove case insensitive option matching.
94690         * lib/argmatch.h (argcasematch): Remove declaration.
94691         (ARGCASEMATCH): Remove macro.
94692         (__xargmatch_internal): Remove case_sensitive argument.
94693         (XARGMATCH): Update.
94694         (XARGCASEMATCH): Remove macro.
94695         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
94696         case_sensitive argument.
94697         (argcasematch): Remove function.
94698         (__xargmatch_internal): Remove case_sensitive argument.
94699         (main): Use XARGMATCH instead of XARGCASEMATCH.
94700
94701         * lib/xmalloc.c: Change compile-time error message. Add comment about
94702         required autoconf version.
94703
94704 2002-11-20  Paul Eggert  <eggert@twinsun.com>
94705
94706         Merge argmatch cleanups from Bison.  Assume C89.
94707
94708         * lib/argmatch.c: Include config.h here, not in argmatch.h.
94709         Include stdlib.h, for EXIT_FAILURE.
94710         Always include <string.h>, since we assume C89.
94711         (EXIT_FAILURE): Remove pre-C89 bug workaround.
94712         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
94713         Include <stddef.h> instead, since it's all we need for size_t.
94714         (PARAMS): Remove.  All uses removed.
94715         (ARRAY_CARDINALITY): Do not bother to #undef.
94716         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
94717         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
94718         Remove unnecessary parentheses.
94719         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
94720         Insert necessary parentheses.
94721         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
94722         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
94723
94724 2002-11-19  Bruno Haible  <bruno@clisp.org>
94725
94726         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
94727         * lib/mbswidth.h: Include <stddef.h>, for size_t.
94728
94729         * lib/mbswidth.h (PARAMS): Remove macro.
94730         (mbswidth, mbsnwidth): Use ANSI C function declarations.
94731         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
94732
94733         * lib/gcd.h (PARAMS): Remove macro.
94734         (gcd): Use ANSI C function declarations.
94735         * lib/gcd.c (gcd): Likewise.
94736
94737 2002-11-15  Bruno Haible  <bruno@clisp.org>
94738
94739         * lib/strcspn.c: Include <stddef.h>.
94740         (strcspn): Use ANSI C function declaration. Change return type to
94741         size_t. Use NULL.
94742         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
94743         (strpbrk): Use NULL.
94744         * lib/strpbrk.h (PARAMS): Remove macro.
94745         (strpbrk): Use ANSI C function declaration.
94746         * lib/strstr.c: Don't include <sys/types.h>.
94747         * lib/strstr.h (PARAMS): Remove macro.
94748         (strstr): Use ANSI C function declarations.
94749
94750 2002-11-14  Karl Berry  <karl@gnu.org>
94751
94752         * config/mkinstalldirs: `do' on separate line, instead of
94753         `for var; do'.
94754
94755 2002-11-06  Bruno Haible  <bruno@clisp.org>
94756
94757         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
94758         * lib/gcd.c (gcd): Likewise.
94759
94760 2002-11-05  Bruno Haible  <bruno@clisp.org>
94761
94762         * lib/gcd.h: New file, from gettext-0.11.5.
94763         * lib/gcd.c: New file, from gettext-0.11.5.
94764
94765 2002-11-05  Bruno Haible  <bruno@clisp.org>
94766
94767         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
94768         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
94769         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
94770         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
94771
94772         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
94773         <libintl.h>.
94774         * lib/makepath.c: Include gettext.h instead of <locale.h> and
94775         <libintl.h>.
94776
94777         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
94778         * lib/human.c: Include gettext.h instead of <libintl.h>.
94779         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
94780         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
94781         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
94782         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
94783         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
94784         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
94785         (textdomain): Remove definition.
94786         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
94787
94788         * lib/long-options.c: Remove include of <libintl.h> and definition of
94789         _.
94790         * lib/same.c: Remove include of <libintl.h> and definition of _.
94791
94792 2002-11-04  Owen Taylor  <otaylor@redhat.com>
94793
94794         * lib/config.charset: A few additions for Solaris.
94795
94796 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
94797
94798         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
94799         * lib/localcharset.c (locale_charset): Declare as extern "C".
94800
94801 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
94802
94803         * lib/config.charset: msdos in uk_UA uses CP1125.
94804
94805 2002-11-04  Bruno Haible  <bruno@clisp.org>
94806
94807         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
94808         * lib/strcase.h: New file, from GNU gettext-0.11.5.
94809         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
94810         * lib/strstr.h: New file, from GNU gettext-0.11.5.
94811         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
94812
94813 2002-11-04  Bruno Haible  <bruno@clisp.org>
94814
94815         * lib/localcharset.c (locale_charset): Don't return an empty string.
94816
94817 2002-11-04  Bruno Haible  <bruno@clisp.org>
94818
94819         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
94820         aliases.
94821
94822 2002-11-04  Bruno Haible  <bruno@clisp.org>
94823
94824         * lib/config.charset: Update for newest glibc. Add canonical names
94825         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
94826
94827 2002-11-04  Bruno Haible  <bruno@clisp.org>
94828
94829         * lib/config.charset: Add support for NetBSD.
94830
94831 2002-11-04  Bruno Haible  <bruno@clisp.org>
94832
94833         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
94834
94835 2002-11-01  Bruno Haible  <bruno@clisp.org>
94836
94837         * configure.in: Add AC_CONFIG_AUX_DIR call.
94838         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
94839         test/Makefile.
94840         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
94841
94842 2002-09-28  Karl Berry  <karl@gnu.org>
94843
94844         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
94845         installed automake until the next release, since changes have been
94846         made.
94847
94848 2002-09-25  Karl Berry  <karl@gnu.org>
94849
94850         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
94851         * lib/getopt*: copy from libc/posix.
94852         * lib/gettext.h: copy from gettext.
94853         * lib/.cppi-disable: add strdup.c, gettext.h.
94854
94855 2002-09-25  Karl Berry  <karl@gnu.org>
94856
94857         * config/srclist.txt: enable gettext.h check.
94858         * config/config.{guess,sub}: update from prep.
94859         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
94860                 from automake 1.6.3.
94861         See srclist*.
94862
94863 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
94864
94865         * regex.c (PATFETCH): Remove the translating fetch.
94866         (PATFETCH_RAW): Rename to PATFETCH.
94867         (set_image_of_range): New fun.
94868         (SET_RANGE_TABLE_WORK_AREA): Use it.
94869         (regex_compile): Don't translate the pattern chars so eagerly.
94870         Only do it when inserting an `exactn' bytecode or when handling
94871         a char-range.
94872         (mutually_exclusive_p): Avoid empty statement.
94873
94874 2002-07-06  Jim Meyering  <meyering@lucent.com>
94875
94876         * m4/README: Don't mention Makefile.am.in.
94877         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
94878
94879 2002-07-01  Jim Meyering  <meyering@lucent.com>
94880
94881         * lib/c-stack.c: Include sys/time.h.
94882         From Volker Borchert.
94883
94884 2002-06-26  Paul Eggert  <eggert@twinsun.com>
94885
94886         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
94887
94888 2002-06-26  Paul Eggert  <eggert@twinsun.com>
94889
94890         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
94891         New macro.  Use it uniformly instead of
94892         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
94893         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
94894         reported by Vin Shelton.
94895
94896 2002-06-22  Paul Eggert  <eggert@twinsun.com>
94897
94898         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
94899         Do not assume SA_SIGINFO behavior.
94900         Bug reported by Jim Meyering on NetBSD 1.5.2.
94901
94902 2002-06-22  Jim Meyering  <meyering@lucent.com>
94903
94904         * m4/c-stack.m4: New file, from diffutils-2.8.2.
94905         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
94906
94907         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
94908         now that configure.ac uses AC_GNU_SOURCE.
94909         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
94910         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
94911
94912         Update to latest tools.  Suggestions from Paul Eggert.
94913         * m4/stdbool.m4: New file, from diffutils-2.8.2.
94914         * m4/gnu-source.m4: Update from diffutils-2.8.2.
94915         * m4/fnmatch.m4: Likewise.
94916         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
94917         to AC_HEADER_STDBOOL
94918
94919 2002-06-22  Jim Meyering  <meyering@lucent.com>
94920
94921         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
94922         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
94923
94924 2002-06-22  Jim Meyering  <meyering@lucent.com>
94925
94926         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
94927
94928         * lib/exitfail.c, exitfail.h: Likewise.
94929         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
94930
94931         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
94932         of fnmatch.h.
94933         (EXTRA_DIST): Add fnmatch_loop.c.
94934         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
94935
94936         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
94937         * lib/fnmatch.c: Update from diffutils-2.8.2.
94938         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
94939         * lib/fnmatch.h: Remove file.
94940
94941 2002-06-21  Jim Meyering  <meyering@lucent.com>
94942
94943         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
94944         * m4/mbrtowc.m4: Likewise.
94945
94946         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
94947         * m4/mbswidth.m4: Reflect name change:
94948         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
94949         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
94950
94951         * m4/lib-link.m4: Update from gettext-0.11.2.
94952         * m4/gettext.m4: Likewise.
94953
94954         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
94955         From Alfred M. Szmidt.
94956
94957 2002-06-18  Paul Eggert  <eggert@twinsun.com>
94958
94959         * lib/file-type.h: Report an error if neither S_ISREG nor
94960         S_IFREG is defined, instead of using a test specific to glibc
94961         2.2.  This should be safe, since POSIX requires S_ISREG and
94962         Unix Version 7 had S_IFREG.  We don't need to check for
94963         <sys/types.h> since we don't use any symbols that it defines.
94964
94965 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
94966
94967         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
94968         $@-t, so that each temporary file name is unique and valid in the first
94969         8 characters, for operation under DOS.
94970
94971 2002-06-15  Paul Eggert  <eggert@twinsun.com>
94972
94973         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
94974
94975 2002-06-15  Jim Meyering  <meyering@lucent.com>
94976
94977         Work even with DJGPP 2.03, which lacks support for symlinks.
94978         From Richard Dawe.
94979         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
94980         is defined.
94981         * lib/lchown.c (S_ISLNK): Likewise.
94982
94983 2002-06-15  Jim Meyering  <meyering@lucent.com>
94984
94985         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
94986         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
94987         have been included before this file.
94988
94989 2002-06-14  Jim Meyering  <meyering@lucent.com>
94990
94991         * lib/file-type.h: Use the version from diffutils-2.8.2.
94992         * lib/file-type.c: Likewise.
94993
94994 2002-06-07  Jim Meyering  <meyering@lucent.com>
94995
94996         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
94997         They're needed at least for NetBSD 1.5.2.
94998         ($statxfs_includes): Include those same headers.
94999         ($statxfs_includes): Include sys/vfs.h if available.
95000         ($statxfs_includes): Likewise for sys/statvfs.h.
95001         Check for the following members in both structs statfs and statvfs:
95002         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
95003
95004 2002-06-01  Jim Meyering  <meyering@lucent.com>
95005
95006         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
95007         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
95008
95009 2002-05-28  Jim Meyering  <meyering@lucent.com>
95010
95011         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
95012         Reported by Volker Borchert.
95013
95014 2002-05-27  Jim Meyering  <meyering@lucent.com>
95015
95016         Fix a problem seen only on nonconforming systems whereby ls.c's
95017         use of localtime, and then of gettimeofday would cause trouble:
95018         the localtime call used to initialize rpl_gettimeofday's save
95019         mechanism would clobber ls's current local time information so
95020         that in any long listing the first file would always be listed
95021         with date 1970-01-01.  Analysis by Volker Borchert.
95022
95023         * lib/gettimeofday.c (localtime): Undefine.
95024         (rpl_localtime): New function.
95025
95026 2002-05-27  Jim Meyering  <meyering@lucent.com>
95027
95028         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
95029         localtime.
95030
95031         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
95032         use the replacement function; it wouldn't resolve at link time.
95033         Reported by Volker Borchert.
95034
95035 2002-05-22  Jim Meyering  <meyering@lucent.com>
95036
95037         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
95038         file-type.h.
95039         * lib/file-type.h: New file.
95040         * lib/file-type.c (file_type): New file/function.  Extracted from
95041         diffutils.
95042
95043 2002-04-30  Jim Meyering  <meyering@lucent.com>
95044
95045         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
95046
95047 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95048
95049         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
95050
95051 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95052
95053         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
95054         Do not check for alloca.h (no longer used) or stdbool.h (was never
95055         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
95056
95057 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95058
95059         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
95060
95061 2002-04-29  Jim Meyering  <meyering@lucent.com>
95062
95063         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
95064         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
95065         Use AC_FUNC_STRNLEN here instead.
95066
95067         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
95068         With autoconf-2.53a, it's part of AC_PROG_CC.
95069
95070 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95071
95072         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
95073         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
95074
95075 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95076
95077         * lib/sig2str.h, lib/sig2str.c: New files.
95078         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
95079
95080 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95081
95082         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
95083         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
95084         of 127, since 64 is the largest conceivable number for ancient
95085         nonstandard hosts.
95086         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
95087
95088 2002-04-28  Jim Meyering  <meyering@lucent.com>
95089
95090         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
95091
95092 2002-04-24  Jim Meyering  <meyering@lucent.com>
95093
95094         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
95095         (jm_PREREQ): Use it.
95096
95097         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
95098         mach/mach.h fcntl.h.
95099         Check for this function: setlocale.
95100
95101 2002-04-24  Jim Meyering  <meyering@lucent.com>
95102
95103         * lib/gettext.h: New file, from Gettext.
95104         * lib/Makefile.am (INCLUDES): Remove -I../intl.
95105         (libfetish_a_SOURCES): Add gettext.h.
95106
95107 2002-04-16  Jim Meyering  <meyering@lucent.com>
95108
95109         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
95110         ut_pid, ut_id, ut_exit.
95111
95112 2002-04-16  Jim Meyering  <meyering@lucent.com>
95113
95114         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
95115         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
95116         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
95117
95118 2002-04-12  Jim Meyering  <meyering@lucent.com>
95119
95120         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
95121         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
95122         existence of the getmntinfo function.  Needed for Darwin 5.3.
95123
95124         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
95125         This is necessary at least on Darwin 5.3.
95126
95127         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
95128         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
95129         strnlen.o in the library, and that makes some versions of ranlib
95130         object.
95131
95132 2002-04-12  Jim Meyering  <meyering@lucent.com>
95133
95134         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
95135
95136 2002-04-09  Jim Meyering  <meyering@lucent.com>
95137
95138         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
95139         to be more precise.  Rather than saying we're checking whether the
95140         function `works', say what we're testing.
95141         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
95142         Reported by Bruno Haible.
95143
95144 2002-03-10  Jim Meyering  <meyering@lucent.com>
95145
95146         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
95147         Suggestion from Santiago Vila.
95148
95149 2002-03-08  Jim Meyering  <meyering@lucent.com>
95150
95151         * lib/rename.c: Mention that this wrapper is needed also on
95152         mips-dec-ultrix4.4 systems.
95153
95154 2002-03-02  Jim Meyering  <meyering@lucent.com>
95155
95156         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
95157         not HAVE_CLOCK_SETTIME.
95158
95159 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95160
95161         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
95162         Check for clock_settime.
95163
95164 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95165
95166         * lib/nanosleep.h: Rename to....
95167         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
95168
95169         * lib/gettime.c: New file.
95170         * lib/settime.c: New file.
95171         * lib/stime.c: Remove.
95172
95173         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
95174         timespec.h.  Remove nanosleep.h.
95175
95176 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95177
95178         * m4/acl.m4: New file.
95179         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
95180         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
95181
95182 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95183
95184         * lib/acl.c, lib/acl.h: New files.
95185         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
95186
95187 2002-02-24  Jim Meyering  <meyering@lucent.com>
95188
95189         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
95190         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
95191         cause trouble.  Reported by Nelson Beebe.
95192
95193 2002-02-23  Paul Eggert  <eggert@twinsun.com>
95194
95195         * lib/path-concat.c (xpath_concat): Reorder code to pacify
95196         compilers that don't know that xalloc_die never returns.
95197
95198 2002-02-20  Jim Meyering  <meyering@lucent.com>
95199
95200         * lib/getdate.c: Regenerate using bison-1.33.
95201
95202 2002-02-17  Jim Meyering  <meyering@lucent.com>
95203
95204         * config/config.guess (main): Don't use `head -1'; it's no longer
95205         portable. Use `sed 1q' instead.
95206
95207 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
95208
95209         * m4/codeset.m4: Upgrade to gettext-0.11.
95210         * m4/gettext.m4: Upgrade to gettext-0.11.
95211         * m4/glibc21.m4: Upgrade to gettext-0.11.
95212         * m4/iconv.m4: Upgrade to gettext-0.11.
95213         * m4/isc-posix.m4: Upgrade to gettext-0.11.
95214         * m4/lcmessage.m4: Upgrade to gettext-0.11.
95215         * m4/lib-ld.m4: New file, from gettext-0.11.
95216         * m4/lib-link.m4: New file, from gettext-0.11.
95217         * m4/lib-prefix.m4: New file, from gettext-0.11.
95218         * m4/progtest.m4: Upgrade to gettext-0.11.
95219
95220 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95221
95222         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
95223         (jm_PREREQ): Use it.
95224
95225 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95226
95227         * lib/posixver.c, lib/posixver.h: New files.
95228         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95229
95230 2002-02-02  Paul Eggert  <eggert@twinsun.com>
95231             Bruno Haible  <bruno@clisp.org>
95232
95233         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
95234         (fwrite_success_callback): New declaration.
95235         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
95236         print_unicode_char. Call failure callback instead of error.
95237         (fwrite_success_callback): New function.
95238         (exit_failure_callback): New function.
95239         (fallback_failure_callback): New function.
95240         (print_unicode_char): Call unicode_to_mb.
95241
95242 2002-01-26  Jim Meyering  <meyering@lucent.com>
95243
95244         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
95245         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
95246
95247 2002-01-26  Jim Meyering  <meyering@lucent.com>
95248
95249         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
95250
95251 2002-01-22  Paul Eggert  <eggert@twinsun.com>
95252
95253         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
95254
95255 2002-01-22  Jim Meyering  <meyering@lucent.com>
95256
95257         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
95258         Otherwise, some versions of automake would omit the rule that makes
95259         Makefile from Makefile.in.
95260
95261 2002-01-21  Paul Eggert  <eggert@twinsun.com>
95262
95263         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
95264         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95265         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
95266         (memcoll): Set errno to zero if there is no error.
95267
95268         * lib/quotearg.c (quotearg_buffer_restyled):
95269         Fix bug with quoting buffers containing NUL when backslashing escapes.
95270         This bug was exposed by the other changes in this patch.
95271         (quotearg_n_options): New arg ARGSIZE.
95272         All callers changed.
95273         (quoting_options_from_style): New function.
95274         (quotearg_n_style): Use it.
95275         (quotearg_n_style_mem): New function.
95276
95277         * lib/quotearg.h (quotearg_n_style_mem): New function.
95278
95279 2002-01-19  Jim Meyering  <meyering@lucent.com>
95280
95281         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
95282         Remove useless quotes: DF_PROG="df".
95283         * m4/strnlen.m4: New file.
95284
95285 2002-01-16  Paul Eggert  <eggert@twinsun.com>
95286
95287         * lib/backupfile.c (ISDIGIT): Comment fix.
95288         * lib/getdate.y (ISDIGIT): Likewise.
95289         * lib/posixtm.c (ISDIGIT, year): Likewise.
95290         * lib/strverscmp.c (ISDIGIT): Likewise.
95291         * lib/userspec.c (ISDIGIT): Likewise.
95292
95293 2002-01-16  Jim Meyering  <meyering@lucent.com>
95294
95295         * lib/getdate.y: Add three semicolons, each just before a closing
95296         brace. Bison (as of version 1.31) no longer papers over that mistake.
95297
95298 2002-01-05  Jim Meyering  <meyering@lucent.com>
95299
95300         * lib/version-etc.c (version_etc_copyright): Update copyright year.
95301
95302 2001-12-19  Paul Eggert  <eggert@twinsun.com>
95303
95304         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
95305         not silently exit merely because the output buffer happens to
95306         have nothing pending.
95307
95308 2001-12-18  Paul Eggert  <eggert@twinsun.com>
95309
95310         See the big note in ../ChangeLog.
95311         * lib/human.c (suffixes): Prefer K to k for 1024.
95312         (generate_suffix_backwards): New function.
95313         (human_readable_inexact): Use it.
95314         * lib/xstrtol.c (__xstrtol): If there is no number but there
95315         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
95316         Accept 'K' as well as 'k'.
95317
95318 2001-12-15  Jim Meyering  <meyering@lucent.com>
95319
95320         * lib/regex.h (__restrict_arr): Update from libc.
95321
95322         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
95323         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
95324         (STREQ): Define.
95325
95326 2001-12-14  Jim Meyering  <meyering@lucent.com>
95327
95328         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
95329         Suggestion from Bruno Haible.
95330
95331 2001-12-10  Jim Meyering  <meyering@lucent.com>
95332
95333         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
95334         xrealloc, Instead, include "xalloc.h".
95335         (initbuffer): Don't cast xmalloc return value to char*.
95336         (readline): Reword comment.
95337         Don't cast xrealloc return value to char*
95338         Return NULL, not 0.
95339
95340 2001-12-09  Jim Meyering  <meyering@lucent.com>
95341
95342         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
95343         about `signed and unsigned type in conditional expression'.
95344         * lib/posixtm.c (posix_time_parse): Likewise.
95345
95346         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
95347
95348         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
95349         to avoid a pedantic warning.
95350
95351         * lib/getstr.c: Don't include assert.h.
95352         (getstr): Remove warning-evoking assertions.
95353         Return -1 if offset parameter is out of bounds.
95354         Change the type of a local from int to size_t.
95355
95356         * lib/strftime.c (my_strftime_localtime_r): Include this function
95357         definition in the `#if ! HAVE_TM_GMTOFF' block.
95358
95359         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
95360         Include xalloc.h instead.
95361
95362 2001-12-02  Jim Meyering  <meyering@lucent.com>
95363
95364         * lib/tempname.c: Don't declare getenv, thus reverting the change of
95365         2001-11-18.  It's no longer necessary, now that stdlib.h is always
95366         included.
95367
95368         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
95369         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
95370
95371 2001-11-30  Akim Demaille  <akim@epita.fr>
95372
95373         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
95374         before being defined.
95375
95376 2001-11-27  Paul Eggert  <eggert@twinsun.com>
95377
95378         * lib/quotearg.h (quotearg_n, quotearg_n_style):
95379         First arg is int, not unsigned.
95380         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
95381         (SIZE_MAX, UINT_MAX): New macros.
95382         (quotearg_n_options): Abort if N is negative.
95383         Avoid overflow check on hosts where size_t is 64 bits and int
95384         is 32 bits, as overflow is impossible there.
95385         Fix off-by-one typo that caused unnecessary reallocation.
95386
95387 2001-11-27  Jim Meyering  <meyering@lucent.com>
95388
95389         * lib/tempname.c: Merge with version from libc.
95390         * lib/regex.c: Likewise.
95391
95392         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
95393         systems for which STDC_HEADERS is 0, it was not included, resulting in
95394         a warning about an integer-to-pointer conversion problem with getenv.
95395         Reported by Volker Borchert.
95396
95397 2001-11-26  Jim Meyering  <meyering@lucent.com>
95398
95399         * lib/gtod.h: Remove file.
95400         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
95401         * lib/gettimeofday.c: Don't include gtod.h.
95402         (GTOD_init): Remove function.
95403         (rpl_gettimeofday): Do its job here instead, rather than aborting.
95404         Suggestion from Volker Borchert.
95405
95406 2001-11-23  Jim Meyering  <meyering@lucent.com>
95407
95408         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
95409         it.
95410         * lib/hash.c (struct hash_table): Define it here instead.
95411
95412 2001-11-22  Jim Meyering  <meyering@lucent.com>
95413
95414         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
95415
95416 2001-11-20  Jim Meyering  <meyering@lucent.com>
95417
95418         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
95419         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
95420
95421 2001-11-19  Jim Meyering  <meyering@lucent.com>
95422
95423         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
95424         directory.  Use "conftestXXXXXX" as the template.
95425         Suggestion from Paul Eggert.
95426
95427         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
95428         immediately, so the test doesn't mistakenly hit the max-open-files
95429         limit.
95430
95431 2001-11-18  Paul Eggert  <eggert@twinsun.com>
95432
95433         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
95434         (TEMPORARIES): New macro.
95435         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
95436         removes an artificial limitation (e.g. HP-UX 10.20, where
95437         TMP_MAX is 17576).
95438
95439 2001-11-18  Jim Meyering  <meyering@lucent.com>
95440
95441         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
95442
95443 2001-11-18  Jim Meyering  <meyering@lucent.com>
95444
95445         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
95446         on SunOS 4.
95447
95448         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
95449         files will be created before anything else.
95450
95451 2001-11-17  Paul Eggert  <eggert@twinsun.com>
95452
95453         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
95454         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
95455
95456 2001-11-17  Jim Meyering  <meyering@lucent.com>
95457
95458         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
95459         Prompted by a report from Bob Proulx.
95460
95461         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
95462         Instead, require UTILS_FUNC_MKSTEMP.
95463
95464 2001-11-17  Jim Meyering  <meyering@lucent.com>
95465
95466         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
95467         Now, that's done as part of AC_FUNC_STRTOD.
95468
95469 2001-11-17  Jim Meyering  <meyering@lucent.com>
95470
95471         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
95472         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
95473         rather than group writable.  Patch by Juan F. Codagnone.
95474
95475         * lib/readtokens.c: Remove explicit declarations of xmalloc and
95476         xrealloc, Instead, include "xalloc.h".
95477
95478         * lib/mountlist.c: Include unlocked-io.h after all system headers.
95479         Remove explicit declarations of xmalloc, xrealloc,
95480         and xstrdup.  Instead, include "xalloc.h".
95481
95482         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
95483         unlocked-io.h.
95484         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
95485         Likewise.
95486         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
95487
95488         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
95489         Reported by Padraig Brady.
95490
95491         * lib/mkstemp.c: #undef mkstemp.
95492         Include config.h.
95493         (rpl_mkstemp): Rename from mkstemp.
95494         Protoize.
95495
95496 2001-11-16  Jim Meyering  <meyering@lucent.com>
95497
95498         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
95499         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
95500         determine the amount of total physical memory, use pstat_getstatic.
95501         HPUX-11 doesn't define _SC_PHYS_PAGES.
95502         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
95503         If sysconf couldn't be used to determine the amount of available
95504         physical memory, use both pstat_getstatic and pstat_getdynamic.
95505         Based on a patch from Bob Proulx.
95506
95507 2001-11-10  Jim Meyering  <meyering@lucent.com>
95508
95509         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
95510         (jm_PREREQ): Use it.
95511
95512 2001-11-09  Jim Meyering  <meyering@lucent.com>
95513
95514         * m4/jm-macros.m4: Require autoconf-2.52f.
95515         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
95516         Use these AC_-prefixed names, not the AM_-prefixed ones.
95517
95518         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
95519
95520 2001-11-05  Jim Meyering  <meyering@lucent.com>
95521
95522         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
95523
95524 2001-11-04  Jim Meyering  <meyering@lucent.com>
95525
95526         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
95527         $DEFS.
95528
95529 2001-11-03  Jim Meyering  <meyering@lucent.com>
95530
95531         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
95532         of AC_DEFUN.
95533
95534         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
95535         know the name of the variable in the macro definition.
95536
95537 2001-11-03  Jim Meyering  <meyering@lucent.com>
95538
95539         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
95540         in argmatch_to_argument call.
95541
95542         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
95543         argument.
95544
95545         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
95546         e.g., a fault due to an attempt to free a NULL pointer.
95547
95548 2001-11-01  Jim Meyering  <meyering@lucent.com>
95549
95550         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
95551         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
95552
95553 2001-11-01  Jim Meyering  <meyering@lucent.com>
95554
95555         * lib/dirfd.c, lib/dirfd.h: New files.
95556         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
95557
95558         * lib/hash.c (hash_print) [TESTING]: Clean up.
95559
95560 2001-10-22  Paul Eggert  <eggert@twinsun.com>
95561
95562         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
95563         to avoid a warning if -Wall.
95564
95565 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
95566
95567         * README: New file
95568         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
95569         (per RMS's instructions, this is now the canonical source)
95570         * lgpl/, gpl/: New directories.
95571
95572 2001-10-21  Paul Eggert  <eggert@twinsun.com>
95573
95574         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
95575
95576 2001-10-21  Jim Meyering  <meyering@lucent.com>
95577
95578         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
95579         this code would end up calling gettext even in packages built
95580         with --disable-nls.
95581         * lib/getopt.c (_): Likewise.
95582         * lib/regex.c (_): Likewise.
95583
95584 2001-10-20  Paul Eggert  <eggert@twinsun.com>
95585
95586         * m4/error.m4 (jm_PREREQ_ERROR):
95587         Do not invoke AC_CHECK_FUNCS with strerror_r, as
95588         AC_FUNC_STRERROR_R does that.
95589         Check for strerror declaration.
95590
95591         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
95592         are supposed to have them these days.
95593         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
95594         Merge changes from latest Autoconf CVS.
95595         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
95596         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
95597         POSIX decided to standardize on the int flavor of strerror_r.
95598
95599 2001-10-20  Paul Eggert  <eggert@twinsun.com>
95600
95601         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
95602         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
95603         Use strerror_r that is only a macro, even if it is not a function.
95604         (strerror): Check for HAVE_DECL_STRERROR before declaring.
95605         (private_strerror): Use prototypes, not old-style function definition.
95606         (print_errno_message): New function.
95607         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
95608         char*-flavored one.
95609         (error_tail, error, error_at_line): Use it.
95610
95611 2001-10-11  Jim Meyering  <meyering@lucent.com>
95612
95613         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
95614         and quote_n (1, ... to avoid clobbering a buffer.
95615
95616 2001-10-05  Jim Meyering  <meyering@lucent.com>
95617
95618         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
95619         hash-pjw.h.
95620         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
95621         * lib/hash-pjw.h: New file.
95622
95623 2001-09-30  Jim Meyering  <meyering@lucent.com>
95624
95625         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
95626         `struct fsstat' has the `f_fstypename' member.
95627         Use that to define FS_TYPE, which is now used to make
95628         the getfsstat link test tighter.
95629
95630 2001-09-30  Jim Meyering  <meyering@lucent.com>
95631
95632         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
95633         Include <sys/ucred.h>, for Apple Darwin.
95634         Include sys/mount.h and sys/fs_types.h only if available.
95635         (FS_TYPE): Define.
95636         (read_filesystem_list): Use FS_TYPE.
95637
95638 2001-09-29  Paul Eggert  <eggert@twinsun.com>
95639
95640         * lib/exclude.c (excluded_filename): 0 -> false, since it's
95641         a boolean context.
95642
95643 2001-09-29  Jim Meyering  <meyering@lucent.com>
95644
95645         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
95646         [one-argument getmntent function]): Include stdio.h before mntent.h.
95647         SunOS 4.1.x needs it for the declaration of `FILE'.
95648         Patch by Volker Borchert.
95649
95650         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
95651         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
95652         sys/fs_types.h, and make the link-test for getfsstat guard #include
95653         directives with appropriate #if HAVE_*_H tests so that we can
95654         detect getfsstat on Apple Darwin1.3.7 systems.
95655         Reported by Nelson Beebe.
95656         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
95657
95658 2001-09-28  Paul Eggert  <eggert@twinsun.com>
95659
95660         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
95661         #defines strtoimax.  Also treat the other strto* functions
95662         like strtoimax.
95663
95664         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
95665         Check for strtoul and strtoumax,
95666         as those declarations are made even in the signed case.
95667         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
95668         Likewise, for strtol and strtoimax.
95669
95670 2001-09-28  Paul Eggert  <eggert@twinsun.com>
95671
95672         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
95673         #defines strtoimax.  Also treat the other strto* functions
95674         like strtoimax.
95675
95676         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
95677         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
95678         (strtoimax, strtoumax): Do not declare if already defined as a macro.
95679
95680 2001-09-26  Jim Meyering  <meyering@lucent.com>
95681
95682         Most macros in unlocked-io.h had the wrong number of arguments.
95683         * lib/gen-uio: New script.
95684         (USE_UNLOCKED_IO): Define to 1 if not already defined.
95685         * lib/unlocked-io.hin: Remove file.
95686         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
95687         rather than trying to embed it here.
95688         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
95689         Reported by Padraig Brady.
95690
95691 2001-09-25  Volker Borchert  <bt@teknon.de>
95692
95693         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
95694         `result'.
95695
95696 2001-09-24  Jim Meyering  <meyering@lucent.com>
95697
95698         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
95699
95700 2001-09-23  Jim Meyering  <meyering@lucent.com>
95701
95702         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
95703         instead of the mere test for existence of mntent.h.  The latter
95704         would get a false-positive on AIX 3.4 systems.
95705         In the outer getmntent if-block, don't die if neither of the getmntent
95706         tests succeeds.  Instead, just fall through and continue with the
95707         remaining tests.
95708
95709 2001-09-23  Jim Meyering  <meyering@lucent.com>
95710
95711         * lib/mountlist.c: Remove useless parentheses in #if directives.
95712         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
95713         the deprecated MOUNTED symbol is no longer defined in mntent.h.
95714
95715 2001-09-22  Jim Meyering  <meyering@lucent.com>
95716
95717         * m4/gettext.m4: New file.  From gettext.
95718         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
95719         * m4/progtest.m4: Likewise
95720         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
95721         * m4/glibc21.m4: Likewise.
95722
95723         * m4/libintl.m4: Remove.  No longer used.
95724
95725 2001-09-22  Jim Meyering  <meyering@lucent.com>
95726
95727         * lib/localcharset.c: Update from latest gettext.
95728         * lib/config.charset: Likewise.
95729
95730 2001-09-20  Jim Meyering  <meyering@lucent.com>
95731
95732         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
95733         strtoimax.
95734         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
95735         strtoumax.
95736
95737 2001-09-20  Jim Meyering  <meyering@lucent.com>
95738
95739         * lib/xstrtol.c (strtoimax): Guard declaration with
95740         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
95741         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
95742         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
95743         (strtoumax): Likewise, for completeness (it wasn't necessary).
95744
95745 2001-09-17  Paul Eggert  <eggert@twinsun.com>
95746
95747         * lib/strtoimax.c (HAVE_LONG_LONG):
95748         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
95749         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
95750         to work around bug in IBM C compiler.
95751
95752 2001-09-17  Jim Meyering  <meyering@lucent.com>
95753
95754         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
95755         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
95756         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
95757         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
95758         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
95759         whenever the right hand side need not be expanded by the shell.
95760
95761 2001-09-16  Paul Eggert  <eggert@twinsun.com>
95762
95763         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
95764         library.  It's not correct, as some older glibcs are buggy.
95765         fnmatch wasn't fixed until glibc 2.2.
95766
95767         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
95768         special shell magic here.
95769
95770 2001-09-16  Jim Meyering  <meyering@lucent.com>
95771
95772         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
95773         * m4/jm-macros.m4: Require it.
95774
95775 2001-09-16  Jim Meyering  <meyering@lucent.com>
95776
95777         * lib/mkdir.c: New file.
95778
95779 2001-09-15  Jim Meyering  <meyering@lucent.com>
95780
95781         * m4/jm-macros.m4: Check for help2man.
95782
95783 2001-09-11  Jim Meyering  <meyering@lucent.com>
95784
95785         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
95786         The body, by Paul Eggert, was moved here from configure.in.
95787         * m4/jm-macros.m4: Require UTILS_HOST_OS.
95788
95789 2001-09-04  Paul Eggert  <eggert@twinsun.com>
95790
95791         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
95792         (jm_PREREQ): Use it.
95793
95794 2001-09-04  Paul Eggert  <eggert@twinsun.com>
95795
95796         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
95797         Use ssize_t, not int, to store result of readlink.
95798         Check for ssize_t overflow as well as size_t overflow,
95799         as POSIX says the result of readlink is implementation-defined
95800         when ssize_t overflows.
95801         Remove unnecessary cast to char*.
95802         Use free+malloc instead of realloc, as the storage doesn't need
95803         to be preserved and it's clearer and can be more efficient that way.
95804         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
95805         * lib/xreadlink.h (xreadlink): Update prototype.
95806
95807 2001-09-04  Paul Eggert  <eggert@twinsun.com>
95808
95809         * lib/xgetcwd.c: Revert some of the previous change; intead,
95810         fix the HAVE_GETCWD_NULL code to behave more like the
95811         !HAVE_GETCWD_NULL code used to.
95812
95813         Include "xalloc.h".
95814         (xgetcwd): Do not return NULL when memory is exhausted; instead,
95815         invoke xalloc_die.
95816
95817 2001-09-03  Paul Eggert  <eggert@twinsun.com>
95818
95819         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
95820         sys/param.h, as pathmax.h includes them.
95821
95822 2001-09-03  Paul Eggert  <eggert@twinsun.com>
95823
95824         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
95825         (jm_PREREQ_XGETCWD): New macro.
95826
95827         * m4/getcwd.m4: New file.
95828
95829 2001-09-03  Paul Eggert  <eggert@twinsun.com>
95830
95831         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
95832         like the HAVE_GETCWD_NULL code.
95833         Include pathmax.h if not HAVE_GETCWD.
95834         Do not include xalloc.h.
95835         (INITIAL_BUFFER_SIZE): New symbol.
95836         Do not use xmalloc / xrealloc, since the caller is responsible for
95837         handling errors.  Preserve errno around `free' during failure.
95838         Do not overrun buffer when using getwd.
95839
95840 2001-09-03  Paul Eggert  <eggert@twinsun.com>
95841
95842         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
95843         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
95844         getcwd (NULL, 0).
95845
95846 2001-09-03  Paul Eggert  <eggert@twinsun.com>
95847
95848         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
95849         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
95850         spotted by Jim Meyering.
95851
95852 2001-09-03  Jim Meyering  <meyering@lucent.com>
95853
95854         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
95855         failure.
95856
95857 2001-09-02  Jim Meyering  <meyering@lucent.com>
95858
95859         * lib/error.c: Update from GNU libc.
95860
95861 2001-09-01  Jim Meyering  <meyering@lucent.com>
95862
95863         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
95864         Used by df.
95865
95866 2001-09-01  Jim Meyering  <meyering@lucent.com>
95867
95868         * lib/xreadlink.c: New file.
95869         * lib/xreadlink.h: New file.
95870         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
95871         xreadlink.h.
95872
95873         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
95874         doesn't conflict with sparc Solaris 7's definition in
95875         /usr/include/sys/int_types.h.
95876
95877         * lib/exclude.c: Use `""', not `<>' to #include non-system header
95878         files.
95879         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
95880         and strncasecmp as r-values.  Unixware didn't have declarations.
95881
95882 2001-08-31  Paul Eggert  <eggert@twinsun.com>
95883
95884         * lib/xstrtol.h: Add copyright notice.
95885         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
95886         LONGINT_INVALID_SUFFIX_CHAR.
95887
95888 2001-08-31  Paul Eggert  <eggert@twinsun.com>
95889
95890         * lib/xstrtol.c (strtoimax): New decl.
95891
95892 2001-08-31  Paul Eggert  <eggert@twinsun.com>
95893
95894         * lib/xgetcwd.c: Don't include pathmax.h.
95895         Include stdlib.h and unistd.h if available.
95896         Include xalloc.h.
95897         (xmalloc, xstrdup, free): Remove decls.
95898         (xgetcwd): Don't assume sizes fit in unsigned.
95899         Check for overflow when computing sizes.
95900         Simplify reallocation code.
95901
95902 2001-08-31  Paul Eggert  <eggert@twinsun.com>
95903
95904         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
95905         a directory's st_size can have an arbitrary value, so the old
95906         usage could waste an arbitrary amount of memory.  All uses
95907         changed.
95908         * lib/savedir.h: Update prototype.
95909
95910 2001-08-31  Paul Eggert  <eggert@twinsun.com>
95911
95912         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
95913
95914         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
95915         old strtoimax.c.
95916
95917         Also, make the following further changes to make this file's
95918         configuration more similar to that of strtol.c:
95919         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
95920         (strtoumax, uintmax_t, strtoull, strtol): Remove.
95921         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
95922         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
95923         changed to signed values.
95924
95925         And make the following changes as well:
95926         Fix copyright notice, as 1999 was missing.
95927         (verify): New macro.
95928         (strtoimax): Check sizes at compile-time, not run-time.
95929         Prefer strtol to strtoll if both work.
95930         (main): Remove; it was not that useful and was a pain to maintain.
95931
95932         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
95933
95934 2001-08-31  Jim Meyering  <meyering@lucent.com>
95935
95936         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
95937         Use an initial, malloc'd, buffer of length 128 rather than
95938         a statically allocated one of length 1024.
95939
95940 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95941
95942         Simplify code, partly by assuming autoconf 2.52 semantics.
95943
95944         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
95945
95946         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
95947         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
95948         All uses removed.
95949         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
95950         Move AC_REQUIRE to next-to-top level, to avoid confusion.
95951         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
95952         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
95953         jm_AC_HEADER_INTTYPES_H.
95954         * m4/jm-macros.m4 (jm_MACROS): Likewise.
95955
95956         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
95957
95958         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
95959         Quote first arg of AC_DEFUN.
95960         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
95961         since they are needed to parse the include file even if we need
95962         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
95963         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
95964         but with opposite signedness.
95965
95966 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95967
95968         Merge 'exclude' changes from tar 1.13.22.
95969         This fixes one or two unlikely storage allocation overflow bugs,
95970         but doesn't change user-visible behavior otherwise.
95971
95972 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95973
95974         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
95975         (jm_PREREQ_EXCLUDE): New macro.
95976
95977 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95978
95979         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
95980         tm to be declared.
95981
95982 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95983
95984         * lib/hash.c: Remove '2001' from copyright notice.
95985
95986 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95987
95988         * lib/full-write.h: New file.
95989         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
95990         * lib/full-write.c: Correct credits, as cccp.c no longer
95991         exists and anyway it was so heavily changed from the old cccp
95992         code as to be unrecognizable.  Include full-write.h.
95993         (full_write): Return size_t, with short writes meaning failure.
95994         All callers changed.  This fixes a bug with large buffers
95995         on 64-bit hosts.
95996         * lib/utime.c: Include full-write.h.
95997
95998 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95999
96000         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
96001         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
96002         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
96003         Include if available.
96004         (<xalloc.h>): Include
96005         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
96006         (verify): New macro.  Use it to verify that EXCLUDE macros do not
96007         collide with FNM macros.
96008         (struct patopts): New struct.
96009         (struct exclude): Use it, as exclude patterns now come with options.
96010         (new_exclude): Support above changes.
96011         (new_exclude, add_exclude_file):
96012         Initial size must now be a power of two to simplify overflow checking.
96013         (free_exclude, fnmatch_no_wildcards): New function.
96014         (excluded_filename): No longer requires options arg, as the options
96015         are determined by add_exclude.  Now returns bool, not int.
96016         (excluded_filename, add_exclude):
96017         Add support for the fancy new exclusion options.
96018         (add_exclude, add_exclude_file): Now takes int options arg.
96019         Check for arithmetic overflow when computing sizes.
96020         (add_exclude_file): xrealloc might modify errno, so don't
96021         realloc until after errno might be used.
96022
96023         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
96024         New macros.
96025         (free_exclude): New decl.
96026         (add_exclude, add_exclude_file): Now takes int options arg.
96027         (excluded_filename): No longer requires options arg, as the options
96028         are determined by add_exclude.  Now returns bool, not int.
96029
96030 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96031
96032         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
96033
96034 2001-08-27  Jim Meyering  <meyering@lucent.com>
96035
96036         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
96037
96038         * lib/version-etc.c (N_): Remove definition.
96039         Revert most of last change.
96040         Instead, simply don't mark the `Copyright...' string for translation.
96041         Based on advice from Paul Eggert.
96042
96043         * lib/strtoxmax.c: Tweak comment.
96044
96045 2001-08-26  Jim Meyering  <meyering@lucent.com>
96046
96047         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
96048
96049         * m4/xstrtoimax.m4: New file.
96050         * m4/xstrtoumax.m4: Add comments explaining why we
96051         AC_REPLACE_FUNCS(strtol).
96052
96053 2001-08-26  Jim Meyering  <meyering@lucent.com>
96054
96055         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
96056         of copyright with `%s' so translators don't get an untranslated
96057         message in 2002.
96058         (COPYRIGHT_YEAR): Define.
96059         (version_etc): Use fprintf rather than fputs.
96060         Suggestion from Ulrich Drepper.
96061
96062         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
96063
96064         * lib/strtoll.c: New file, from GNU libc.
96065         * lib/xstrtoimax.c: New file.
96066
96067         * lib/xstrtol.h: Add xstrtoimax.
96068         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
96069         * lib/strtoimax.c: New file.  Likewise, but first define
96070         STRTOUXMAX_SIGNED.
96071
96072         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
96073         ...
96074         * lib/strtoxmax.c: ... then renamed to this.
96075
96076 2001-08-18  Paul Eggert  <eggert@twinsun.com>
96077
96078         * m4/inttypes.m4: Add AC_PREREQ(2.13).
96079         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
96080         (jm_AC_TYPE_INTMAX_T): New macro.
96081         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
96082
96083         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
96084
96085         * m4/longlong.m4: Renamed from ulonglong.m4.
96086         * m4/inttypes.m4: Renamed from inttypes_h.m4.
96087         * m4/uintmax_t.m4: Removed.
96088
96089 2001-08-13  Paul Eggert  <eggert@twinsun.com>
96090
96091         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
96092         Port to Solaris 8, where 'sed' requires a space after the 'r'
96093         command, and where sh dislikes "$/".  Clean up the spacing a bit.
96094         Redirect output to $tmp just once.
96095
96096 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
96097
96098         * lib/addext.c (<errno.h>): Include.
96099         (errno): Declare if not defined.
96100         (addext): Work correctly when pathconf returns -1 and leaves
96101         errno alone because there is no limit.  Also, work even if
96102         pathconf returns a value greater than SIZE_MAX.
96103
96104 2001-08-12  Jim Meyering  <meyering@lucent.com>
96105
96106         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
96107         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
96108         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
96109         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
96110         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
96111         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
96112         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
96113         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
96114         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
96115         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
96116         utime.m4, utimes.m4, xstrtoumax.m4:
96117         Quote the first argument in each use of AC_DEFUN.
96118
96119 2001-08-12  Jim Meyering  <meyering@lucent.com>
96120
96121         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
96122         Simply `return getcwd (NULL, 0);'.
96123         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
96124         Use 1300 as initial value for length, not PATH_MAX.
96125
96126         * lib/pathmax.h: Clean up cpp syntax.
96127
96128 2001-08-12  Jim Meyering  <meyering@lucent.com>
96129
96130         * lib/gettimeofday.c: New file.
96131         * lib/gtod.h: New file.
96132         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
96133
96134 2001-08-05  Jim Meyering  <meyering@lucent.com>
96135
96136         * m4/jm-macros.m4: Require autoconf-2.52.
96137
96138 2001-08-04  Jim Meyering  <meyering@lucent.com>
96139
96140         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
96141         stmt, to get in sync with glibc.
96142
96143 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96144
96145         The following changes are from gettext 0.10.39 as maintained by
96146         Bruno Haible.
96147
96148         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
96149         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
96150         with inverted sense.  All uses changed.
96151
96152         * lib/mbswidth.c: Don't include <limits.h>.
96153         Include <stdlib.h> and <string.h> unconditionally.
96154         (iswcntrl, mbsinit, ISCNTRL): New macros.
96155         (mbsnwidth): Use K&R style function declarations.
96156         Don't bother checking for MB_LEN_MAX == 1, since the compiler
96157         can optimize it when MB_CUR_MAX == 1.
96158         The width of control characters is zero, not 1.
96159
96160 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96161
96162         The following changes are from gettext 0.10.39 as maintained by
96163         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
96164
96165         * m4/codeset.m4: Upgrade to serial AM1.
96166         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
96167         all uses changed.  Quote first arg of AC_DEFUN.
96168         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
96169
96170         * m4/iconv.m4: Upgrade to serial AM2.
96171         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
96172         Add --with-libconv-prefix.
96173         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
96174         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
96175         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
96176         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
96177         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
96178
96179         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
96180         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
96181         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
96182         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
96183         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
96184         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
96185         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
96186         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
96187         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
96188
96189         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
96190         string.h any more.
96191
96192         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
96193         not the default value.
96194
96195         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
96196         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
96197         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
96198         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
96199         Also check for iswcntrl, used for wcwidth fallback.
96200         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
96201         to Autoconf 2.13.
96202
96203 2001-08-03  Jim Meyering  <meyering@lucent.com>
96204
96205         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
96206         as it was in the original.  Reported by Paul Eggert.
96207
96208 2001-07-16  Jim Meyering  <meyering@lucent.com>
96209
96210         * m4/gettimeofday.m4: New file.
96211         Prompted by a report from Bernhard Baehr.
96212
96213 2001-07-15  Jim Meyering  <meyering@lucent.com>
96214
96215         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
96216         stuff. Now it's in ../Makefile.cfg.
96217
96218 2001-07-15  Jim Meyering  <meyering@lucent.com>
96219
96220         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
96221         (BUILT_SOURCES): Add unlocked-io.h.
96222         (io_functions): Define.
96223         (unlocked-io.h): New rule.
96224         (DISTCLEANFILES): Add unlocked-io.h.
96225         (all-local): Depend on unlocked-io.h, to ensure it is created.
96226
96227         * lib/unlocked-io.hin: New file
96228
96229         * lib/regex.c: Update from glibc.
96230
96231 2001-07-05  Jim Meyering  <meyering@lucent.com>
96232
96233         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
96234         recommendation.
96235         (libfetish_a_SOURCES): Put all .h files here instead.
96236         Remove a thus-exposed (better checks in automake) duplicate and
96237         two unnecessary .h files.
96238
96239 2001-07-04  Jim Meyering  <meyering@lucent.com>
96240
96241         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
96242         that generates jm-glibc-io.m4 so that it doesn't trigger any make
96243         distcheck failure.
96244
96245 2001-07-02  Jim Meyering  <meyering@lucent.com>
96246
96247         The following changes were prompted by suggestions from Bruno Haible.
96248
96249         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
96250         is now generated.
96251         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
96252         definition of EXTRA_DIST.
96253         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
96254         ensure that the generated file is created/updated whenever the list
96255         of $(unlocked_functions) is changed.
96256         (jm-glibc-io.m4): New rule.
96257         (unlocked-io.h): New rule -- currently unused.
96258
96259 2001-06-24  Jim Meyering  <meyering@lucent.com>
96260
96261         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
96262         unmatched right bracket, rather than kludging it with an extra,
96263         falsely-matching quote in a comment.  Patch by Akim Demaille.
96264
96265 2001-06-11  Jim Meyering  <meyering@lucent.com>
96266
96267         * lib/regex.c: Update from GNU libc.
96268
96269 2001-05-27  Jim Meyering  <meyering@lucent.com>
96270
96271         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
96272         Check for ut_type in struct utmp.
96273
96274 2001-05-27  Jim Meyering  <meyering@lucent.com>
96275
96276         * lib/readutmp.h (UT_TYPE): Define.
96277
96278 2001-05-24  Jim Meyering  <meyering@lucent.com>
96279
96280         * lib/argmatch.c: Include "quote.h".
96281         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
96282         quote function.  Reported by Göran Uddeborg.
96283
96284 2001-05-22  Jim Meyering  <meyering@lucent.com>
96285
96286         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
96287         now that we use the package-supplied version unconditionally.
96288         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
96289
96290 2001-05-21  Jim Meyering  <meyering@lucent.com>
96291
96292         * m4/regex.m4: Change a couple backticks to single quotes to avoid
96293         shell syntax errors.
96294
96295 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96296
96297         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
96298
96299 2001-05-20  Paul Eggert  <eggert@twinsun.com>
96300
96301         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
96302         Don't bother to check library strftime, since
96303         we'll be using our own my_strftime function anyway.
96304         Define my_strftime instead of strftime.
96305
96306 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
96307
96308         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
96309         which is not yet declared.
96310
96311 2001-05-15  Jim Meyering  <meyering@lucent.com>
96312
96313         * m4/regex.m4: Use proper quoting so brackets appear in the test
96314         program.
96315         Reported by, and with help from, Bruno Haible.
96316
96317 2001-05-13  Jim Meyering  <meyering@lucent.com>
96318
96319         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
96320         undefined.
96321
96322 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96323
96324         dirname code cleanup.  base_name now behaves more compatibly
96325         with POSIX basename when given file names that have trailing
96326         slashes, and similarly for dir_name.  Add new primitives
96327         base_len and dir_len.  Put the directory-name-related decls
96328         into dirname.h.
96329
96330         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
96331         * lib/backupfile.c (base_name): Likewise.
96332         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
96333         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
96334         * lib/makepath.c (strip_trailing_slashes): Likewise.
96335         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
96336         ISSLASH): Likewise.
96337         * lib/rename.c (strip_trailing_slashes): Likewise.
96338         * lib/same.c (base_name): Likewise.
96339         * lib/stripslash.c (ISSLASH): Likewise.
96340
96341         * lib/addext.c: Include <dirname.h> after size_t is defined.
96342         * lib/backupfile.c: Likewise.
96343
96344         * lib/addext.c (addext): Use base_len to trim redundant
96345         trailing slashes instead of doing it ourselves.
96346         But do not trim the last slash if it is not redundant.
96347
96348         * lib/backupfile.c (find_backup_file_name,
96349         max_backup_version): Use base_len instead of rolling it ourselves.
96350         Handle the case of "" and (on DOS) "C:" correctly.
96351
96352         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
96353         needed. Include <string.h>, <dirname.h>.
96354         (base_name): Allow file names ending in slashes, other than names
96355         that are all slashes.  In this case, return the basename followed
96356         by the slashes.  This is more general, and can be used in places
96357         where the original base_name purposely had an assertion failure.
96358         (base_len): New function.
96359
96360         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
96361         Do not include <assert.h>; no longer needed.
96362         Include xalloc.h.
96363         (memrchr): Remove decl.
96364         (dir_name_r): Remove.
96365         (dir_len): Renamed from dirlen.  All callers changed.
96366         Rewrite in terms of base_name, for simplicity and consistency.
96367         (dir_name): Never return NULL.  All callers changed.
96368         Do not include <stdlib.h> in test program; no longer needed.
96369         return 0; is fine for test program.
96370
96371         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
96372         New macros.
96373         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
96374
96375         * lib/path-concat.c (path_concat): Use base_len to compute
96376         base length, not strlen; this means we cannot rely on memcpy
96377         to null-terminate.
96378
96379         * lib/same.c (STREQ): Remove.
96380         (same_name): Handle the case where the basename ends in trailing '/'.
96381
96382         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
96383         a slash was stripped.  Do not strip the last slash after a
96384         file system prefix.
96385
96386 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96387
96388         * lib/Makefile.am (libfetish_a_SOURCES):
96389         Add strftime.c, since we now compile it on all hosts.
96390
96391         * lib/strftime.c (my_strftime):
96392         Define to nstrftime if emacs, but only if my_strftime is not defined.
96393         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
96394         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
96395         Add one more extra argument: a nanoseconds value.
96396         All uses changed.
96397         (ns): New macro.
96398         (my_strftime function): Add %N format.
96399         (emacs_strftimeu): Renamed from emacs_strftime,
96400         with extra ut argument.
96401
96402 2001-05-09  Paul Eggert  <eggert@twinsun.com>
96403
96404         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
96405
96406 2001-04-21  Jim Meyering  <meyering@lucent.com>
96407
96408         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
96409         doesn't interfere.
96410
96411 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96412
96413         * m4/ftruncate.m4: Check for chsize.
96414         Link with ftruncate.o unconditionally if ftruncate is missing.
96415         This was required when cross-compiling to i586-mingw32msvc.
96416
96417 2001-04-08  Jim Meyering  <meyering@lucent.com>
96418
96419         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
96420         recomputed; that's necessary when the offset spans a DST transition.
96421         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
96422
96423 2001-04-02  Jim Meyering  <meyering@lucent.com>
96424
96425         * lib/regex.h, regex.c: Update from GNU libc.
96426
96427 2001-03-24  Jim Meyering  <meyering@lucent.com>
96428
96429         * m4/jm-macros.m4: Require autoconf-2.49d.
96430
96431 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
96432
96433         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
96434
96435 2001-03-19  Paul Eggert  <eggert@twinsun.com>
96436
96437         * lib/version-etc.c (version_etc_copyright): Update to 2001.
96438
96439 2001-03-17  Jim Meyering  <meyering@lucent.com>
96440
96441         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
96442         now that the version in autoconf is equivalent.
96443         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
96444
96445         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
96446         Suggestion from Akim Demaille.
96447
96448         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
96449         (jm_PREREQ_TEMPNAME): New function.
96450
96451 2001-03-16  Paul Eggert  <eggert@twinsun.com>
96452
96453         * lib/tempname.c (uint64_t): Define to uintmax_t if
96454         not defined, and if UINT64_MAX is not defined.
96455         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
96456         Reported by John David Anglin.
96457
96458 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
96459
96460         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
96461         resolve alias if codeset is empty.
96462         * lib/config.charset (BeOS): Use wildcard syntax.
96463
96464 2001-03-13  Jim Meyering  <meyering@lucent.com>
96465
96466         * lib/path-concat.c (path_concat)
96467         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
96468         concatenating e.g., `C:' and `foo'.
96469         From Bruno Haible.
96470
96471 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
96472
96473         * lib/localcharset.c (locale_charset): Don't use
96474         setlocale(LC_CTYPE,NULL). Don't return NULL.
96475         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
96476
96477 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
96478
96479         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
96480         support for DOS/DJGPP.
96481
96482 2001-03-01  Paul Eggert  <eggert@twinsun.com>
96483
96484         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
96485         lacks mkstemp.  Compile our own tempname.c if we compile our own
96486         mkstemp.c, as mkstemp relies on tempname.
96487
96488 2001-03-01  Jim Meyering  <meyering@lucent.com>
96489
96490         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
96491         AH_VERBATIM really does output its argument verbatim.
96492
96493 2001-02-28  Paul Eggert  <eggert@twinsun.com>
96494
96495         * lib/Makefile.am (libfetish_a_SOURCES):
96496         Add dup-safer.c, fopen-safer.c.
96497         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
96498
96499         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
96500         * lib/unistd-safer.h: New files.
96501
96502 2001-02-25  Paul Eggert  <eggert@twinsun.com>
96503
96504         The mkstemp replacement is taken from glibc 2.2.2, with some
96505         portability fixes for use outside glibc, as follows:
96506
96507         * lib/tempname.c (struct_stat64): New macro.
96508         (direxists, __gen_tempname): Use it.
96509         This avoids a portability problem with Solaris 8.
96510
96511         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
96512         (<stddef.h>, <stdint.h>, <string.h>):
96513         Include only if STDC_HEADERS || _LIBC.
96514         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
96515         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
96516         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
96517         (__set_errno): Define this macro if <errno.h> doesn't.
96518         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
96519         Define these macros if <stdio.h> doesn't.
96520         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
96521         Define these macros if <sys/stat.h>
96522         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
96523         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
96524         __xstat64): Define if not _LIBC.
96525         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
96526         (__gen_tempname): Invoke gettimeofday only if
96527         HAVE_GETTIMEOFDAY || _LIBC;
96528         otherwise, fall back on plain "time".
96529         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
96530
96531         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
96532
96533         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
96534
96535 2001-02-18  Paul Eggert  <eggert@twinsun.com>
96536
96537         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
96538
96539 2001-02-17  Paul Eggert  <eggert@twinsun.com>
96540
96541         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
96542         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
96543         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
96544         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
96545
96546 2001-02-17  Paul Eggert  <eggert@twinsun.com>
96547
96548         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
96549         Remove workaround macros for hosts that have mbrtowc but not
96550         mbstate_t, as we now insist on proper declarations for both
96551         before using mbrtowc.
96552
96553 2001-02-17  Jim Meyering  <meyering@lucent.com>
96554
96555         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
96556         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
96557         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
96558         UnixWare 7.1.1.
96559
96560         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
96561         rather than AC_CACHE_VAL.
96562
96563 2001-02-17  Jim Meyering  <meyering@lucent.com>
96564
96565         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
96566         around included file name.
96567
96568         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
96569
96570         * lib/strftime.c: Update from GNU libc (the only changes were to
96571         comments).
96572
96573 2001-02-17  Jim Meyering  <meyering@lucent.com>
96574
96575         * lib/regex.c: Update from libc.
96576
96577 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
96578
96579         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
96580         clash.
96581
96582 2001-02-16  Paul Eggert  <eggert@twinsun.com>
96583
96584         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
96585         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
96586         Reported by Mark Hounschell via Paul Eggert.
96587
96588 2001-02-07  Jim Meyering  <meyering@lucent.com>
96589
96590         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
96591
96592 2001-02-05  Jim Meyering  <meyering@lucent.com>
96593
96594         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
96595         it includes the patch required for `large file' support with at least
96596         HP-UX's 10.20 /bin/cc.
96597
96598 2001-02-03  Jim Meyering  <meyering@lucent.com>
96599
96600         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
96601         AS_IF, now that it works once again (mysteriously).
96602         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
96603
96604 2001-01-30  Jim Meyering  <meyering@lucent.com>
96605
96606         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
96607         * m4/chown.m4: Rename conftestchown to conftest.chown.
96608         * m4/rename.m4: s/conftestdir/conftest.d1/ and
96609         s/conftestdir2/conftest.d2/.
96610         * m4/utimes.m4: s/conftestdata/conftest.data/
96611         Inspired by Pavel Roskin's change in autoconf.
96612
96613 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
96614
96615         * lib/config.charset: Update for FreeBSD 4.2.
96616
96617 2001-01-27  Jim Meyering  <meyering@lucent.com>
96618
96619         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
96620         a use of AS_IF.
96621         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
96622
96623 2001-01-26  Jim Meyering  <meyering@lucent.com>
96624
96625         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
96626         quotearg.c includes it.
96627
96628 2001-01-26  Jim Meyering  <meyering@lucent.com>
96629
96630         * lib/quotearg.c: Include stddef.h.
96631         * lib/quote.c: Include stddef.h.
96632         Reported by Axel Kittenberger.
96633
96634         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
96635         line in double quotes so that it evokes a better diagnostic.
96636         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
96637         Reported by Axel Kittenberger.
96638
96639 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
96640
96641         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
96642         as if it was a `charset'.
96643
96644 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
96645
96646         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
96647         has const.
96648
96649 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
96650
96651         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
96652         to avoid a warning.  Add back 'const' to inptr.
96653
96654 2001-01-20  Jim Meyering  <meyering@lucent.com>
96655
96656         Be sure that headers are checked before used in code compiled
96657         for the type checks.
96658         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
96659         In place of that, invoke jm_CHECK_ALL_TYPES.
96660         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
96661         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
96662         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
96663         The check for ssize_t was mistakenly run before the test for unistd.h.
96664
96665         The configure-time check for stdbool.h was missing.
96666         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
96667         (jm_PREREQ_HASH): New function.
96668
96669 2001-01-17  Jim Meyering  <meyering@lucent.com>
96670
96671         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
96672         for autoconf-2.49c.
96673         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
96674
96675 2001-01-16  Jim Meyering  <meyering@lucent.com>
96676
96677         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
96678         From Bruno Haible.
96679
96680 2001-01-14  Jim Meyering  <meyering@lucent.com>
96681
96682         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
96683         foo and bar.  Create conftestdir/ in the script, not in the C code.
96684         Remove directories in the script, not in the C code.
96685         Remove conftestdir{,2} before trying to create the directory.
96686         Make the entire configure script fail if the mkdir fails.
96687
96688 2001-01-14  Jim Meyering  <meyering@lucent.com>
96689
96690         * lib/rename.c: New file.  From Volker Borchert.
96691         Include stdlib.h, string.h or strings.h, and xalloc.h.
96692         Use strip_trailing_slashes rather than open-coding it.
96693
96694 2001-01-03  Paul Eggert  <eggert@twinsun.com>
96695
96696         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
96697
96698 2001-01-03  Jim Meyering  <meyering@lucent.com>
96699
96700         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
96701         of local `inptr' to avoid warning with some system declarations of
96702         iconv.
96703
96704 2001-01-02  Volker Borchert  <bt@teknon.de>
96705
96706         * m4/rename.m4: New file.
96707         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
96708
96709 2001-01-01  Jim Meyering  <meyering@lucent.com>
96710
96711         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
96712         even on systems with utmpx.h.  It's necessary for the declaration of
96713         utmp's ut_user member.  Reported by Andreas Jaeger.
96714
96715         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
96716         available. They are required for the declarations of getgrgid and
96717         getpwuid resp.
96718         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
96719         Reported by Andreas Jaeger.
96720
96721 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
96722
96723         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
96724         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
96725         so `make install' also works in VPATH builds.
96726
96727 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
96728
96729         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
96730         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
96731         can be used in subdirectories.
96732
96733 2000-12-29  Paul Eggert  <eggert@twinsun.com>
96734
96735         * lib/modechange.c: Do not assume that mode_t uses the
96736         traditional octal encoding.  E.g. "chmod 1 FOO" should set
96737         the other-execute bit of FOO even if S_IXOTH != 1.
96738
96739         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
96740         WOTH, XOTH, ALLM): New macros.
96741         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
96742          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
96743         Use them.
96744         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
96745         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
96746         (mode_compile):
96747         No need to use uintmax_t; unsigned long is long enough.
96748         Don't bother to get suffix since we don't use it.
96749
96750 2000-12-26  Jim Meyering  <meyering@lucent.com>
96751
96752         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
96753         better with autoheader.
96754
96755 2000-12-24  Jim Meyering  <meyering@lucent.com>
96756
96757         * lib/hash.c (is_prime): Return explicit boolean values.
96758         (hash_get_first): Return NULL to appease Irix5.6's 89.
96759         Reported by Nelson Beebe.
96760
96761 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
96762
96763         * lib/localcharset.c (locale_charset): Add support for Win32.
96764
96765 2000-12-18  Paul Eggert  <eggert@twinsun.com>
96766
96767         * lib/physmem.h, lib/physmem.c: New files.
96768
96769         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
96770         (noinst_HEADERS): Add physmem.h.
96771
96772         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
96773         't' for compatibility with Solaris 8 sort.
96774
96775 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
96776
96777         * lib/config.charset: Add support for BeOS.
96778
96779 2000-12-17  Jim Meyering  <meyering@lucent.com>
96780
96781         * m4/dos.m4 (jm_AC_DOS): New file and macro.
96782         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
96783
96784 2000-12-16  Jim Meyering  <meyering@lucent.com>
96785
96786         This bug had a serious impact on chown: `chown N:M FILE' (for integer
96787         N and M) would have treated it like `chown N:N FILE'.
96788
96789         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
96790
96791 2000-12-16  Jim Meyering  <meyering@lucent.com>
96792
96793         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
96794         SHELLS_FILE to a file name that's useful on djgpp systems.
96795         Include stdlib.h.
96796         (ADDITIONAL_DEFAULT_SHELLS): Define.
96797         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
96798         Based mostly on a patch from Prashant TR.
96799
96800 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
96801
96802         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
96803         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
96804         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
96805
96806 2000-12-08  Andreas Schwab  <schwab@suse.de>
96807
96808         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
96809         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
96810
96811 2000-12-07  Jim Meyering  <meyering@lucent.com>
96812
96813         * lib/stripslash.c (ISSLASH): Define.
96814         (strip_trailing_slashes): Use ISSLASH rather than comparing against
96815         `/'.
96816         From Prashant TR.
96817
96818         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
96819         (dir_name_r): Declare this function as static.
96820         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
96821         manifest itself on a name containing a mix of slashes and
96822         backslashes.
96823         Make this function work with names starting with a DOS-style
96824         drive letter and colon prefix.
96825         (dir_name): Append `.' if necessary.
96826         Based mostly on patches from Prashant TR and Eli Zaretskii.
96827
96828         * lib/dirname.h (dir_name_r): Remove prototype.
96829
96830 2000-12-06  Paul Eggert  <eggert@twinsun.com>
96831
96832         * m4/off_t-format.m4: Remove this file.
96833         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
96834
96835 2000-12-06  Jim Meyering  <meyering@lucent.com>
96836
96837         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
96838         replacement strtoull, we may well need the replacement strtoul, too.
96839         Check for declarations of strtoul and strtoull.
96840         Check for strtol.  Mainly as a cue to cause automake to include
96841         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
96842         Check for limits.h -- strtol.c needs it.
96843
96844 2000-12-05  Jim Meyering  <meyering@lucent.com>
96845
96846         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
96847
96848 2000-12-04  Jim Meyering  <meyering@lucent.com>
96849
96850         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
96851         Also include memory.h, stdlib.h, unistd.h if appropriate.
96852         Reported by Andreas Jaeger (conflicting declaration of malloc).
96853
96854 2000-12-02  Jim Meyering  <meyering@lucent.com>
96855
96856         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
96857         * m4/jm-macros.m4 (jm_MACROS): require it.
96858
96859 2000-12-02  Jim Meyering  <meyering@lucent.com>
96860
96861         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
96862
96863 2000-12-01  Paul Eggert  <eggert@twinsun.com>
96864
96865         * lib/memrchr.c: Include <config.h> before any system include file.
96866
96867 2000-11-30  Jim Meyering  <meyering@lucent.com>
96868
96869         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
96870
96871 2000-11-30  Jim Meyering  <meyering@lucent.com>
96872
96873         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
96874
96875 2000-11-29  Paul Eggert  <eggert@twinsun.com>
96876
96877         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
96878
96879 2000-11-26  Jim Meyering  <meyering@lucent.com>
96880
96881         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
96882
96883 2000-11-22  Paul Eggert  <eggert@twinsun.com>
96884
96885         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
96886         size of (size_t) -1; it's not portable.
96887
96888 2000-11-17  Jim Meyering  <meyering@lucent.com>
96889
96890         * lib/strstr.c: Update from GNU libc.
96891
96892 2000-11-17  Akim Demaille  <akim@epita.fr>
96893
96894         * lib/obstack.h: Formatting changes.
96895         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
96896         prevent type checking.
96897         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
96898         cast the value to (void *): assigning a `foo *' to a `void *'
96899         variable is valid.
96900         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
96901
96902 2000-11-16  Jim Meyering  <meyering@lucent.com>
96903
96904         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
96905
96906 2000-11-11  Jim Meyering  <meyering@lucent.com>
96907
96908         * lib/error.c: Add a couple #includes, merging from GNU libc version.
96909
96910 2000-11-10  Jim Meyering  <meyering@lucent.com>
96911
96912         * lib/obstack.h: Update from GNU libc.
96913         * lib/obstack.c: Likewise.
96914
96915 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
96916
96917         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
96918
96919 2000-11-06  Paul Eggert  <eggert@twinsun.com>
96920
96921         * lib/getusershell.c (setusershell): Use rewind rather than
96922         fseek/fseeko, to avoid configuration hassles with fseeko.
96923         Don't bother opening SHELLS_FILE if shellstream is NULL;
96924         it's not necessary.
96925
96926 2000-11-05  Jim Meyering  <meyering@lucent.com>
96927
96928         * lib/makepath.h (make_dir): Declare.
96929         * lib/makepath.c (make_dir): Remove `static' attribute.
96930         Tweak a comment.
96931
96932 2000-11-04  Jim Meyering  <meyering@lucent.com>
96933
96934         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
96935
96936 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
96937
96938         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
96939         last one in a bucket, advance to the next bucket.
96940
96941 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
96942
96943         * lib/fnmatch.c: Do not comment out all the code if we are using
96944         the GNU C library, because in some cases we are replacing buggy
96945         code in the GNU C library itself.
96946
96947 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
96948
96949         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
96950         (regex_compile): Catch bogus \(\1\).
96951
96952 2000-10-30  Paul Eggert  <eggert@twinsun.com>
96953
96954         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
96955         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
96956         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
96957
96958 2000-10-30  Paul Eggert  <eggert@twinsun.com>
96959
96960         * lib/error.h, getline.h, modechange.h:
96961         Remove "2000" from Copyright line, as the file hasn't been
96962         changed this year other than in the copyright notice.
96963
96964         * lib/xalloc.h: Add "2000" to Copyright line, as this file
96965         was changed this year.
96966
96967 2000-10-29  Jim Meyering  <meyering@lucent.com>
96968
96969         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
96970         renaming.
96971         * m4/ls-mntd-fs.m4: Likewise
96972
96973 2000-10-29  Jim Meyering  <meyering@lucent.com>
96974
96975         * lib/xstat.in: Fix grammar in comment.
96976
96977 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
96978
96979         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
96980         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
96981         doesn't define __restrict_arr.
96982
96983 2000-10-28  Jim Meyering  <meyering@lucent.com>
96984
96985         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
96986         (jm_PREREQ_MEMCHR): New function.
96987
96988 2000-10-28  Jim Meyering  <meyering@lucent.com>
96989
96990         * lib/memchr.c: Update from libc.
96991         Adjust for portability:
96992         [HAVE_STDLIB_H]: Include stdlib.h.
96993         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
96994         Undef __memchr, too.
96995         [!weak_alias]: Define __memchr to memchr.
96996
96997         * lib/regex.c: Update from libc.
96998         * lib/regex.h: Likewise.
96999         * lib/getopt1.c: Likewise.
97000         * lib/memcmp.c: Likewise.
97001
97002         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
97003         Avoid using fseek, when possible -- it's broken by design.
97004         Patch by Ulrich Drepper.
97005
97006 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
97007
97008         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
97009         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
97010         Giving in to popular pressure to shut up the compiler with casts.
97011
97012 2000-10-26  Jim Meyering  <meyering@lucent.com>
97013
97014         * lib/strftime.c: Update from libc.
97015
97016 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
97017
97018         * regex.c: More `unsigned char' -> `re_char' changes.
97019         Also change several `int' into `re_wchar_t'.
97020         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
97021         (PUSH_FAILURE_POINTER): Don't cast any more.
97022         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
97023         We want GCC to complain, since this piece of code makes
97024         re_match non-reentrant, which *should* be fixed.
97025         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
97026         (EXTEND_BUFFER): Use RETALLOC.
97027         (SET_LIST_BIT): Don't cast.
97028         (re_wchar_t): New type.
97029         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
97030         that those two functions will always properly return.
97031         (IMMEDIATE_QUIT_CHECK): Cast to void.
97032         (analyse_first): Use recursion rather than an explicit stack.
97033         (re_compile_fastmap): Can't fail anymore.
97034         (re_search_2): Don't check re_compile_fastmap for failure.
97035         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
97036         Now also sets the new value (passed in a new argument).
97037         (re_match_2_internal): Use it.
97038         Also, use a new var `reg' of type size_t when looping through regs
97039         rather than reuse the inappropriate `mcnt'.
97040
97041 2000-10-25  Jim Meyering  <meyering@lucent.com>
97042
97043         * lib/obstack.c: Update from libc.
97044
97045 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
97046
97047         * regex.c (regex_compile): Change the way of handling a range from
97048         a char less than 256 to a char not less than 256.
97049
97050 2000-10-24  Andrew Innes  <andrewi@gnu.org>
97051
97052         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
97053         NT-Emacs only.
97054         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
97055         so that re_search functions only quit when callers expect them to.
97056
97057 2000-10-23  Jim Meyering  <meyering@lucent.com>
97058
97059         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
97060         wrong.  That set_locale call must not have any side effects.
97061         From Paul Eggert.
97062
97063 2000-10-22  Jim Meyering  <meyering@lucent.com>
97064
97065         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
97066         [CYCLIC]: Remove now-unused definition.
97067
97068         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
97069         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
97070         Suggestion from Ulrich Drepper.
97071
97072 2000-10-21  Jim Meyering  <meyering@lucent.com>
97073
97074         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
97075         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
97076         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
97077
97078 2000-10-21  Jim Meyering  <meyering@lucent.com>
97079
97080         * lib/dirname.c (memrchr): Declare if necessary.
97081         (dir_name): Remove the restriction that there be no
97082         trailing slashes.  Now, this code skips past them, effectively
97083         ignoring them.
97084         [TEST_DIRNAME] (main): New unit tests.
97085
97086         * lib/memrchr.c: New file from GNU libc.
97087         Undef __memrchr, too.
97088         [!weak_alias]: Define __memrchr to memrchr.
97089         Guard weak_alias use with `#ifdef weak_alias'.
97090
97091 2000-10-21  Jim Meyering  <meyering@lucent.com>
97092
97093         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
97094         (dir_name): Use dir_name_r.
97095         * lib/dirname.h (dir_name_r): Declare it.
97096
97097 2000-10-17  Jim Meyering  <meyering@lucent.com>
97098
97099         * lib/quote.h (PARAMS): Define and use.
97100         Reported by Akim Demaille.
97101
97102         * lib/getopt.c: Update from libc.
97103
97104 2000-10-16  Jim Meyering  <meyering@lucent.com>
97105
97106         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
97107         setlocale.
97108         From Jan Fedak.
97109
97110 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
97111
97112         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
97113
97114 2000-09-25  Jim Meyering  <meyering@lucent.com>
97115
97116         * lib/md5.h (rol): Define (from GnuPG).
97117
97118         * lib/sha.c: Give credit (GnuPG) where due.
97119         (M): Use rol rather than open-coding it.
97120         Add a FIXME comment.
97121
97122 2000-09-21  Jim Meyering  <meyering@lucent.com>
97123
97124         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
97125         Reported by Michael Stone.
97126
97127 2000-09-20  Jim Meyering  <meyering@lucent.com>
97128
97129         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
97130         (noinst_HEADERS): Add sha.h.
97131         Based on code from Scott G. Miller and from GnuPG.
97132
97133 2000-09-18  Jim Meyering  <meyering@lucent.com>
97134
97135         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
97136         LIBS. Otherwise, everyone ends up linking with -lelf for some
97137         configurations.
97138         Reported by Mike Stone.
97139
97140 2000-09-15  Jim Meyering  <meyering@lucent.com>
97141
97142         * lib/regex.c: Update from libc.
97143
97144 2000-09-10  Jim Meyering  <meyering@lucent.com>
97145
97146         * lib/getopt.c (_getopt_internal): Update from glibc.
97147
97148 2000-09-09  Jim Meyering  <meyering@lucent.com>
97149
97150         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
97151         think it should be used as a general replacement for isascii.
97152         * lib/fnmatch.c: Likewise.
97153         * lib/mbswidth.c: Likewise
97154         * lib/regex.c: Likewise.
97155
97156         Don't use atoi.
97157         * lib/userspec.c: Include sys/param.h and limits.h.
97158         Include xstrtol.h.
97159         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
97160         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
97161         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
97162         UID, GID.  Check range.
97163
97164 2000-09-06  Jim Meyering  <meyering@lucent.com>
97165
97166         * lib/getopt.c (_getopt_internal): Update from glibc.
97167
97168 2000-08-30  Jim Meyering  <meyering@lucent.com>
97169
97170         * lib/strftime.c: Merge in changes from GNU libc.
97171
97172 2000-08-26  Jim Meyering  <meyering@lucent.com>
97173
97174         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
97175         * m4/fpending.m4: New file.
97176
97177 2000-08-26  Jim Meyering  <meyering@lucent.com>
97178
97179         * lib/closeout.c: Include "__fpending.h".
97180         (close_stdout_status): Return right away if there's nothing to flush.
97181
97182         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
97183         * lib/__fpending.c: New file.
97184         * lib/__fpending.h: New file.
97185
97186 2000-08-20  Jim Meyering  <meyering@lucent.com>
97187
97188         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
97189         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
97190         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
97191
97192 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
97193
97194         Improve fileutils installation on systems where running
97195         programs (like install) can't be unlinked.
97196         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
97197         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
97198
97199 2000-08-07  Paul Eggert  <eggert@twinsun.com>
97200
97201         Standardize on "memory exhausted" instead of "Memory exhausted"
97202         or "virtual memory exhausted".
97203         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
97204         "virtual memory exhausted".
97205         * lib/same.c (same_name): Invoke xalloc_die instead of printing
97206         our own message.
97207         * lib/userspec.c (parse_user_spec): Likewise.
97208         * lib/bumpalloc.h: comment fix
97209         * lib/same.c, userspec.c: Include xalloc.h.
97210
97211         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
97212         not char *const and pointing to a constant array.
97213         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
97214         (xrealloc): Comment fix.
97215
97216         * lib/userspec.c (parse_user_spec):
97217         Don't translate a message until just before returning,
97218         to avoid unnecessary translation.
97219
97220 2000-08-07  Jim Meyering  <meyering@lucent.com>
97221
97222         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
97223         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
97224         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
97225         getgroups.c, gethostname.c, getopt.h, group-member.c,
97226         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
97227         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
97228         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
97229         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
97230         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
97231         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
97232         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
97233         yesno.c: Back out Copyright date changes for each file with no change
97234         this year.  This eases coordination with other programs using the same
97235         source code modules.  From Paul Eggert.
97236
97237 2000-08-06  Paul Eggert  <eggert@twinsun.com>
97238
97239         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
97240         not char, for compatibility with glibc 2.1.3 strftime.c.
97241
97242 2000-08-03  Greg McGary  <greg@mcgary.org>
97243
97244         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
97245         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
97246         (EXTEND_BUFFER): Use them.
97247
97248 2000-08-01  Jim Meyering  <meyering@lucent.com>
97249
97250         * lib/dirname.c (ISSLASH): Define.
97251         (BACKSLASH_IS_PATH_SEPARATOR): Define.
97252         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
97253         both `\' and `/' may be use as path separators.
97254         Based on a patch from Prashant TR.
97255
97256 2000-07-31  Paul Eggert  <eggert@twinsun.com>
97257
97258         * lib/quotearg.c (quotearg_n_options): Don't make the initial
97259         slot vector a constant, since it might get modified.
97260
97261 2000-07-31  Jim Meyering  <meyering@lucent.com>
97262
97263         * lib/xmalloc.c: Use `virtual memory exhausted', not
97264         `Memory exhausted'.
97265         * lib/obstack.c (print_and_abort): Likewise.
97266
97267 2000-07-30  Paul Eggert  <eggert@twinsun.com>
97268
97269         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
97270         buffer, so that the caller can always quote one small
97271         component of a "memory exhausted" message in slot 0.
97272         From a suggestion by Jim Meyering.
97273
97274 2000-07-30  Jim Meyering  <meyering@lucent.com>
97275
97276         * lib/makepath.c (make_path): Quote the other instance, too.
97277
97278         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
97279         (STATIC_BUF_SIZE): Define.
97280         (quotearg_n_options): Use only statically allocated storage when
97281         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
97282         than STATIC_BUF_SIZE.
97283
97284 2000-07-29  Jim Meyering  <meyering@lucent.com>
97285
97286         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
97287         * lib/dirname.c (dir_name): Likewise.
97288
97289         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
97290         `/'.
97291
97292         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
97293         (dir_name): Assert that there are no trailing slashes.
97294
97295 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
97296
97297         * lib/mbswidth.h (mbswidth): Add a flags argument.
97298         (mbswidth): New declaration.
97299         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
97300         * lib/mbswidth.c (mbswidth): Add a flags argument.
97301         (mbsnwidth): New function.
97302
97303 2000-07-24  Jim Meyering  <meyering@lucent.com>
97304
97305         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
97306
97307 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97308
97309         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
97310
97311 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97312
97313         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
97314         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
97315         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
97316         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
97317         invoke multibyte primitives.
97318
97319 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97320
97321         * lib/quotearg.c:
97322         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
97323         so that mbstate_t is always defined.
97324
97325         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
97326         be 1 in at least one GCC installation, and this configuration
97327         error is likely to be common.  Ignoring MB_LEN_MAX hurts
97328         performance on hosts that have mbrtowc but have only unibyte
97329         locales, but I assume these hosts are rare.
97330
97331 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97332
97333         * lib/mbswidth.c (_XOPEN_SOURCE):
97334         Don't define; this causes problems on Solaris 7.
97335         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
97336
97337 2000-07-23  Jim Meyering  <meyering@lucent.com>
97338
97339         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
97340         too: getgrgid, getpwuid, getuid.
97341
97342 2000-07-23  Jim Meyering  <meyering@lucent.com>
97343
97344         * lib/basename.c (base_name): Add an assertion.
97345
97346 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
97347
97348         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
97349         shadow its mbsinit function.
97350
97351 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97352
97353         * lib/mbswidth.h: New file.
97354         * lib/mbswidth.c: New file.
97355         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
97356         (noinst_HEADERS): Add mbswidth.h.
97357
97358 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97359
97360         * lib/config.charset: Add support for FreeBSD. Improve support for
97361         HP-UX and IRIX 6.
97362
97363 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
97364
97365         * m4/mbswidth.m4: New file.
97366         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
97367
97368 2000-07-15  Jim Meyering  <meyering@lucent.com>
97369
97370         * lib/makepath.c: Include quote.h.
97371         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
97372         corresponding argument in a `quote (...)' call.
97373         Give better diagnostics.
97374
97375         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
97376         (noinst_HEADERS): Add quote.h.
97377
97378         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
97379         from tar's src/misc.c.
97380         * lib/quote.h: New file.  Prototypes for same.
97381
97382 2000-07-14  Paul Eggert  <eggert@twinsun.com>
97383
97384         From a suggestion by Bruno Haible.
97385         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
97386         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
97387         to decide whether to define the BeOS workaround macro;
97388         this adjusts to the change to AC_MBSTATE_T.
97389
97390 2000-07-14  Jim Meyering  <meyering@lucent.com>
97391
97392         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
97393         jm_AC_TYPE_UINTMAX_T.
97394
97395 2000-07-13  Paul Eggert  <eggert@twinsun.com>
97396
97397         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
97398
97399         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
97400         quotearg_buffer_restyled): Add support for
97401         clocale_quoting_style.  Undo previous change to
97402         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
97403         and "{RIGHT QUOTATION MARK}" msgids.
97404
97405 2000-07-10  Paul Eggert  <eggert@twinsun.com>
97406
97407         From a suggestion by Bruno Haible.
97408         * m4/mbstate_t.m4 (AC_MBSTATE_T):
97409         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
97410         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
97411         and mbstate_t, to a single-part test that simply defines mbstate_t.
97412         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
97413         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
97414
97415 2000-07-10  Jim Meyering  <meyering@lucent.com>
97416
97417         * m4/strerror_r.m4: Mirror the correction made in autoconf.
97418
97419         * m4/gnu-source.m4: Output to confdefs.h directly.
97420         Suggestion from Akim Demaille.
97421
97422 2000-07-09  Paul Eggert  <eggert@twinsun.com>
97423
97424         The old behavior of quoting `like this' doesn't look good with
97425         newer, ISO-style fonts.  See:
97426         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
97427
97428         Instead, quote "like this" by default.  Let the translator
97429         tailor the locale-specific quoting behavior by providing
97430         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
97431
97432         * lib/quotearg.c (N_): New macro.
97433         (gettext_default): New function.
97434         (quotearg_buffer_restyled): Use
97435         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
97436         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
97437
97438 2000-07-09  Jim Meyering  <meyering@lucent.com>
97439
97440         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
97441         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
97442
97443         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
97444         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
97445
97446 2000-07-09  Jim Meyering  <meyering@lucent.com>
97447
97448         * lib/Most files: Update copyright dates to include 2000.
97449
97450 2000-07-08  Jim Meyering  <meyering@lucent.com>
97451
97452         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
97453         if not defined.
97454         (xgethostname): Remove now-unnecessary #ifdef.
97455         Move declaration of `err' into loop where it's used.
97456
97457 2000-07-05  Paul Eggert  <eggert@twinsun.com>
97458         and Bruno Haible  <haible@clisp.cons.org>
97459
97460         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
97461         only if the test for an object-type mbstate_t fails.  This
97462         prevents us from mistakenly reporting that mbstate_t is a
97463         system object type after we "#define mbstate_t int" to work
97464         around its lack.
97465
97466 2000-07-05  Paul Eggert  <eggert@twinsun.com>
97467         and Bruno Haible  <haible@clisp.cons.org>
97468
97469         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
97470
97471 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97472
97473         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
97474         to strerror_r.
97475         Include <ctype.h> for use of isalpha.
97476
97477 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97478
97479         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
97480         by allocating a larger buffer. Test the gethostname return value for
97481         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
97482         returns an error and ENAMETOOLONG isn't defined.
97483
97484 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97485
97486         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
97487         dimension.
97488
97489 2000-07-04  Jim Meyering  <meyering@lucent.com>
97490
97491         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
97492         of the deprecated AC_CHECKING.
97493
97494 2000-07-04  Jim Meyering  <meyering@lucent.com>
97495
97496         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
97497         Reported by Bruno Haible.
97498
97499 2000-07-04  Jim Meyering  <meyering@lucent.com>
97500
97501         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
97502         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
97503         lacks mbrtowc.
97504
97505 2000-07-03  Paul Eggert  <eggert@twinsun.com>
97506
97507         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
97508         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
97509
97510 2000-07-03  Paul Eggert  <eggert@twinsun.com>
97511         and Bruno Haible  <haible@clisp.cons.org>
97512
97513         * lib/quotearg.c (mbrtowc):
97514         Assign to *pwc, and return 1 only if result is nonzero.
97515         (iswprint): Use ISPRINT when substituting our own mbrtowc.
97516
97517 2000-07-03  Jim Meyering  <meyering@lucent.com>
97518
97519         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
97520
97521 2000-07-03  Jim Meyering  <meyering@lucent.com>
97522
97523         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
97524         This is necessary to get a definition of e.g., UTMP_FILE on
97525         HP-UX 10.20.
97526         From Bob Proulx.
97527
97528 2000-07-02  Jim Meyering  <meyering@lucent.com>
97529
97530         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
97531
97532         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
97533         AC_LIBOBJ(function_name).
97534         * m4/chown.m4: Likewise.
97535         * m4/fnmatch.m4: Likewise.
97536         * m4/ftruncate.m4: Likewise.
97537         * m4/getgroups.m4: Likewise.
97538         * m4/getline.m4: Likewise.
97539         * m4/group-member.m4: Likewise.
97540         * m4/jm-macros.m4: Likewise.
97541         * m4/lstat.m4: Likewise.
97542         * m4/malloc.m4: Likewise.
97543         * m4/memcmp.m4: Likewise.
97544         * m4/nanosleep.m4: Likewise.
97545         * m4/putenv.m4: Likewise.
97546         * m4/realloc.m4: Likewise.
97547         * m4/regex.m4: Likewise.
97548         * m4/stat.m4: Likewise.
97549         * m4/strftime.m4: Likewise.
97550
97551 2000-07-02  Jim Meyering  <meyering@lucent.com>
97552
97553         * lib/quotearg.c (mbstate_t): Don't define here.
97554
97555 2000-07-02  Jim Meyering  <meyering@lucent.com>
97556
97557         * lib/nanosleep.c (SIGCONT): Define if not already defined.
97558
97559 2000-07-01  Jim Meyering  <meyering@lucent.com>
97560
97561         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
97562
97563 2000-07-01  Jim Meyering  <meyering@lucent.com>
97564
97565         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
97566         problem.
97567
97568 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
97569
97570         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
97571         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
97572
97573 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
97574
97575         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
97576         per change in ../m4/ls-mntd-fs.m4.
97577         (read_filesystem_list): Ignore symbolic links.
97578
97579 2000-06-29  Jim Meyering  <meyering@lucent.com>
97580
97581         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
97582         for declaration of strcmp.
97583
97584         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
97585
97586         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
97587         Avoid warning by casting result to `char *' to remove `const'.
97588
97589 2000-06-28  Jim Meyering  <meyering@lucent.com>
97590
97591         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
97592         included by quotearg.c, for which we perform this test.  From
97593         Bruno Haible.
97594
97595 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
97596
97597         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
97598         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
97599         <utmpx.h> exists, put readutmp.o into LIBOBJS.
97600
97601 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
97602
97603         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
97604
97605 2000-06-26  Paul Eggert  <eggert@twinsun.com>
97606
97607         savedir now sets errno on failure and invokes xmalloc to get memory.
97608         Fix a couple of other minor bugs while we're at it.
97609
97610         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
97611         (NAMLEN): Remove macro.
97612         (malloc, realloc): Remove decls.
97613         (stpcpy): Likewise.
97614         ("xalloc.h"): Include.
97615         (NAME_SIZE_DEFAULT): New macro.
97616         (savedir): Use xmalloc / xrealloc to allocate memory.
97617         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
97618         Skip "" directory entries.
97619         Use strlen to calculate directory entry length, since the old method
97620         is rarely used these days and isn't worth supporting.
97621         Don't use a pointer after freeing it.
97622         Check for integer overflow when calculating allocation size.
97623         Use memcpy to copy entries, instead of stpcpy.
97624         Set errno properly when returning NULL.
97625         Check for readdir error.
97626
97627 2000-06-26  Jim Meyering  <meyering@lucent.com>
97628
97629         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
97630
97631 2000-06-25  Jim Meyering  <meyering@lucent.com>
97632
97633         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
97634         Linux header bug when _XOPEN_SOURCE is defined to 500.
97635
97636 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
97637
97638         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
97639         deficiency.
97640
97641 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
97642
97643         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
97644         Include xalloc.h.
97645         Don't include <stdlib.h>.  Don't declare malloc, realloc.
97646
97647 2000-06-24  Jim Meyering  <meyering@lucent.com>
97648
97649         * m4/strerror_r.m4: Revive this file -- to try out an experimental
97650         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
97651         for which strerror does return char*, but which lacks a conveniently
97652         accessible declaration of the function.  If the compile-test says
97653         strerror_r doesn't work, then resort to a `run'-test that works on
97654         BeOS and segfaults on DEC Unix.
97655
97656 2000-06-24  Jim Meyering  <meyering@lucent.com>
97657
97658         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
97659
97660 2000-06-23  Paul Eggert  <eggert@twinsun.com>
97661
97662         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
97663         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
97664
97665 2000-06-23  Paul Eggert  <eggert@twinsun.com>
97666
97667         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
97668         (mbrtowc, mbstate_t): Define substitutes if
97669         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
97670         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
97671         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
97672
97673 2000-06-23  Jim Meyering  <meyering@lucent.com>
97674
97675         * m4/afs.m4: Add missing AC_MSG_RESULT.
97676         Reported by Bruno Haible.
97677
97678         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
97679         Suggestion from Bruno Haible.
97680
97681 2000-06-23  Jim Meyering  <meyering@lucent.com>
97682
97683         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
97684
97685 2000-06-21  Jim Meyering  <meyering@lucent.com>
97686
97687         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
97688
97689 2000-06-21  Jim Meyering  <meyering@lucent.com>
97690
97691         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
97692         (noinst_HEADERS): Add getstr.h.
97693
97694         * lib/getline.c (getstr): Move into a separate file.
97695         * lib/getstr.c (getstr): New file, extracted from getline.c, with
97696         the following changes: new parameter, delim2; both delim[12]
97697         parameters have type `int', not `char'.  The latter would lose
97698         with 8-bit delimiters.
97699         * lib/getstr.h: New file.
97700
97701 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
97702
97703         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
97704         than 1024, return a memory chunk of least possible size, instead
97705         of size PATH_MAX + 2. In the loop, increment the size proportionally.
97706         Use free/xmalloc instead of xrealloc to avoid copying for very long
97707         paths.
97708
97709 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
97710
97711         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
97712         the empty string.
97713
97714 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
97715
97716         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
97717         address, not strdup.  Include <stdlib.h> and don't declare free().
97718
97719 2000-06-19  Jim Meyering  <meyering@lucent.com>
97720
97721         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
97722
97723 2000-06-18  Jim Meyering  <meyering@lucent.com>
97724
97725         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
97726
97727         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
97728         `checking whether...' message to be consistent with that of the
97729         lstat test.
97730
97731 2000-06-18  Jim Meyering  <meyering@lucent.com>
97732
97733         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
97734         Besides, these days every porting target provides a mkdir function.
97735
97736         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
97737         needed. (this snippet comes from src/system.h).
97738
97739 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
97740
97741         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
97742
97743 2000-06-15  Paul Eggert  <eggert@twinsun.com>
97744
97745         * lib/human.c (adjust_value): New function.
97746         (human_readable_inexact): Apply rounding style even when
97747         printing approximate values.
97748
97749 2000-06-14  Paul Eggert  <eggert@twinsun.com>
97750
97751         * lib/human.c (human_readable_inexact): Allow an input block
97752         size that is not a multiple of the output block size, and vice versa.
97753         Reported by Piergiorgio Sartor.
97754
97755 2000-06-14  Paul Eggert  <eggert@twinsun.com>
97756
97757         * lib/getdate.y (get_date): Apply relative times after time
97758         zone indicator, not before.  Reported by Todd A. Jacobs.
97759
97760 2000-06-13  Jim Meyering  <meyering@lucent.com>
97761
97762         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
97763
97764         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
97765
97766 2000-06-12  Paul Eggert  <eggert@twinsun.com>
97767
97768         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
97769
97770 2000-06-12  Jim Meyering  <meyering@lucent.com>
97771
97772         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
97773         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
97774         optional argument.
97775         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
97776         the optional argument, `lib'.
97777
97778 2000-06-08  Jim Meyering  <meyering@lucent.com>
97779
97780         * m4/largefile.m4: Remove file (now that it's part of autoconf).
97781
97782 2000-06-04  Paul Eggert  <eggert@twinsun.com>
97783
97784         Rewrite largefile configuration so that we don't need to run
97785         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
97786         AC_CANONICAL_HOST in configure.in -- jmm]
97787
97788         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
97789         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
97790         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
97791         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
97792         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
97793         All uses changed.
97794         Instead of inspecting the output of getconf, try to compile the
97795         test program without and with the macro definition.
97796         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
97797         for getconf.  Instead, check for the needed flags by compiling
97798         test programs.
97799
97800 2000-06-04  Paul Eggert  <eggert@twinsun.com>
97801
97802         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
97803
97804 2000-06-04  Jim Meyering  <meyering@lucent.com>
97805
97806         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
97807         SunOS 4.1.4 for which gid_t is an unsigned type.
97808
97809 2000-06-03  Jim Meyering  <meyering@lucent.com>
97810
97811         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
97812         now that autoconf requires that.
97813
97814         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
97815         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
97816         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
97817
97818 2000-06-03  Jim Meyering  <meyering@lucent.com>
97819
97820         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
97821
97822 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
97823
97824         * m4/glibc21.m4: New file.
97825         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
97826
97827 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
97828
97829         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
97830         newer, don't install charset.alias.
97831         * lib/config.charset: Change the Linux/glibc rules so they become empty
97832         on glibc-2.1 or newer.
97833
97834 2000-06-02  Jim Meyering  <meyering@lucent.com>
97835
97836         * lib/mountlist.c: Back out last change.  Instead, do this...
97837         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
97838         me_dummy member using the same `ignore'-testing code.
97839         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
97840         fs_type strings.
97841         From Mark D. Roth.
97842
97843 2000-05-29  Jim Meyering  <meyering@lucent.com>
97844
97845         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
97846         mounts with the `ignore' attribute.  Based on a patch from
97847         Mark D. Roth.
97848
97849 2000-05-28  Jim Meyering  <meyering@lucent.com>
97850
97851         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
97852         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
97853         * m4/stat.m4: Likewise.
97854         * m4/lstat.m4: Likewise.
97855         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
97856
97857         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
97858         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
97859
97860 2000-05-26  Jim Meyering  <meyering@lucent.com>
97861
97862         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
97863
97864 2000-05-24  Jim Meyering  <meyering@lucent.com>
97865
97866         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
97867         autoconf requires that.
97868         * m4/lib-check.m4: Likewise.
97869         * m4/jm-macros.m4: Likewise.
97870         * m4/strftime.m4: Likewise.
97871
97872         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
97873         AC_CHECK_DECLS, now that autoconf requires that.
97874
97875 2000-05-22  Jim Meyering  <meyering@lucent.com>
97876
97877         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
97878         * m4/lstat.m4: Likewise.
97879
97880 2000-05-22  Jim Meyering  <meyering@lucent.com>
97881
97882         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
97883
97884 2000-05-20  Jim Meyering  <meyering@lucent.com>
97885
97886         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
97887         (jm_PREREQ): Use it.
97888
97889 2000-05-18  Jim Meyering  <meyering@lucent.com>
97890
97891         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
97892         back, too, since it may have been modified by allocate_entry.
97893         (hash_delete): Rewrite to use neither the assignment operator
97894         nor the comma operator in an if-expression.
97895
97896 2000-05-15  Paul Eggert  <eggert@twinsun.com>
97897
97898         * lib/closeout.c:
97899         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
97900         Remove; no longer needed.
97901         "quotearg.h": Add include.
97902         (file_name): Do not bother to explicitly initialize to NULL; it's less
97903         efficient on some hosts.
97904         (close_stdout_status): Remove test as to whether stdout was already
97905         closed; it breaks for the case "echo x | sort >&-".
97906         Quote file name colons.
97907         Do not assume that _("write error") lacks format strings.
97908
97909 2000-05-15  Jim Meyering  <meyering@lucent.com>
97910
97911         * lib/version-etc.c (version_etc_copyright): Update the copyright
97912         string used in all --version output.
97913
97914 2000-05-14  Jim Meyering  <meyering@lucent.com>
97915
97916         * lib/closeout.c (close_stdout_set_file_name): New function.
97917         (close_stdout_status): Use new file-scoped global.
97918         Return right away if fstat says the stdout file descriptor is invalid.
97919         * lib/closeout.h (close_stdout_set_file_name): Declare.
97920
97921 2000-05-10  Jim Meyering  <meyering@lucent.com>
97922
97923         * lib/closeout.c [default_exit_status]: New file-scoped variable.
97924         (close_stdout_set_status): New function.
97925         * lib/closeout.h (close_stdout_set_status): Declare.
97926
97927 2000-05-09  Jim Meyering  <meyering@lucent.com>
97928
97929         * m4/gettext.m4: Rename this...
97930         * m4/libintl.m4: ...to this.
97931
97932 2000-05-08  Jim Meyering  <meyering@lucent.com>
97933
97934         * lib/long-options.c: Don't include closeout.h.
97935         (parse_long_options): Don't call close_stdout for --version.
97936
97937 2000-05-06  Paul Eggert  <eggert@twinsun.com>
97938
97939         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
97940         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
97941         2.1.3 bug.  This avoids a clash when files like regex.c define
97942         _GNU_SOURCE.
97943
97944 2000-05-06  Jim Meyering  <meyering@lucent.com>
97945
97946         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
97947         (AC_REPLACE_FUNCS): Add strnlen.
97948
97949         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
97950         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
97951
97952         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
97953         AC_SEARCH_LIBS call for nanosleep.
97954         (LIB_NANOSLEEP): Set and AC_SUBST.
97955
97956 2000-05-06  Jim Meyering  <meyering@lucent.com>
97957
97958         * lib/strnlen.c: Undefine __strnlen and strnlen.
97959         [!weak_alias]: Define __strnlen to strnlen.
97960
97961         * lib/atexit.c: New file, from libiberty.
97962
97963 2000-05-06  Jim Meyering  <meyering@lucent.com>
97964
97965         * lib/closeout.c (close_stdout_status): Also check for errors on the
97966         stderr stream.
97967
97968 2000-05-05  Jim Meyering  <meyering@lucent.com>
97969
97970         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
97971         AC_SEARCH_LIBS call for clock_gettime.
97972         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
97973
97974         * m4/search-libs.m4: Update from autoconf.
97975
97976         su doesn't work on Solaris 2.6.
97977         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
97978         <shadow.h>.  Reported by Dragos Harabor.
97979
97980 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
97981
97982         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
97983         memcpy instead of xmalloc, xrealloc, path_concat.
97984         (locale_charset): Treat empty environment variables as absent.
97985         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
97986
97987 2000-05-04  Jim Meyering  <meyering@lucent.com>
97988
97989         * lib/getopt.c: Update from glibc.
97990         * lib/obstack.c: Likewise.
97991         * lib/obstack.h: Likewise.
97992         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
97993         file
97994
97995         * lib/regex.h: Likewise.
97996         * lib/strndup.c: Likewise.
97997         * lib/strnlen.c: New file, from glibc.
97998
97999 2000-05-03  Jim Meyering  <meyering@lucent.com>
98000
98001         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
98002
98003 2000-05-02  Paul Eggert  <eggert@twinsun.com>
98004
98005         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
98006         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
98007         compile-time test, rather than inspecting host and OS, to
98008         decide whether to define _LARGEFILE_SOURCE.
98009
98010 2000-05-01  Jim Meyering  <meyering@lucent.com>
98011
98012         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
98013
98014         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
98015         Based on a patch from Bruno Haible.
98016
98017 2000-05-01  Jim Meyering  <meyering@lucent.com>
98018
98019         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
98020
98021 2000-04-29  Jim Meyering  <meyering@lucent.com>
98022
98023         * lib/path-concat.c: Declare strdup only if it's not defined.
98024         * lib/canon-host.c: Likewise.
98025
98026 2000-04-28  Jim Meyering  <meyering@lucent.com>
98027
98028         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
98029         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
98030         is included first, then limits.h is included by locale.h by libintl.h.
98031         From John David Anglin.
98032
98033 2000-04-25  Jim Meyering  <meyering@lucent.com>
98034
98035         * lib/makepath.c (S_IRWXUGO): Define.
98036         (make_path): Always perform explicit chmod if MODE specifies any
98037         of the `special' permission bits.  Prompted by a bug report against
98038         install from Mate Wierdl and Joost van Baal.
98039
98040 2000-04-18  Jim Meyering  <meyering@lucent.com>
98041
98042         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
98043         (jm_PREREQ): Use it.
98044
98045 2000-04-18  Jim Meyering  <meyering@lucent.com>
98046
98047         * lib/README: New file.
98048
98049         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
98050         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
98051
98052 2000-04-17  Jim Meyering  <meyering@lucent.com>
98053
98054         Get it right :-)
98055         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
98056         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
98057         Suggestion from Akim Demaille.
98058
98059 2000-04-17  Jim Meyering  <meyering@lucent.com>
98060
98061         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
98062         the definition of it to rpl_strftime also defined-away the system's
98063         declaration.
98064
98065 2000-04-15  Jim Meyering  <meyering@lucent.com>
98066
98067         Use `C' to denote so-called `contiguous' files, the same way
98068         that tar does.
98069         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
98070         (ftypelet): Use S_ISCTG.
98071         From Michael Deutschmann.
98072
98073 2000-04-14  Jim Meyering  <meyering@lucent.com>
98074
98075         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
98076         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
98077         clobbered.
98078
98079 2000-04-14  Jim Meyering  <meyering@lucent.com>
98080
98081         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
98082
98083 2000-04-13  Jim Meyering  <meyering@lucent.com>
98084
98085         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
98086         AH_VERBATIM to insert required #ifndef into config.h.in.
98087         Suggestion from Akim Demaille.
98088
98089 2000-04-12  Jim Meyering  <meyering@lucent.com>
98090
98091         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
98092         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
98093         Christian Krackowizer.
98094
98095         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
98096         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
98097         (AC_SYS_LARGEFILE): Require.
98098         (AM_C_PROTOTYPES): Require.
98099
98100 2000-04-08  Jim Meyering  <meyering@lucent.com>
98101
98102         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
98103         names don't conflict.  Reported by Eli Zaretskii.
98104
98105 2000-04-07  Jim Meyering  <meyering@lucent.com>
98106
98107         * lib/putenv.c: Move inclusion of errno.h so it follows that of
98108         sys/types.h, to work around system header problems on AIX 3.2.5.
98109         From Bruno Haible.
98110
98111 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
98112
98113         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
98114         bug.  Deal with the different error behavior of Irix iconv.
98115
98116 2000-04-05  Paul Eggert  <eggert@twinsun.com>
98117
98118         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
98119         IRIX if the installer said otherwise.
98120
98121 2000-04-05  Jim Meyering  <meyering@lucent.com>
98122
98123         Portability tweaks required for ultrix4.3.
98124         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
98125         (jm_CHECK_DECLS): Add getutent to the list of functions.
98126         (_jm_DECL_HEADERS): Add utmpx.h.
98127         From John David Anglin.
98128
98129         * m4/strftime.m4: Back out the 2000-04-02 change.
98130         Instead of that change, simply undefine putenv in the test program.
98131
98132 2000-04-05  Jim Meyering  <meyering@lucent.com>
98133
98134         Portability tweaks required for ultrix4.3.
98135         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
98136         getutent.
98137         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
98138         * lib/canon-host.c: Declare strdup.
98139         * lib/path-concat.c: Likewise.
98140         From John David Anglin.
98141
98142 2000-04-04  Jim Meyering  <meyering@lucent.com>
98143
98144         Be more DOS 8.3-friendly.
98145         * lib/ref-add.sin: Renamed from ref-add.sed.in.
98146         * lib/ref-del.sin: Renamed from ref-del.sed.in.
98147         * lib/Makefile.am: Reflect renaming.
98148         Reported by Eli Zaretskii.
98149
98150         Use a temporary file name that won't clash with `charset.alias'
98151         in the DOS 8.3 name space.
98152         * lib/Makefile.am (charset_tmp): Define.
98153         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
98154         (uninstall-local): Likewise.
98155         Reported by Eli Zaretskii.
98156
98157 2000-04-03  Jim Meyering  <meyering@lucent.com>
98158
98159         * m4/gettext.m4: Fix typo in comment.
98160
98161         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
98162         textutils/configure.in).  Suggestion from Paul Eggert.
98163         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
98164
98165 2000-04-02  Paul Eggert  <eggert@twinsun.com>
98166
98167         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
98168         variable in the shell rather than using putenv, which isn't
98169         portable.  This avoids the configure-time inter-test dependency
98170         on the potentially-renamed putenv function.
98171
98172 2000-03-30  Paul Eggert  <eggert@twinsun.com>
98173
98174         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
98175         before checking struct stat.st_blksize, so that
98176         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
98177
98178 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98179
98180         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
98181         since strftime.c uses HAVE_STRFTIME to decide whether to use
98182         the underlying strftime.
98183
98184 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98185
98186         * lib/time/strftime.c (my_strftime): Make sure we call the system
98187         strftime, not ourselves, when invoking the underlying strftime.
98188
98189 2000-03-24  Jim Meyering  <meyering@lucent.com>
98190
98191         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
98192         (charset_alias): Define.
98193         (install-exec-local): Factor out common code.
98194         (uninstall-local): Split lines longer than 80.
98195         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
98196         (SUFFIXES): Define.
98197         (.sed.in.sed): New rule.  Don't redirect directly to $@.
98198         (CLEANFILES): Add ref-add.sed and ref-del.sed.
98199
98200 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
98201
98202         * lib/config.charset: Output a line containing "Packages using this
98203         file".
98204         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
98205         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
98206         ref-del.sed): New rules.
98207
98208 2000-03-17  Jim Meyering  <meyering@lucent.com>
98209
98210         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
98211         Otherwise, include <strings.h>
98212
98213 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
98214
98215         * lib/unicodeio.c (utf8_wctomb): New function.
98216         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
98217         format instead of in UCS-4 with platform dependent endianness.
98218
98219 2000-03-10  Jim Meyering  <meyering@lucent.com>
98220
98221         * m4/lib-check.m4: Look for getspnam in -lgen, too.
98222         From Marco Franzen.
98223
98224 2000-03-07  Paul Eggert  <eggert@twinsun.com>
98225
98226         * lib/savedir.c (savedir): Work even if directory size is
98227         negative; this can happen with some screwy NFS configurations.
98228
98229 2000-03-06  Jim Meyering  <meyering@lucent.com>
98230
98231         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
98232         if it's NULL (because we ran out of memory).  From Bruno Haible.
98233
98234 2000-03-05  Jim Meyering  <meyering@lucent.com>
98235
98236         * lib/localcharset.c ("path-concat.h"): Include.
98237         (get_charset_aliases): Use path_concat instead of ANSI string
98238         concatenation.
98239
98240         * lib/unicodeio.h (PARAMS): Define.
98241         Use it to guard prototype.
98242
98243 2000-03-04  Jim Meyering  <meyering@lucent.com>
98244
98245         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
98246         for lib/localcharset.c.
98247
98248 2000-03-04  Jim Meyering  <meyering@lucent.com>
98249
98250         * lib/Makefile.am (install-exec-local): Create $(libdir) before
98251         installing into it.
98252         (uninstall-local): Uncomment this rule so `make distcheck' works
98253         once again.
98254
98255         * lib/unicodeio.c (<errno.h>): Include it.
98256         (errno): Declare if not defined.
98257
98258         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
98259
98260         * lib/config.charset: New version, incorporating remarks from a linux
98261         i18n mailing list.  From Bruno Haible.
98262
98263 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
98264
98265         * m4/codeset.m4: New file.
98266         * m4/iconv.m4: New file.
98267         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
98268
98269 2000-03-03  Jim Meyering  <meyering@lucent.com>
98270
98271         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
98272
98273 2000-03-02  Jim Meyering  <meyering@lucent.com>
98274
98275         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
98276         the messages come out on separate lines.
98277
98278         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
98279         rather than jm_CHECK_DECLARATIONS.
98280         * m4/decl.m4: Remove now-unused file.
98281
98282         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
98283         geteuid.
98284
98285 2000-03-02  Jim Meyering  <meyering@lucent.com>
98286
98287         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
98288
98289 2000-03-01  Jim Meyering  <meyering@lucent.com>
98290
98291         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
98292         * lib/unicodeio.c: Likewise.
98293
98294 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
98295
98296         * lib/config.charset: New file.
98297         * lib/localcharset.c: New file.
98298         * lib/unicodeio.h, lib/unicodeio.c: New files.
98299         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
98300         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
98301         (noinst_HEADERS): Add unicodeio.h.
98302         (all-local, install-exec-local, charset.alias): New targets.
98303
98304 2000-02-28  Paul Eggert  <eggert@twinsun.com>
98305
98306         * lib/quotearg.c (ALERT_CHAR): New macro.
98307         (quotearg_buffer_restyled): Use it.
98308
98309 2000-02-27  Jim Meyering  <meyering@lucent.com>
98310
98311         * m4/check-decl.m4: Add getenv to the list.
98312
98313 2000-02-27  Jim Meyering  <meyering@lucent.com>
98314
98315         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
98316         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
98317
98318         * lib/backupfile.c: Guard inclusion of stdlib.h with
98319         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
98320         Declare malloc if needed.
98321
98322         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
98323         `#ifndef HAVE_DECL..'
98324         now that autoconf always defines the HAVE_DECL_ symbols.
98325         * lib/human.c: Likewise.
98326         * lib/same.c: Likewise.
98327         * lib/strtoumax.c: Likewise.
98328
98329         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
98330         declaration check was not run.
98331         * lib/hash.c: Likewise.
98332         * lib/human.c: Likewise.
98333         * lib/same.c: Likewise.
98334         * lib/strtoumax.c: Likewise.
98335
98336         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
98337         `.', then first look up the entire `.'-containing string as a login
98338         name.
98339
98340 2000-02-23  Jim Meyering  <meyering@lucent.com>
98341
98342         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
98343         in place of my hack.
98344
98345 2000-02-18  Paul Eggert  <eggert@twinsun.com>
98346
98347         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
98348         (textint): New typedef.
98349         (parser_control): Member year changed from int to textint.
98350         All uses changed.
98351         (YYSTYPE): Removed; replaced by %union with int and textint members.
98352         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
98353         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
98354         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
98355         (tSNUMBER, tUNUMBER): Now of type <textintval>.
98356         (date, number, to_year): Use width of number in digits, not its value,
98357         to determine whether it's a 2-digit year, or a 2-digit time.
98358         (yylex): Store number of digits of numeric tokens.
98359         Reported by John Kendall.
98360
98361         (parser_control): Changed from struct parser_control to typedef (for
98362         consistency).  All uses changed.
98363
98364         (tID): Removed; not used.
98365         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
98366
98367 2000-02-14  Paul Eggert  <eggert@twinsun.com>
98368
98369         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
98370         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
98371
98372 2000-02-12  Jim Meyering  <meyering@lucent.com>
98373
98374         * lib/userspec.c (ISDIGIT): Define it.
98375         (isdigit): Remove definition.
98376         (is_number): Use ISDIGIT, not isdigit.
98377         <libintl.h>: Include.
98378         (_ and N_): Define.
98379         (parse_user_spec): Mark translatable strings.
98380
98381 2000-02-10  Jim Meyering  <meyering@lucent.com>
98382
98383         With these changes, nanosleep.[ch] are finally enough like the other
98384         lib/* replacement files to compile on a few more losing systems.
98385
98386         * lib/nanosleep.h: Don't include config.h.
98387         Remove prototype from declaration of nanosleep.
98388         (PARAMS): Remove now-unneeded definition.
98389         * lib/nanosleep.c: #undef nanosleep.
98390         (rpl_nanosleep): Rename from nanosleep.
98391
98392 2000-02-10  Jim Meyering  <meyering@lucent.com>
98393
98394         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
98395         gnu_nanosleep to rpl_nanosleep.
98396
98397 2000-02-09  Jim Meyering  <meyering@lucent.com>
98398
98399         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
98400         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
98401
98402 2000-02-08  Akim Demaille  <akim@epita.fr>
98403
98404         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
98405         `[' and `]' and remove uses of `changequote'.
98406         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
98407         (AC_SYS_LARGEFILE): Likewise.
98408         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
98409         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
98410         of changequote.
98411         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
98412         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
98413         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
98414         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
98415
98416 2000-02-05  Jim Meyering  <meyering@lucent.com>
98417
98418         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
98419         Remove explicit use of AC_HEADER_TIME.  It is required by
98420         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
98421         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
98422         in autoconf whereby the expansion of the latter ended up preceding
98423         the expansion of its prerequisite, AC_HEADER_TIME.
98424         Reported by Volker Borchert.
98425
98426 2000-02-03  Jim Meyering  <meyering@lucent.com>
98427
98428         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
98429
98430 2000-02-03  Jim Meyering  <meyering@lucent.com>
98431
98432         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
98433         rather than with `#if HAVE_UTMPNAME'.
98434
98435 2000-02-02  Jim Meyering  <meyering@lucent.com>
98436
98437         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
98438         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
98439         Reported by Eli Zaretskii.
98440
98441 2000-02-01  Jim Meyering  <meyering@lucent.com>
98442
98443         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
98444
98445 2000-01-31  Jim Meyering  <meyering@lucent.com>
98446
98447         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
98448         functions.  Add the time.h and sys/time.h headers along with the
98449         AC_REQUIRE'ment of AC_HEADER_TIME.
98450
98451 2000-01-31  Jim Meyering  <meyering@lucent.com>
98452
98453         * lib/nanosleep.h (nanosleep): Guard declaration with
98454         `#if ! HAVE_DECL_NANOSLEEP'.
98455         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
98456         the declaration in that vendor's sys/timers.h.
98457         Reported by Christian Krackowizer.
98458
98459         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
98460         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
98461         (ISPRINT): Likewise.
98462         Reported by Tom Tromey.
98463
98464 2000-01-30  Jim Meyering  <meyering@lucent.com>
98465
98466         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
98467
98468         * m4/prereq.m4 (utmp_includes): Define.
98469         Check for ut_user and ut_name members in both struct utmpx
98470         and struct utmp.
98471
98472 2000-01-30  Jim Meyering  <meyering@lucent.com>
98473
98474         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
98475         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
98476         header files where only utmpx.ut_user is declared.
98477
98478         * lib/readutmp.h (UT_USER): Define.
98479
98480 2000-01-29  Jim Meyering  <meyering@lucent.com>
98481
98482         * m4/lib-check.m4: New file containing library-related checks from
98483         fileutils and sh-utils (textutils had none).
98484
98485 2000-01-28  Jim Meyering  <meyering@lucent.com>
98486
98487         * m4/perl.m4: Change format of warning message to look more like that
98488         from the missing script.  Suggestion from François Pinard.
98489
98490 2000-01-25  Jim Meyering  <meyering@lucent.com>
98491
98492         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
98493         well as time.h in the compile check.
98494         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
98495         Fix typo in cross-compiling case: s/yes/no/.
98496
98497 2000-01-23  Jim Meyering  <meyering@lucent.com>
98498
98499         * m4/jm-macros.m4: Move df-related tests here from
98500         fileutils/configure.in
98501
98502         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
98503         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
98504
98505         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
98506         s/space/ac_fsusage_space/.
98507         (jm_FILE_SYSTEM_USAGE): Take two parameters.
98508
98509         * m4/ftruncate.m4: New file (derived from part of
98510         fileutils/configure.in).
98511         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
98512         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
98513
98514         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
98515         AC_SUBST these here, rather than just in sh-util/configure.in, so
98516         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
98517         all the same.
98518         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
98519         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
98520         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
98521         (AC_SUBST(POW_LIBM)): Likewise.
98522         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
98523
98524 2000-01-23  Jim Meyering  <meyering@lucent.com>
98525
98526         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
98527         obstack.c.
98528
98529 2000-01-22  Jim Meyering  <meyering@lucent.com>
98530
98531         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
98532
98533         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
98534
98535         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
98536         configure.in
98537         (AC_CHECK_HEADERS): Likewise for sh-utils.
98538         (AC_CHECK_HEADERS): Likewise for textutils.
98539         Merge the three lists of headers.
98540
98541         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
98542         from fileutils' configure.in.
98543
98544         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
98545         code. Moved tests into their own function (_jm_DECL_HEADERS) in
98546         check-decl.m4.
98547
98548         * m4/check-decl.m4: Use #if rather than #ifdef.
98549         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
98550         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
98551         (_jm_DECL_HEADERS): Define new function.
98552         (jm_CHECK_DECLARATIONS): Require it.
98553
98554 2000-01-22  Jim Meyering  <meyering@lucent.com>
98555
98556         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
98557         [! HAVE_DECL_STRTOULL]: Declare strtoull.
98558         Required for some AIX systems.  Reported by Christian Krackowizer.
98559         [TESTING] (main): New function.
98560
98561         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
98562         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
98563         letters.
98564
98565         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
98566         iswprint.
98567
98568         * lib/strverscmp.c (ISDIGIT): Define.
98569         (strverscmp): Use ISDIGIT, not isdigit.
98570
98571 2000-01-19  Jim Meyering  <meyering@lucent.com>
98572
98573         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
98574         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
98575         defines `struct timespec' in <sys/time.h>
98576
98577         * m4/c-bs-a.m4: Remove uses of changequote altogether.
98578         Thanks to Akim for explaining.
98579
98580 2000-01-17  Paul Eggert  <eggert@twinsun.com>
98581
98582         * lib/nanosleep.c (nanosleep):
98583         Don't use SA_INTERRUPT to decide whether to call sigaction, as
98584         POSIX.1 doesn't require SA_INTERRUPT and some systems
98585         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
98586         it's been part of POSIX.1 since day 1 (in 1988).
98587
98588 2000-01-17  Jim Meyering  <meyering@lucent.com>
98589
98590         * lib/interlock: Remove unused file.  Reported by François Pinard.
98591
98592 2000-01-16  Paul Eggert  <eggert@twinsun.com>
98593
98594         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
98595         alert, backslash, formfeed, and vertical tab unnecessarily in
98596         shell quoting style.
98597
98598 2000-01-16  Jim Meyering  <meyering@lucent.com>
98599
98600         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
98601         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
98602         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
98603         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
98604
98605 2000-01-16  Jim Meyering  <meyering@lucent.com>
98606
98607         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
98608         because the latter didn't work.
98609
98610 2000-01-15  Jim Meyering  <meyering@lucent.com>
98611
98612         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
98613         (AC_REPLACE_FUNCS): Add memcpy and memset.
98614         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
98615         Add strpbrk.
98616         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
98617
98618 2000-01-12  Jim Meyering  <meyering@lucent.com>
98619
98620         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
98621         (jm_PREREQ): Use it.
98622         (jm_PREREQ_READUTMP): New macro.
98623         (jm_PREREQ): Use it.
98624
98625 2000-01-11  Paul Eggert  <eggert@twinsun.com>
98626
98627         Quote multibyte characters correctly.
98628         * m4/c-bs-a.m4: New file.
98629         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
98630         (jm_PREREQ): Use it.
98631
98632 2000-01-11  Paul Eggert  <eggert@twinsun.com>
98633
98634         * m4/uintmax_t.m4: Port to autoconf 2.13.
98635
98636 2000-01-08  Jim Meyering  <meyering@ascend.com>
98637
98638         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
98639         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
98640
98641 2000-01-04  Jim Meyering  <meyering@ascend.com>
98642
98643         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
98644         jm_STRUCT_DIRENT_D_TYPE.
98645         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
98646         jm_STRUCT_DIRENT_D_INO.
98647         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
98648         jm_STRUCT_UTIMBUF.
98649         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
98650         renamings.
98651         * m4/utime.m4: Likewise.
98652
98653         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
98654         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
98655
98656 2000-01-03  Paul Eggert  <eggert@twinsun.com>
98657
98658         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
98659         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
98660
98661 2000-01-02  Jim Meyering  <meyering@ascend.com>
98662
98663         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
98664         remember if this is necessary.
98665
98666 1999-12-26  Jim Meyering  <meyering@ascend.com>
98667
98668         * m4/jm-macros.m4: Use it here.
98669         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
98670
98671 1999-12-23  Jim Meyering  <meyering@ascend.com>
98672
98673         * m4/jm-macros.m4: Check for clock_gettime (moved from
98674         fileutils/configure.in)
98675         Check for gettimeofday.
98676
98677 1999-12-20  Jim Meyering  <meyering@ascend.com>
98678
98679         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
98680         autoconf-2.14a-1999-12-20.
98681
98682 1999-12-19  Jim Meyering  <meyering@ascend.com>
98683
98684         * m4/lstat-slash.m4: New file.
98685         * m4/jm-macros.m4: Use the new macro:
98686         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98687
98688 1999-12-07  Jim Meyering  <meyering@ascend.com>
98689
98690         * m4/perl.m4: Require that File::Compare be available, too.
98691         Too many systems seem to lack it.
98692
98693         * m4/strftime.m4: Add checks for most of the cpp macros tested in
98694         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
98695
98696 1999-11-18  Paul Eggert  <eggert@twinsun.com>
98697
98698         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
98699         problem with the QNX 4.25 shell, which doesn't propagate exit
98700         status of failed commands inside shell assignments.
98701
98702 1999-11-17  Jim Meyering  <meyering@ascend.com>
98703
98704         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
98705
98706 1999-11-07  Jim Meyering  <meyering@ascend.com>
98707
98708         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
98709
98710 1999-11-06  Jim Meyering  <meyering@ascend.com>
98711
98712         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
98713         * m4/jm-macros.m4 (jm_MACROS): Use it here.
98714
98715 1999-11-05  Jim Meyering  <meyering@ascend.com>
98716
98717         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
98718         configure.in of textutils, fileutils, and sh-utils into this one
98719         (shared between those packages) file.
98720         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
98721         AC_STRUCT_ST_BLKSIZE.
98722
98723 1999-11-03  Jim Meyering  <meyering@ascend.com>
98724
98725         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
98726         of AC_CHECK_TYPE checks includes unistd.h.
98727         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
98728         Suggestion from Akim Demaille.
98729
98730 1999-10-30  Jim Meyering  <meyering@ascend.com>
98731
98732         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
98733         m4-quoted string.
98734         * m4/ls-mntd-fs.m4: Likewise.
98735         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
98736         * m4/jm-winsz1.m4: Likewise.
98737
98738         * m4/const.m4: Remove file, since the fix made it into the experimental
98739         version of autoconf.
98740         * m4/mktime.m4: Likewise.
98741
98742         * m4/check-type.m4: Remove file, now that the latest version of
98743         AC_CHECK_TYPE takes a third arg to specify additional #includes.
98744
98745         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
98746         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
98747         AC_CHECK_TYPE.
98748
98749 1999-10-04  Jim Meyering  <meyering@ascend.com>
98750
98751         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
98752
98753 1999-09-22  Paul Eggert  <eggert@twinsun.com>
98754
98755         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
98756         2.95.1 bug with HP-UX 10.20.
98757
98758 1999-09-17  Jim Meyering  <meyering@ascend.com>
98759
98760         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
98761         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
98762         due to missing strdup (against sh-utils-2.0).
98763
98764 1999-08-29  Jim Meyering  <meyering@ascend.com>
98765
98766         * m4/jm-macros.m4: Require jm_BISON.
98767         * m4/bison.m4: New file.
98768
98769 1999-08-17  Paul Eggert  <eggert@twinsun.com>
98770
98771         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
98772         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
98773
98774 1999-08-05  Jim Meyering  <meyering@ascend.com>
98775
98776         * m4/getline.m4: Rename test file from conftestdata to conftest.data
98777         to avoid conflicts with `conftest' on 8+3 filesystems.
98778         Suggestion from Eli Zaretskii.
98779
98780 1999-08-04  Jim Meyering  <meyering@ascend.com>
98781
98782         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
98783         fileutils and sh-utils (textutils's getline test was inadequate).
98784         (AM_FUNC_GETLINE): Run this test.
98785         (AC_CHECK_FUNCS): Check for getdelim.
98786         Reported by Bob Proulx.
98787
98788 1999-08-02  Jim Meyering  <meyering@ascend.com>
98789
98790         * m4/jm-macros.m4: Add a comment.
98791
98792 1999-08-01  Paul Eggert  <eggert@twinsun.com>
98793
98794         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
98795         <inttypes.h> defines strtoumax as a macro (and not as a
98796         function).
98797
98798 1999-08-01  Paul Eggert  <eggert@twinsun.com>
98799
98800         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
98801         that we can shift, multiply and divide unsigned long long
98802         values; Ultrix cc can't do it.
98803
98804 1999-08-01  Paul Eggert  <eggert@twinsun.com>
98805
98806         * m4/mktime.m4: New file, which is a preview of what should appear
98807         in the next public autoconf release.
98808
98809 1999-08-01  Paul Eggert  <eggert@twinsun.com>
98810
98811         * m4/lfs.m4: Remove this file.
98812         * m4/largefile.m4: New file.  It contains the old contents of
98813         lfs.m4, except that all names with prefix AC_LFS have been
98814         changed to use the prefix AC_SYS_LARGEFILE instead, to be
98815         compatible with future autoconf versions.  Also, some minor m4
98816         quoting problems have been fixed.
98817
98818 1999-08-01  Paul Eggert  <eggert@twinsun.com>
98819
98820         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
98821         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
98822         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
98823         and simplify the shell code.
98824
98825 1999-08-01  Jim Meyering  <meyering@ascend.com>
98826
98827         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
98828         m4.
98829
98830 1999-07-20  Jim Meyering  <meyering@ascend.com>
98831
98832         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
98833
98834 1999-07-15  Jim Meyering  <meyering@ascend.com>
98835
98836         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
98837
98838 1999-05-22  Jim Meyering  <meyering@ascend.com>
98839
98840         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
98841
98842 1999-05-20  Jim Meyering  <meyering@ascend.com>
98843
98844         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
98845         Add a colon after each `then' in case $4 is empty.
98846
98847 1999-05-16  Jim Meyering  <meyering@ascend.com>
98848
98849         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
98850
98851 1999-05-10  Jim Meyering  <meyering@ascend.com>
98852
98853         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
98854
98855         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
98856         AC_FUNC_MKTIME.
98857
98858 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
98859
98860         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
98861
98862 1999-05-04  Paul Eggert  <eggert@twinsun.com>
98863
98864         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
98865         not CPPFLAGS, so that linking works correctly in IRIX.
98866
98867 1999-04-30  Paul Eggert  <eggert@twinsun.com>
98868
98869         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
98870
98871 1999-04-20  Paul Eggert  <eggert@twinsun.com>
98872
98873         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
98874         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
98875         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
98876         jm_AC_TYPE_UNSIGNED_LONG_LONG.
98877         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
98878
98879         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
98880
98881 1999-04-20  Jim Meyering  <meyering@ascend.com>
98882
98883         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
98884         AC_REPLACE xstroull if necessary.  From Paul Eggert.
98885         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
98886
98887 1999-04-18  Jim Meyering  <meyering@ascend.com>
98888
98889         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
98890         * m4/jm-macros.m4: Use it.
98891
98892 1999-04-06  Jim Meyering  <meyering@ascend.com>
98893
98894         * m4/strftime.m4: Remove test for %f.
98895
98896 1999-03-29  Jim Meyering  <meyering@ascend.com>
98897
98898         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
98899         superset of the AC_TYPE_* checks in the textutils, fileutils,
98900         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
98901         AC_TYPE_PID_T.
98902
98903 1999-03-28  Jim Meyering  <meyering@ascend.com>
98904
98905         * m4/jm-macros.m4: Define GNU_PACKAGE here.
98906         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
98907         replaced e.g., in the *.sh files of the sh-utils.
98908
98909 1999-03-20  Jim Meyering  <meyering@ascend.com>
98910
98911         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
98912         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
98913         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
98914
98915 1999-03-19  Jim Meyering  <meyering@ascend.com>
98916
98917         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
98918
98919 1999-03-12  Jim Meyering  <meyering@ascend.com>
98920
98921         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
98922
98923 1999-03-07  Jim Meyering  <meyering@ascend.com>
98924
98925         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
98926         declared.
98927
98928 1999-02-17  Jim Meyering  <meyering@ascend.com>
98929
98930         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
98931         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
98932
98933 1999-02-07  Jim Meyering  <meyering@ascend.com>
98934
98935         * m4/group-member.m4: New file -- extracted from sh-utils'
98936         configure.in.
98937
98938         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
98939         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
98940
98941 1999-02-06  Jim Meyering  <meyering@ascend.com>
98942
98943         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
98944         * m4/fnmatch.m4: Likewise.
98945         * m4/getgroups.m4: Likewise.
98946         * m4/lstat.m4: Likewise.
98947         * m4/malloc.m4: Likewise.
98948         * m4/putenv.m4: Likewise.
98949         * m4/realloc.m4: Likewise.
98950         * m4/regex.m4: Likewise.
98951         * m4/stat.m4: Likewise.
98952         * m4/strftime.m4: Likewise.
98953         Suggestion from Alain Magloire.
98954
98955         * m4/chown.m4: Use `.$ac_objext', not `.o'.
98956         * m4/fnmatch.m4: Likewise.
98957         * m4/getgroups.m4: Likewise.
98958         * m4/getline.m4: Likewise.
98959         * m4/lstat.m4: Likewise.
98960         * m4/malloc.m4: Likewise.
98961         * m4/memcmp.m4: Likewise.
98962         * m4/putenv.m4: Likewise.
98963         * m4/realloc.m4: Likewise.
98964         * m4/regex.m4: Likewise.
98965         * m4/stat.m4: Likewise.
98966         * m4/strftime.m4: Likewise.
98967         Suggestion from Alain Magloire.
98968
98969         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
98970         an argument.
98971
98972         * m4/regex.m4: Add a run-time Test for proper operation of
98973         re_compile_pattern.
98974
98975 1999-01-31  Jim Meyering  <meyering@ascend.com>
98976
98977         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
98978
98979 1999-01-30  Jim Meyering  <meyering@ascend.com>
98980
98981         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
98982
98983         * m4/jm-mktime.m4: Make this a wrapper around the official
98984         AM_FUNC_MKTIME rather than my private copy, now that the official one
98985         is up to date.
98986         * m4/mktime.m4: Remove file.
98987
98988         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
98989         * m4/uptime.m4: Likewise.
98990         * m4/uintmax_t.m4: Likewise.
98991
98992 1999-01-28  Jim Meyering  <meyering@ascend.com>
98993
98994         * m4/jm-macros.m4: Use jm_AFS.
98995         * m4/afs.m4: New file (from fileutils' configure.in).
98996
98997         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
98998         * m4/chown.m4: Likewise.
98999         * m4/d-ino.m4: Likewise.
99000         * m4/d-type.m4: Likewise.
99001         * m4/fnmatch.m4: Likewise.
99002         * m4/getgroups.m4: Likewise.
99003         * m4/gettext.m4: Likewise.
99004         * m4/jm-mktime.m4: Likewise.
99005         * m4/jm-winsz2.m4: Likewise.
99006         * m4/lcmessage.m4: Likewise.
99007         * m4/ls-mntd-fs.m4: Likewise.
99008         * m4/malloc.m4: Likewise.
99009         * m4/memcmp.m4: Likewise.
99010         * m4/putenv.m4: Likewise.
99011         * m4/realloc.m4: Likewise.
99012         * m4/st_mtim.m4: Likewise.
99013         * m4/strftime.m4: Likewise.
99014
99015 1999-01-16  Jim Meyering  <meyering@ascend.com>
99016
99017         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
99018         (ARGMATCH_DIE_DECL): Define.
99019
99020 1999-01-12  Jim Meyering  <meyering@ascend.com>
99021
99022         * m4/Makefile.am.in: Rewrite to avoid using fmt.
99023         Reported by Lars Hecking.
99024
99025 1999-01-10  Jim Meyering  <meyering@ascend.com>
99026
99027         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
99028         gross kludge.
99029         * m4/inttypes_h.m4: Likewise.
99030         * m4/lstat.m4: Likewise.
99031         * m4/malloc.m4: Likewise.
99032         * m4/readdir.m4: Likewise.
99033         * m4/realloc.m4: Likewise.
99034         * m4/st_dm_mode.m4: Likewise.
99035         * m4/stat.m4: Likewise.
99036         * m4/utimbuf.m4: Likewise.
99037         * m4/utimes.m4: Likewise.
99038
99039         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
99040         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
99041         comments in config.h.in are meaningful.
99042
99043         * m4/jm-macros.m4: Require autoconf-2.13 here.
99044
99045         * m4/regex.m4: By default, don't use the included regex.c on systems
99046         with glibc 2.  Suggestion from Uli Drepper.
99047
99048 1999-01-02  Jim Meyering  <meyering@ascend.com>
99049
99050         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
99051
99052 1998-12-18  Jim Meyering  <meyering@ascend.com>
99053
99054         * m4/Makefile.am.in (Makefile.am): Simplify rule.
99055         Based on a suggestion from Lars Hecking.
99056
99057 1998-11-16  Paul Eggert  <eggert@twinsun.com>
99058
99059         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
99060
99061 1998-11-16  Jim Meyering  <meyering@ascend.com>
99062
99063         * m4/lfs.m4: Double-quote the `uname...` expression.
99064
99065 1998-11-14  Jim Meyering  <meyering@ascend.com>
99066
99067         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
99068         * m4/stat.m4: Likewise.
99069
99070 1998-11-03  Jim Meyering  <meyering@ascend.com>
99071
99072         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
99073         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
99074
99075 1998-10-18  Jim Meyering  <meyering@ascend.com>
99076
99077         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
99078
99079 1998-10-17  Jim Meyering  <meyering@ascend.com>
99080
99081         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
99082         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
99083         calls for those previously hard-coded headers.  Instead, take a new
99084         parameter.
99085         (jm_CHECK_DECLARATIONS): Reflect interface change.
99086         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
99087         (jm_CHECK_DECL_LOCALTIME_R): New macro.
99088
99089         * m4/mktime.m4: Test for spring-forward gap before long-running test.
99090
99091 1998-10-14  Jim Meyering  <meyering@ascend.com>
99092
99093         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
99094         instead of "TZ=America/Vancouver".  From Paul Eggert.
99095
99096 1998-10-11  Jim Meyering  <meyering@ascend.com>
99097
99098         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
99099         This adds a test for a recently added compatibility fix for mktime.c.
99100         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
99101
99102 1998-09-27  Jim Meyering  <meyering@ascend.com>
99103
99104         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
99105
99106         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
99107         ../configure.in, including a change from Gordon Matzigkeit to allow
99108         cross-compiling for the Hurd.
99109
99110         * m4/glibc.m4: New file/macro to test for the GNU C Library
99111         versions 1 and 2.  From Gordon Matzigkeit.
99112         Indent.
99113
99114 1998-09-21  Jim Meyering  <meyering@ascend.com>
99115
99116         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
99117
99118 1998-08-18  Paul Eggert  <eggert@twinsun.com>
99119
99120         Port nanosecond-resolution times to UnixWare 2.1.2 and
99121         pedantic Solaris 2.6.
99122
99123         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
99124         AC_STRUCT_ST_MTIM.
99125         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
99126         Generate name of ns member, instead of just 1 or undef.
99127         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
99128
99129 1998-08-15  Jim Meyering  <meyering@ascend.com>
99130
99131         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
99132         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
99133         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
99134         instead of jm_TYPE_SSIZE_T.
99135
99136 1998-08-12  Jim Meyering  <meyering@ascend.com>
99137
99138         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
99139
99140 1998-08-02  Jim Meyering  <meyering@ascend.com>
99141
99142         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
99143         in acconfig.h manually.
99144
99145 1998-07-31  Paul Eggert  <eggert@twinsun.com>
99146
99147         * m4/st_mtim.m4: New file.
99148
99149 1998-07-28  Jim Meyering  <meyering@ascend.com>
99150
99151         * m4/utimes.m4: Undef stat.
99152
99153 1998-07-25  Jim Meyering  <meyering@ascend.com>
99154
99155         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
99156         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
99157
99158 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
99159
99160         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
99161         uid and gid actually remain unchanged.
99162
99163 1998-07-07  Jim Meyering  <meyering@ascend.com>
99164
99165         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
99166
99167 1998-07-04  Jim Meyering  <meyering@ascend.com>
99168
99169         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
99170         to prove that this macro can be used in packages without regex.c.
99171
99172 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
99173
99174         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
99175         is to be used.
99176
99177 1998-07-03  Jim Meyering  <meyering@ascend.com>
99178
99179         * m4/gettext.m4: Add -lintl if it's found to be necessary.
99180
99181         * m4/gettext.m4: New file -- from gettext-0.10.35.
99182         * m4/lcmessage.m4: Likewise.
99183         * m4/progtest.m4: Likewise.
99184
99185         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
99186         * m4/jm-macros.m4: Require the new macro.
99187
99188 1998-06-29  Jim Meyering  <meyering@ascend.com>
99189
99190         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
99191         for the definition of NGROUPS (used in a system header included
99192         by sys/mount.h).
99193
99194 1998-06-28  Jim Meyering  <meyering@ascend.com>
99195
99196         * m4/ls-mntd-fs.m4: New file.
99197         * m4/fstypename.m4: New file.
99198
99199         * m4/jm-macros.m4: Require the new macro.
99200         * m4/jm-glibc-io.m4: New file.
99201
99202 1998-05-19  Jim Meyering  <meyering@ascend.com>
99203
99204         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
99205         * m4/lchown.m4: New file.
99206
99207         * m4/Makefile.am.in: New file.
99208         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
99209
99210 1998-05-14  Jim Meyering  <meyering@ascend.com>
99211
99212         * m4/Makefile.am (EXTRA_DIST): Add them.
99213         * m4/jm-macros.m4: New file.
99214         * m4/utimbuf.m4: New file.
99215
99216 1998-05-12  Jim Meyering  <meyering@ascend.com>
99217
99218         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
99219
99220 1998-05-11  Jim Meyering  <meyering@ascend.com>
99221
99222         * m4/isc-posix.m4: New file.
99223
99224 1998-05-10  Jim Meyering  <meyering@ascend.com>
99225
99226         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
99227
99228 1998-05-09  Jim Meyering  <meyering@ascend.com>
99229
99230         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
99231         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
99232         with automake.
99233
99234         * m4/ssize_t.m4: New file.
99235         * m4/mktime.m4: Remove file -- the new automake has this now.
99236
99237 1998-04-26  Jim Meyering  <meyering@ascend.com>
99238
99239         * m4/assert.m4: New file.
99240         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
99241
99242 1998-04-05  Jim Meyering  <meyering@ascend.com>
99243
99244         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
99245         (jm_PREREQ): Use it here.
99246
99247 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
99248
99249         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
99250         in acconfig.h.
99251
99252 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
99253
99254         * m4/prereq.m4: New file.
99255         * m4/error.m4: New file.
99256         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
99257
99258 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
99259
99260         * m4/getline.m4: Don't set am_cv_func_working_getline before the
99261         cache-check for the same variable -- that defeated the purpose of
99262         the test; the test program was never run.  This was a problem only
99263         on systems with losing getline functions -- HP-UX 10.20 is one.
99264         Reported by Bjorn Helgaas.
99265
99266 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
99267
99268         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
99269
99270 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
99271
99272         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
99273
99274         * m4/const.m4: New file.  Use an initializer in this declaration
99275         typedef int charset[2]; const charset x;
99276         Reported by Bob Glickstein.
99277
99278 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
99279
99280         * m4/chown.m4: Fix reversed types on -1 args to chown.
99281         From Kaveh Ghazi.
99282
99283 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
99284
99285         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
99286         Add lseek and memchr.
99287
99288         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
99289         T.E.Dickey <dickey@clark.net> said that some older preprocessors
99290         have a 20-character limit on names.
99291
99292 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
99293
99294         * m4/inttypes_h.m4: New file.
99295         * m4/uintmax_t.m4: New file.
99296         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
99297
99298
99299         -----
99300
99301         Local Variables:
99302         coding: utf-8
99303         End:
99304
99305         Copyright (C) 1997-2013 Free Software Foundation, Inc.
99306
99307         Copying and distribution of this file, with or without
99308         modification, are permitted provided the copyright notice
99309         and this notice are preserved.